Details
Description
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
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
Here's the output of one of them:
$ 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)
The HP wdb stack trace is below:
$ 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<UserClass>::~ContainerTestCaseData (this=0x9fffffffffffec60) at /amd/devco/sebor/stdcxx/tests/include/23.containers.h:316 #9 0x4000000000101a30:0 in void _rw_dispatch<UserClass,std::allocator<UserClass> > (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<UserClass> (No.Identifier_1=0x0, farray=0x40000000000a3030, func=@0x9fffffffffffed20, ---Type <return> to continue, or q <return> 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 <return> to continue, or q <return> 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 ()
Attachments
Issue Links
- depends upon
-
STDCXX-802 [HP aCC 6.16] bad codegen on ud ctor and factory function
- Open
- is related to
-
STDCXX-896 [HP aCC 6.16] SIGABRT in 23.deque.modifiers
- Resolved