#2818: failing tests with gcc-14
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component: EinsteinToolkit thorn
Comment (by Erik Schnetter):
I don’t know. It might be that the compiler doesn’t know that we’re constructing a vector of size 3 and is worried that there might be uninitialized entries if we construct a larger vector.
If you want to apply the change, can you rename the new variable? Variable names starting with an underscore and then an upper case letter shouldn’t be used by an application. I usually append a `1` at the end instead.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2818/failing-tests-wit…
#2831: ExternalLibraries/MPI creates MPI_INC_DIRS that have double quotes in their value
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: minor
Component: EinsteinToolkit thorn
ExternalLibraries/MPI’s `detect.pl` script creates entries in `make.MPI.defn` like this \(on stampede3\):
```
MPI_DIR = /opt/intel/oneapi/mpi/2021.11
MPI_INC_DIRS = "/opt/intel/oneapi/mpi/2021.11/include"
MPI_LIB_DIRS = "/opt/intel/oneapi/mpi/2021.11/lib"
MPI_LIBS = mpicxx mpifort mpi rt pthread dl
```
which is incorrect since make makes the double quotes part of the variables value. This is usually safe when used in the shell since `-L"Foo"` is the same as `-LFoo` but fails with Silo which stores the options in a string \(and does not escape embedded quotes\).
Since make does not handle spaces well anyway `detect.pl` should not output any quotes since the paths will never contain one.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2831/externallibraries…
#2818: failing tests with gcc-14
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
@{557058:56049c54-f8c2-4b6c-9b88-ab697c967495} do you have any idea if this a bug in gcc-14 and I am just perturbing it out of existence or if there really is something wrong with constructing a temporary `vect<bool, bim>` in place when calling `point_desc`?
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2818/failing-tests-wit…
#2818: failing tests with gcc-14
Reporter: Roland Haas
Status: new
Milestone:
Version:
Type: bug
Priority: major
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
The issue seems to be related to `loop.hxx` and its code:
```c++
190 const PointDesc p =
191 point_desc({CI, CJ, CK}, I, iter, NI, I0, BI, bnd_min, bnd_max,
192 loop_min, loop_max);
```
where the first arguments gets passed as `vect<bool, dim>&`. Changing to code to have an explicit variable:
```
const vect<bool, dim> _CI{CI,CJ,CK};
```
and passing that one for the first argument makes the tests pass.
Without the explicit variable gcc-14 emits a warning:
```text
In lambda function,
inlined from ?constexpr std::array<_Tp, _Nm> Arith::construct_array(const F&) [with T = bool; long unsigned int N = 1; F = vect<bool, 3>::vect(std::initializer_list<bool>)::<lambda(size_t)>]? at /data/rhaas/postdoc/gr/cactus/ET_trunk
/arrangements/CarpetX/Arith/src/vect.hxx:94:57,
inlined from ?constexpr std::array<_Tp, _Nm> Arith::construct_array(const F&) [with T = bool; long unsigned int N = 2; F = vect<bool, 3>::vect(std::initializer_list<bool>)::<lambda(size_t)>]? at /data/rhaas/postdoc/gr/cactus/ET_trunk
/arrangements/CarpetX/Arith/src/vect.hxx:94:51,
inlined from ?constexpr std::array<_Tp, _Nm> Arith::construct_array(const F&) [with T = bool; long unsigned int N = 3; F = vect<bool, 3>::vect(std::initializer_list<bool>)::<lambda(size_t)>]? at /data/rhaas/postdoc/gr/cactus/ET_trunk
/arrangements/CarpetX/Arith/src/vect.hxx:94:51,
inlined from ?constexpr Arith::vect<T, D>::vect(std::initializer_list<_Tp>) [with T = bool; int D = 3]? at /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Arith/src/vect.hxx:139:35,
inlined from ?void Loop::GridDescBase::loop_box(const Arith::vect<int, 3>&, const Arith::vect<int, 3>&, const Arith::vect<int, 3>&, const Arith::vect<int, 3>&, const F&) const [with int CI = 1; int CJ = 1; int CK = 1; int VS = 1; int
N = 1; F = TestProlongate::TestProlongate_Regrid(cGH*)::<lambda(const Loop::PointDesc&)>]? at /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Loop/src/loop.hxx:191:27,
inlined from ?void Loop::GridDescBase::loop_int(const Arith::vect<int, 3>&, const F&) const [with int CI = 1; int CJ = 1; int CK = 1; int VS = 1; int N = 1; F = TestProlongate::TestProlongate_Regrid(cGH*)::<lambda(const Loop::PointDe
sc&)>]? at /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Loop/src/loop.hxx:276:32,
inlined from ?std::enable_if_t<(where == Loop::where_t::interior), void> Loop::GridDescBase::loop(const Arith::vect<int, 3>&, const F&) const [with int CI = 1; int CJ = 1; int CK = 1; Loop::where_t where = Loop::where_t::interior; F
= TestProlongate::TestProlongate_Regrid(cGH*)::<lambda(const Loop::PointDesc&)>]? at /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Loop/src/loop.hxx:650:25,
inlined from ?void Loop::GridDescBase::loop(const F&) const [with int CI = 1; int CJ = 1; int CK = 1; Loop::where_t where = Loop::where_t::interior; F = TestProlongate::TestProlongate_Regrid(cGH*)::<lambda(const Loop::PointDesc&)>]?
at /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Loop/src/loop.hxx:711:28,
inlined from ?void Loop::loop(const cGH*, const F&) [with int CI = 1; int CJ = 1; int CK = 1; where_t where = Loop::where_t::interior; F = TestProlongate::TestProlongate_Regrid(cGH*)::<lambda(const PointDesc&)>]? at /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Loop/src/loop.hxx:770:47,
inlined from ?void Loop::loop_int(const cGH*, const F&) [with int CI = 1; int CJ = 1; int CK = 1; F = TestProlongate::TestProlongate_Regrid(cGH*)::<lambda(const PointDesc&)>]? at /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Loop/src/loop.hxx:786:38,
inlined from ?void TestProlongate::TestProlongate_Regrid(cGH*)? at /data/rhaas/postdoc/gr/cactus/ET_trunk/configs/tests/build/TestProlongate/test.cxx:236:26:
/data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Arith/src/vect.hxx:143:31: warning: ?<anonymous>? may be used uninitialized [-Wmaybe-uninitialized]
143 | return lst.begin()[d];
| ^
/data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Loop/src/loop.hxx: In function ?void TestProlongate::TestProlongate_Regrid(cGH*)?:
/data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CarpetX/Loop/src/loop.hxx:177:9: note: ?<anonymous>? declared here
177 | #pragma omp simd
| ^~~
```
So this change:
```diff
diff --git a/Loop/src/loop.hxx b/Loop/src/loop.hxx
index 0aaa290c..0cb82580 100644
--- a/Loop/src/loop.hxx
+++ b/Loop/src/loop.hxx
@@ -187,8 +187,9 @@ public:
// Outward boundary normal (if on outermost interior point), else 0
const vect<int, dim> BI =
vect<int, dim>(I == bnd_max - 1) - vect<int, dim>(I == bnd_min);
+ const vect<bool, dim> _CI{CI, CJ, CK};
const PointDesc p =
- point_desc({CI, CJ, CK}, I, iter, NI, I0, BI, bnd_min, bnd_max,
+ point_desc(_CI, I, iter, NI, I0, BI, bnd_min, bnd_max,
loop_min, loop_max);
f(p);
}
```
makes the tests pass, though I am not quite sure why.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2818/failing-tests-wit…
#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas
Status: resolved
Milestone: ET_2024_11
Version:
Type: bug
Priority: blocker
Component: EinsteinToolkit thorn
Changes (by Roland Haas):
status: resolved (was new)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-o…
#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas
Status: new
Milestone: ET_2024_11
Version:
Type: bug
Priority: blocker
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
Please review.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-o…