Opened 11 years ago
Closed 10 years ago
#5682 closed Bugs (invalid)
BOOST_TEST_REPORT_LEVEL and BOOST_TEST_LOG_LEVEL crash on Mac OS X with g++ 4.6.1
Reported by: | Owned by: | Gennadiy Rozental | |
---|---|---|---|
Milestone: | To Be Determined | Component: | test |
Version: | Boost 1.46.1 | Severity: | Regression |
Keywords: | Cc: |
Description
Using the environment setting BOOST_TEST_REPORT_LEVEL=detailed
and BOOST_TEST_LOG_LEVEL=all
frees an unallocated pointer on mac os x when running simple boost unit tests compiled with g++ 4.6.1; standard g++ 4.2.1 has not this problem:
$ g++ -DBOOST_TEST_DYN_LINK -I/opt/local/include -L/opt/local/lib -lboost_unit_test_framework-mt boost_test.cxx $ ./a.out Running 1 test case... *** No errors detected $ BOOST_TEST_REPORT_LEVEL=detailed BOOST_TEST_LOG_LEVEL=all ./a.out Running 1 test case... Entering test suite "boost_test" Entering test case "mytest" boost_test.cxx:4: info: check true passed Leaving test case "mytest"; testing time: 40mks Leaving test suite "boost_test" Test suite "boost_test" passed with: 1 assertion out of 1 passed 1 test case out of 1 passed Test case "mytest" passed with: 1 assertion out of 1 passed
Compiling with g++ 4.6.1 gives
$ g++-mp-4.6 -DBOOST_TEST_DYN_LINK -I/opt/local/include -L/opt/local/lib -lboost_unit_test_framework-mt boost_test.cxx $ ./a.out Running 1 test case... *** No errors detected $ BOOST_TEST_REPORT_LEVEL=detailed BOOST_TEST_LOG_LEVEL=all ./a.out a.out(46920) malloc: *** error for object 0x7fff71199500: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug Abort trap
A backtrace does not give too much information:
$ BOOST_TEST_REPORT_LEVEL=detailed BOOST_TEST_LOG_LEVEL=all gdb ./a.out [...] (gdb) break malloc_error_break Breakpoint 1 at 0x4189374bb83499 (gdb) run Starting program: /Users/tkren/a.out Reading symbols for shared libraries ++++.. done a.out(73567) malloc: *** error for object 0x7fff71199500: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug Breakpoint 1, 0x00007fff870a5499 in malloc_error_break () (gdb) backtrace #0 0x00007fff870a5499 in malloc_error_break () #1 0x00007fff86fcf183 in free () #2 0x000000010019c261 in std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::overflow ()
Attachments (1)
Change History (5)
by , 11 years ago
Attachment: | boost_test.cxx added |
---|
comment:1 by , 11 years ago
Summary: | BOOST_TEST_REPORT_LEVEL and BOOST_TEST_LOG_LEVEL crash on Mac OS X with g++ 4.6.1.1 → BOOST_TEST_REPORT_LEVEL and BOOST_TEST_LOG_LEVEL crash on Mac OS X with g++ 4.6.1 |
---|
comment:2 by , 11 years ago
I do not have access to MacOS. Works fine with gcc 4.6.1 under Ubuntu. backtrace points to the system iostreams. I will not be able to move any further without more information, but I doubt frankly this is Boost.Test issue.
comment:4 by , 10 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
I do not have an access to Macs and it works fine both in regression tests and on Linux with similar setup. I do not see any indication yet this is Boost.Test issue. Once you have patch or more concrete pointer to the error in a code please resubmit the issue
BOOST_TEST_REPORT_LEVEL bug on mac os x