|
Boost Testing : |
From: Caleb Epstein (caleb.epstein_at_[hidden])
Date: 2005-02-03 15:24:47
I'm running into numerous examples of the regression test programs
hanging/crashing today due to what may be a problem with
basic_wrap_stringstream. Here's an example:
/home/nbde52d/src/boost-regression/results/bin/boost/libs/assign/test/my_vector_example.test/sunpro-5_3/debug/my_vector_example
--log_level=all
Running 1 test case...
Entering test suite "List Test Suite"
Entering test case "check_list_inserter"
../libs/assign/test/my_vector_example.cpp(98): info: test vec.size()
== 10u passed.
Exception in "check_list_inserter": signal: memory access violation
/home/nbde52d/src/boost-regression/boost/boost/test/impl/unit_test_suite.ipp(179):
fatal error in "check_list_inserter": Testing aborted
Leaving test case "check_list_inserter"
Leaving test suite "List Test Suite"
*** errors detected in test suite "List Test Suite"; see standard
output for details
Here's a stack trace from dbx (same program):
(/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) run
Running: my_vector_example
(process id 10116)
Running 1 test case...
signal SEGV (no mapping at the fault address) in _free_unlocked at 0x7fa42bbc
0x7fa42bbc: _free_unlocked+0x0040: ld [%i0 - 0x8], %o0
Current function is boost::test_tools::predicate_result::~predicate_result
47 ~predicate_result() { delete m_message; }
(/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) where
[1] _free_unlocked(0x2000, 0x7fabc008, 0x2000, 0x7fabc008, 0x22310, 0x7fa42b64
), at 0x7fa42bbc
[2] free(0x2000, 0x5, 0x5, 0x7fabc008, 0x22310, 0x7fa42b64), at 0x7fa42b6c
[3] operator delete(0x2000, 0x7fabc008, 0x0, 0x7fabc008, 0x22310, 0x7fa42b64),
at 0x7fb46260
[4] std::basic_stringbuf<char,std::char_traits<char>,std::allocator<char> >::~
basic_stringbuf(0xffbedb60, 0xffbed7b0, 0x34a68, 0x2, 0x222e8, 0x7fb46260), at 0
x71630
[5] std::basic_ostringstream<char,std::char_traits<char>,std::allocator<char>
>::~basic_ostringstream(0xffbedb58, 0xffffffff, 0x60, 0xa1768, 0x220b8, 0x4d774)
, at 0x66450
[6] boost::basic_wrap_stringstream<char>::~basic_wrap_stringstream(0xffbedb58,
0xa0034, 0xa11bc, 0xffbed838, 0x2f8, 0xa1490), at 0x38250
=>[7] boost::test_tools::predicate_result::~predicate_result(this = 0xffbed88c),
line 47 in "predicate_result.hpp"
[8] check_list_inserter(), line 98 in "my_vector_example.cpp"
[9] boost::unit_test::function_test_case::do_run(this = 0xab248), line 138 in
"unit_test_suite.hpp"
[10] boost::unit_test::ut_detail::unit_test_monitor::function(this = 0xa0a10),
line 79 in "unit_test_monitor.ipp"
[11] boost::execution_monitor::run_function(this = 0xa0a10), line 197 in "exec
ution_monitor.ipp"
[12] boost::detail::catch_signals(exmon = CLASS, catch_system_errors = true, t
imeout = 0), line 418 in "execution_monitor.ipp"
[13] boost::execution_monitor::execute(this = 0xa0a10, catch_system_errors = t
rue, timeout = 0), line 223 in "execution_monitor.ipp"
[14] boost::unit_test::ut_detail::unit_test_monitor::execute_and_translate(thi
s = 0xa0a10, target_test_case = 0xab248, f = 0xffbee024, timeout = 0), line 46 i
n "unit_test_monitor.ipp"
[15] boost::unit_test::test_case::run(this = 0xab248), line 173 in "unit_test_
suite.ipp"
[16] boost::unit_test::test_suite::do_run(this = 0xab168), line 277 in "unit_t
est_suite.ipp"
[17] boost::unit_test::test_case::run(this = 0xab168), line 186 in "unit_test_
suite.ipp"
[18] main(argc = 1, argv = 0xffbee4dc), line 84 in "unit_test_main.ipp"
-- Caleb Epstein caleb dot epstein at gmail dot com