Boost logo

Boost Users :

From: Jeff Lounsberry (jeff_at_[hidden])
Date: 2005-08-17 15:32:32


I'm getting a segfault in Boost when I go to use mutexes. I built the
Boost unit test for threads with the following:

bjam "-sTOOLS=gcc" "-sBUILD debug <runtime-link>static <threading>multi"

In Boost 1.32 there are errors with text_mutex_lib:
root_at_unstable:~/scratch/boost_1_32_0/bin/boost/libs/thread/test/test_mutex_lib.test/gcc/debug/runtime-link-static/threading-multi> ./test_mutex_lib
Running 6 test cases...
Exception in "test_try_mutex": signal: memory access violation
/root/scratch/boost_1_32_0/libs/test/build/../src/unit_test_suite.cpp(150): fatal error in "test_try_mutex": Testing aborted
Exception in "test_recursive_mutex": signal: memory access violation
/root/scratch/boost_1_32_0/libs/test/build/../src/unit_test_suite.cpp(150): fatal error in "test_recursive_mutex": Testing aborted
Exception in "test_recursive_try_mutex": signal: memory access violation
/root/scratch/boost_1_32_0/libs/test/build/../src/unit_test_suite.cpp(150): fatal error in "test_recursive_try_mutex": Testing aborted
Exception in "test_recursive_timed_mutex": signal: memory access
violation
/root/scratch/boost_1_32_0/libs/test/build/../src/unit_test_suite.cpp(150): fatal error in "test_recursive_timed_mutex": Testing aborted

*** errors detected in test suite "Boost.Threads: mutex test suite"; see
standard output for details

[---]

In Boost 1.32 there are errors with test_xtime_lib:
root_at_unstable:~/scratch/boost_1_32_0/bin/boost/libs/thread/test/test_xtime_lib.test/gcc/debug/runtime-link-static/threading-multi> ./test_xtime_lib
Running 2 test cases...
Exception in "test_xtime_cmp": signal: memory access violation
/root/scratch/boost_1_32_0/libs/test/build/../src/unit_test_suite.cpp(150): fatal error in "test_xtime_cmp": Testing aborted
Exception in "test_xtime_get": signal: memory access violation
/root/scratch/boost_1_32_0/libs/test/build/../src/unit_test_suite.cpp(150): fatal error in "test_xtime_get": Testing aborted

*** errors detected in test suite "Boost.Threads: xtime test suite"; see
standard output for details
Segmentation fault

[---]

In Boost 1.33 there are errors with test_mutex_lib:
root_at_unstable:~/scratch/boost_1_33_0/bin/boost/libs/thread/test/test_mutex_lib.test/gcc/debug/runtime-link-static/threading-multi> ./test_mutex_lib
Running 6 test cases...
unknown location(0): fatal error in "test_try_mutex": signal: memory
access violation

*** errors detected in test suite "Boost.Threads: mutex test suite"; see
standard output for details

[--]
In Boost 1.33 there are no errors with test_xtime_lib:
root_at_unstable:~/scratch/boost_1_33_0/bin/boost/libs/thread/test/test_xtime_lib.test/gcc/debug/runtime-link-static/threading-multi> ./test_xtime_lib
Running 2 test cases...

*** No errors detected

Well then, i'm thoroughly confused. It seems the unit test Boost has are
making calls to libthreaddb.so (NPTL).

Anyone have any ideas? I've reproduced this on 2 machines (opterons
246), 2 distros now. What really boggles me is that the one xtime test
works on 1.33 but the mutex test doesn't. Simple mutex calls work fine
however. Are these specific problems with the test or something deeper?
I've seen no discussion on the mailing list.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net