Boost logo

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:

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
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
  [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
  [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
  [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_
  [16] boost::unit_test::test_suite::do_run(this = 0xab168), line 277 in "unit_t
  [17] boost::unit_test::test_case::run(this = 0xab168), line 186 in "unit_test_
  [18] main(argc = 1, argv = 0xffbee4dc), line 84 in "unit_test_main.ipp"

Caleb Epstein
caleb dot epstein at gmail dot com

Boost-testing list run by mbergal at