[ https://issues.apache.org/jira/browse/STDCXX-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581762#action_12581762 ] Martin Sebor commented on STDCXX-709: ------------------------------------- It might be relevant that the [0.new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/self/0.new.cpp] test fails with a bunch of errors (see below). In optimized builds there's also an ominous warning when compiling [new.cpp|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/src/new.cpp] -- see STDCXX-761. {noformat} $ ./0.new -q # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:558: deallocation mismatch: pointer allocated 10th in the program with a call to operator new(0) being deallocated with the wrong form of operator delete[](0x6000000000022270) # LINE: 553 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:558: deallocation mismatch: pointer allocated 11st in the program with a call to operator new(1) being deallocated with the wrong form of operator delete[](0x60000000000474d0) # LINE: 553 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:558: deallocation mismatch: pointer allocated 12nd in the program with a call to operator new[](33) being deallocated with the wrong form of operator delete(0x6000000000013970) # LINE: 553 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete (0x60000000000474d0): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete[] (0x600000000001c1c0): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete (0x600000000001c1c0): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete (0x60000000000474cf): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete (0x60000000000474d1): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete (0x60000000000474cf): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete (0x60000000000474d1): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete (0x60000000000474d2): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete (0x60000000000474d3): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete (0x60000000000474d4): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete[] (0x60000000000474cf): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete[] (0x60000000000474d1): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete[] (0x60000000000474d2): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete[] (0x60000000000474d3): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete[] (0x60000000000474d4): invalid pointer # LINE: 209 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:173: trailing guard corruption at 0x60000000000474d0 + 2 of a 1 byte block: '0x 7' != '0xf8' # LINE: 170 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:173: trailing guard corruption at 0x60000000000474d0 + 3 of a 1 byte block: '0x 6' != '0xf9' # LINE: 170 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:173: trailing guard corruption at 0x60000000000474d0 + 4 of a 1 byte block: '0x 5' != '0xfa' # LINE: 170 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:173: trailing guard corruption at 0x60000000000474d0 + 5 of a 1 byte block: '0x 4' != '0xfb' # LINE: 170 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:173: trailing guard corruption at 0x60000000000474d0 + 6 of a 1 byte block: '0x 3' != '0xfc' # LINE: 170 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:173: trailing guard corruption at 0x60000000000474d0 + 7 of a 1 byte block: '0x 2' != '0xfd' # LINE: 170 # ERROR (S8) (3 lines): # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:173: trailing guard corruption at 0x60000000000474d0 + 8 of a 1 byte block: '0x 1' != '0xfe' # LINE: 170 # +-----------------------+----------+----------+----------+ # | DIAGNOSTIC | ACTIVE | TOTAL | INACTIVE | # +-----------------------+----------+----------+----------+ # | (S1) INFO | 51 | 51 | 0% | # | (S7) ASSERTION | 0 | 26 | 100% | # | (S8) ERROR | 25 | 25 | 0% | # +-----------------------+----------+----------+----------+ {noformat} > [HP aCC 6.15/HP-UX/IPF] SIGABRT in 23.list.assign et al > ------------------------------------------------------- > > Key: STDCXX-709 > URL: https://issues.apache.org/jira/browse/STDCXX-709 > Project: C++ Standard Library > Issue Type: Bug > Components: Tests > Affects Versions: 4.2.0 > Environment: HP-UX B.11.31 ia64 > aCC: HP C/aC++ B3910B A.06.15 [May 16 2007] > Reporter: Martin Sebor > Assignee: Eric Lemings > Fix For: 4.2.1 > > Original Estimate: 4h > Time Spent: 2.5h > Remaining Estimate: 1.5h > > When compiled with HP aCC 6 on HP-UX/IPF several of our container tests abend with SIGABRT. Here's a portion of the table copied from a stdcxx-4.2.0 build log [hpux-11.23-ia64-acc-6.13-15D-569584-log.gz.txt|http://people.apache.org/~sebor/stdcxx-4.2.0/results/hpux-11.23-ia64-acc-6.13-15D-569584-log.gz.txt] > {noformat} > 23.deque.iterators 0 0 4915404 0 100% 2.500 0.010 2.550 > 23.deque.modifiers ABRT 0 0.010 0.010 0.490 > 23.deque.special 0 0 61465 1536 97% 1.210 0.200 1.470 > 23.deque.special.stdcxx-127 NOUT 0 0.010 0.000 0.030 > 23.list.assign ABRT 0 3.320 0.080 3.980 > 23.list.capacity ABRT 0 0.280 0.020 0.720 > 23.list.cons ABRT 0 1.110 0.030 1.660 > 23.list.cons.stdcxx-268 NOUT 0 0.010 0.010 0.020 > 23.list.erase ABRT 0 0.120 0.010 0.610 > 23.list.insert ABRT 0 4.590 0.100 5.180 > 23.list.insert.stdcxx-331 NOUT 0 0.010 0.000 0.020 > 23.list.iterators ABRT 0 0.200 0.020 0.710 > 23.list.special ABRT 0 0.210 0.010 0.670 > 23.list.special.stdcxx-334 NOUT 0 0.010 0.010 0.020 > 23.vector.capacity 0 0 858592 0 100% 0.840 0.000 0.880 > 23.vector.cons 0 0 9 0 100% 0.010 0.010 0.060 > 23.vector.modifiers 0 0 16030 0 100% 0.250 0.080 0.370 > {noformat} > Here's the output of one of them: > {noformat} > $ nice gmake -r 23.list.assign && ./23.list.assign -q > HP-UX B.11.31 ia64 > aCC: HP C/aC++ B3910B A.06.15 [May 16 2007] > aCC -c -D_RWSTDDEBUG -mt -I/amd/devco/sebor/stdcxx/include \ > -I/build/sebor/stdcxx-aCC-6.15-15D/include -I/amd/devco/sebor/stdcxx/tests/include \ > -AA -g +d +DD64 +w +W392 +W655 +W684 +W818 +W819 +W849 +W2193 +W2236 \ > +W2261 +W2340 +W2401 +W2487 +W4227 +W4229 +W4231 +W4235 +W4237 +W4249 \ > +W4255 +W4272 +W4284 +W4285 +W4286 \ > /amd/devco/sebor/stdcxx/tests/containers/23.list.assign.cpp > aCC 23.list.assign.o -o 23.list.assign -L/build/sebor/stdcxx-aCC-6.15-15D/rwtest \ > -lrwtest15D -AA +nostl -Wl,+s -mt +DD64 -L/build/sebor/stdcxx-aCC-6.15-15D/lib \ > -Wl,+b/build/sebor/stdcxx-aCC-6.15-15D/lib:/build/sebor/stdcxx-aCC-6.15-15D/rwtest \ > -lstd15D -lm > rm 23.list.assign.o > # ERROR (S8) (4 lines): > # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete[] (0x600000000003d288): invalid pointer > # CLAUSE: lib.list.assign > # LINE: 209 > ABORT instruction (core dumped) > {noformat} > The [HP wdb|http://www.hp.com/go/wdb] stack trace is below: > {noformat} > $ gdb 23.list.assign > HP gdb 5.7 for HP Itanium (32 or 64 bit) and target HP-UX 11.2x. > Copyright 1986 - 2001 Free Software Foundation, Inc. > Hewlett-Packard Wildebeest 5.7 (based on GDB) is covered by the > GNU General Public License. Type "show copying" to see the conditions to > change it and/or distribute copies. Type "show warranty" for warranty/support. > .. > (gdb) run -q > Starting program: /build/sebor/stdcxx-aCC-6.15-15D/tests/23.list.assign -q > # ERROR (S8) (4 lines): > # TEXT: /amd/devco/sebor/stdcxx/tests/src/new.cpp:211: operator delete[] (0x600000000003d288): invalid pointer > # CLAUSE: lib.list.assign > # LINE: 209 > Program received signal SIGABRT, Aborted > si_code: 0 - . > 0x9fffffffef33beb0:0 in _lwp_kill+0x30 () from /usr/lib/hpux64/libpthread.so.1 > (gdb) where > #0 0x9fffffffef33beb0:0 in _lwp_kill+0x30 () > from /usr/lib/hpux64/libpthread.so.1 > #1 0x9fffffffef2a80a0:0 in pthread_kill+0x900 () > from /usr/lib/hpux64/libpthread.so.1 > #2 0x9fffffffeeff4400:0 in raise+0xe0 () from /usr/lib/hpux64/libc.so.1 > #3 0x9fffffffef0f0db0:0 in abort+0x170 () from /usr/lib/hpux64/libc.so.1 > #4 0x4000000000118430:0 in _rw_find_block (ptr=0x600000000003d288, > check_heap=true, caller=0x400000000009b470 "operator delete[]") > at /amd/devco/sebor/stdcxx/tests/src/new.cpp:215 > #5 0x400000000011a160:0 in operator_delete (ptr=0x600000000003d288, > array=true) at /amd/devco/sebor/stdcxx/tests/src/new.cpp:506 > warning: > ERROR: Use the "objectdir" command to specify the search > path for objectfile 23.list.assign.o. > If NOT specified will behave as a non -g compiled binary. > #6 0x40000000000b8c80:0 in operator delete[](void*)+0x30 () > #7 0x9fffffffef39ced0:0 in __cxa_vec_delete2+0x90 () > from /usr/lib/hpux64/libCsup.so.1 > #8 0x4000000000104ed0:0 in ContainerTestCaseData::~ContainerTestCaseData (this=0x9fffffffffffec60) > at /amd/devco/sebor/stdcxx/tests/include/23.containers.h:316 > #9 0x4000000000101a30:0 in void _rw_dispatch > (No.Identifier_8=0x0, No.Identifier_9=0x0, farray=0x40000000000a3030, > func=@0x9fffffffffffed20, tcase=@0x40000000000a2770) > at /amd/devco/sebor/stdcxx/tests/src/23.containers.cpp:859 > #10 0x4000000000100780:0 in void _rw_dispatch (No.Identifier_1=0x0, > farray=0x40000000000a3030, func=@0x9fffffffffffed20, > ---Type to continue, or q to quit--- > tcase=@0x40000000000a2770) > at /amd/devco/sebor/stdcxx/tests/src/23.containers.cpp:872 > #11 0x4000000000100420:0 in _rw_dispatch (farray=0x40000000000a3030, > func=@0x9fffffffffffed20, tcase=@0x40000000000a2770) > at /amd/devco/sebor/stdcxx/tests/src/23.containers.cpp:893 > #12 0x40000000001025c0:0 in _rw_test_case (func=@0x9fffffffffffed20, > tcase=@0x40000000000a2770, test_callback=0, farray=0x40000000000a3030) > at /amd/devco/sebor/stdcxx/tests/src/23.containers.cpp:960 > #13 0x4000000000102990:0 in _rw_run_cases (func=@0x9fffffffffffed20, > test=@0x6000000000000090) > at /amd/devco/sebor/stdcxx/tests/src/23.containers.cpp:1015 > #14 0x4000000000103140:0 in _rw_run_test (No.Identifier_2=2, > No.Identifier_3=0x9ffffffffffff4e8) > at /amd/devco/sebor/stdcxx/tests/src/23.containers.cpp:1150 > #15 0x4000000000112e20:0 in rw_vtest (argc=2, argv=0x9ffffffffffff4e8, > file_name=0x4000000000082110 "/amd/devco/sebor/stdcxx/tests/containers/23.list.assign.cpp", clause=0x4000000000082150 "lib.list.assign", comment=0x0, > fun=0x40000000000a6d40 <.opd+0x10>, > optstr=0x600000000002d330 "|-no-exceptions# |-no-exception-safety# |-self-ref~ |-UserPOD~ |-UserClass~ |-allocator~ |-UserAlloc~ |-InputIterator~ |-ForwardIterator~ |-BidirectionalIterator~ |-RandomAccessIterator~ |-pointer~ |-"..., > va=0x9fffffffffffeeb8) at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1040 > #16 0x4000000000113e40:0 in rw_test (argc=2, argv=0x9ffffffffffff4e8, > ---Type to continue, or q to quit--- > fname=0x4000000000082110 "/amd/devco/sebor/stdcxx/tests/containers/23.list.assign.cpp", clause=0x4000000000082150 "lib.list.assign", comment=0x0, > testfun=0x40000000000a6d40 <.opd+0x10>, > optstr=0x600000000002d330 "|-no-exceptions# |-no-exception-safety# |-self-ref~ |-UserPOD~ |-UserClass~ |-allocator~ |-UserAlloc~ |-InputIterator~ |-ForwardIterator~ |-BidirectionalIterator~ |-RandomAccessIterator~ |-pointer~ |-"...) > at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1137 > #17 0x4000000000103c90:0 in _rw_run_test (argc=2, argv=0x9ffffffffffff4e8, > file=0x4000000000082110 "/amd/devco/sebor/stdcxx/tests/containers/23.list.assign.cpp", clause=0x4000000000082150 "lib.list.assign", container=List, > test_callback=0, func_array=0x40000000000a3030, tests=0x6000000000000090, > test_count=2) at /amd/devco/sebor/stdcxx/tests/src/23.containers.cpp:1230 > #18 0x4000000000104000:0 in rw_run_cont_test (argc=2, argv=0x9ffffffffffff4e8, > file=0x4000000000082110 "/amd/devco/sebor/stdcxx/tests/containers/23.list.assign.cpp", clause=0x4000000000082150 "lib.list.assign", container=List, > farray=0x40000000000a3030, tests=0x6000000000000090, count=2) > at /amd/devco/sebor/stdcxx/tests/src/23.containers.cpp:1342 > #19 0x40000000000be9b0:0 in main+0x80 () > {noformat} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.