#1473: Carpet segfaults in Shutdown --------------------+------------------------------------------------------- Reporter: knarf | Owner: eschnett Type: defect | Status: new Priority: minor | Milestone: Component: Carpet | Version: development version Keywords: | --------------------+------------------------------------------------------- For high numbers of threads, Carpet segfaults in Shutdown for the testsuite CarpetWaveToyNewRecover_test_1proc. I tried this with gcc and intel on a Debian system. The machine I run this on (spine, with the default simfactory configurations) has 2 processors with 8 cores, and ht enabled. When I run this testsuite with 1 mpi process but certain numbers of threads (e.g. 9, 11, 16) I see this segfault. Which number triggers the bug seems to depend on the compiler, but seems to be consistent within tries.
The backtrace I see is, e.g.,: {{{ 1. CarpetLib::signal_handler(int) [/home/knarf/ET_2013_11/exe/cactus_sim(_ZN9CarpetLib14signal_handlerEi+0xeb) [/home/knarf/ET_2013_11/configs/sim/build/CarpetLib/backtrace.cc:542] 2. /lib/x86_64-linux-gnu/libc.so.6(+0x324f0) [??:0] 3. /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [??:0] 4. /lib/x86_64-linux-gnu/libc.so.6(abort+0x180) [??:0] 5. /lib/x86_64-linux-gnu/libc.so.6(+0x6d52b) [??:0] 6. /lib/x86_64-linux-gnu/libc.so.6(+0x76d76) [??:0] 7. /lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c) [??:0] 8. mem<double>::~mem() [/home/knarf/ET_2013_11/exe/cactus_sim(_ZN3memIdED1Ev+0x80) [/home/knarf/ET_2013_11/configs/sim/build/CarpetLib/mem.cc:185] 9. data<double>::free() [/home/knarf/ET_2013_11/exe/cactus_sim(_ZN4dataIdE4freeEv+0x4b) [/home/knarf/ET_2013_11/configs/sim/build/CarpetLib/data.cc:549] a. data<double>::~data() [/home/knarf/ET_2013_11/exe/cactus_sim(_ZN4dataIdED1Ev+0x27) [/home/knarf/ET_2013_11/configs/sim/build/CarpetLib/data.cc:487] b. data<double>::~data() [/home/knarf/ET_2013_11/exe/cactus_sim(_ZN4dataIdED0Ev+0x9) [/home/knarf/ET_2013_11/configs/sim/build/CarpetLib/data.cc:487] c. ggf::recompose_free(int) [/home/knarf/ET_2013_11/exe/cactus_sim(_ZN3ggf14recompose_freeEi+0x1ae) [/home/knarf/ET_2013_11/configs/sim/build/CarpetLib/ggf.cc:257] d. ggf::~ggf() [/home/knarf/ET_2013_11/exe/cactus_sim(_ZN3ggfD1Ev+0xde) [/home/knarf/ET_2013_11/configs/sim/build/CarpetLib/ggf.cc:70] e. gf<double>::~gf() [/home/knarf/ET_2013_11/exe/cactus_sim(_ZN2gfIdED0Ev+0x9) [/home/knarf/ET_2013_11/configs/sim/build/CarpetLib/gf.cc:30] f. Carpet::Shutdown(tFleshConfig*) [/home/knarf/ET_2013_11/exe/cactus_sim(_ZN6Carpet8ShutdownEP12tFleshConfig+0x3ad) [/home/knarf/ET_2013_11/configs/sim/build/Carpet/Shutdown.cc:102] 10. /home/knarf/ET_2013_11/exe/cactus_sim(main+0x49) [/home/knarf/ET_2013_11/configs/sim/build/Cactus/main/flesh.cc:92] 11. /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [??:0] 12. /home/knarf/ET_2013_11/exe/cactus_sim() [??:0] }}}
Marking as minor because this is in Shutdown, however if something would actually check for this it might break workflows.