[test][1.47] Test cases segfault after completion
Hi! When compiling my test cases with 1.47 (no matter if dynamically or statically linked) they fail. Not the test cases themselves, but a segfault after the test case is done. The very same code compiled with r73480 executes as expected. HTH, Thomas Please find relevant valgrind output attached: Running 1 test case... *** No errors detected ==11042== Invalid write of size 8 ==11042== at 0x481152: execution_monitor_jumping_signal_handler (in /discs/rest/home/anubis/CPP/mdy- svn/gepetto/branches/build/g2_147/source/hoost/3d/test-unit__vec3d) ==11042== by 0x851380F: ??? (in /lib/libc-2.14.so) ==11042== by 0x85B3F44: shutdown (in /lib/libc-2.14.so) ==11042== by 0xC6FE47F: ??? (in /usr/lib/openmpi/openmpi/mca_oob_tcp.so) ==11042== by 0x78491EE: mca_oob_base_close (in /usr/lib/openmpi/libmpi.so.1.0.1) ==11042== by 0x788D61A: mca_base_components_close (in /usr/lib/openmpi/libmpi.so.1.0.1) ==11042== by 0x7861C09: orte_rml_base_close (in /usr/lib/openmpi/libmpi.so.1.0.1) ==11042== by 0x7831B69: orte_ess_base_app_finalize (in /usr/lib/openmpi/libmpi.so.1.0.1) ==11042== by 0xC4F579D: ??? (in /usr/lib/openmpi/openmpi/mca_ess_singleton.so) ==11042== by 0x7805067: orte_finalize (in /usr/lib/openmpi/libmpi.so.1.0.1) ==11042== by 0x77B1174: ??? (in /usr/lib/openmpi/libmpi.so.1.0.1) ==11042== by 0x70B4881: boost::mpi::environment::~environment() (in /usr/lib/libboost_mpi.so.1.47.0) ==11042== Address 0xa98 is not stack'd, malloc'd or (recently) free'd
Thomas Taylor
Hi!
When compiling my test cases with 1.47 (no matter if dynamically or statically linked) they fail. Not the test cases themselves, but a segfault after the test case is done. The very same code compiled with r73480 executes as expected.
* I did not make any changes for quite some time. * valgrind output suggests that an error comes from boost::mpi Gennadiy
Gennadiy Rozental wrote:
Thomas Taylor
writes: Hi!
When compiling my test cases with 1.47 (no matter if dynamically or statically linked) they fail. Not the test cases themselves, but a segfault after the test case is done. The very same code compiled with r73480 executes as expected.
* I did not make any changes for quite some time. According to my diff there are quite a few changes between 1.47 and r73480, but maybe I got it wrong.
* valgrind output suggests that an error comes from boost::mpi Fair enough, I redid the test cases without mpi and you are perfectly right: the test cases work.
Somehow I was convinced that boost::test was at fault and not boost::mpi. Guess one should look twice first and be convinced only afterwards. Cheers, Thomas
participants (2)
-
Gennadiy Rozental
-
Thomas Taylor