Travis Vitek wrote:
These tests may have binary compatibility issues...
22.locale.codecvt.length
22.locale.ctype.scan
22.locale.num.put
I'm also concerned with this test because it does not fail in nightly
builds...
22.locale.messages.mt
I've been experimenting with this test in an effort to find
under what conditions the SIGSEGV can be reliably reproduced.
It seems as though the likelihood of it running successfully
to completion increases as the number of threads decreases
below the number of processors. For example, with just two
threads running (on an 8 CPU box), the test hasn't failed
in nearly 40 executions. But with the number of threads in
excess of the number of processors I can pretty reliably
cause the test to fail with the error below:
/amd/devco/sebor/stdcxx-4.2.x/include/loc/_locale.h:364:
__rw::__rw_get_std_facet: Assertion '0 != __pfacets' failed.
This suggests a thread safety bug in the library...
What's even more concerning than the bug itself is that we
run all our thread safety tests with the same number of
threads as there are processors on each server. If other
hardware behaves similarly to PowerPC, we might need to
bump up this number (and discover a whole bunch more
problems...)
Martin
Travis
aix-5.3-vacpp-8.0 SRC: 4.2.0 4.2.0 4.2.1 4.2.1
LIB: 4.2.0 4.2.1 4.2.0 4.2.1
0.printf SEGV SEGV A1 A1
0.process SEGV SEGV 0 0
18.setjmp HUP HUP A1 A1
18.support.rtti N/A N/A A7 A7
21.cwchar A11 A11 A5 A5
21.string.assign A360 A360 A60 A60
21.string.insert A840 A840 A180 A180
21.string.replace A1060 A1060 A240 A240
22.locale.codecvt.length 0 ABRT 0 0
22.locale.codecvt.out N/A N/A SEGV SEGV
22.locale.codecvt.stdcxx-435 N/A N/A ABRT NOUT
22.locale.ctype.scan HUP ABRT 0 0
22.locale.messages HUP A106 HUP 0
22.locale.messages.mt SEGV SEGV SEGV SEGV
22.locale.money.get A20 A20 A20 A20
22.locale.num.get A96 A96 A96 A96
22.locale.num.put 0 A24 A26 0
22.locale.num.put.stdcxx-2 N/A N/A ABRT NOUT
22.locale.time.get A46 A46 SEGV SEGV
23.deque.special A1536 A1536 0 0
23.vector.bool.stdcxx-235 ABRT ABRT NOUT NOUT
25.heap A31 A31 0 0
25.partial.sort A2603 A2603 0 0
25.random.shuffle A1 A1 0 0
26.class.gslice A162 A162 A162 A162
26.valarray.cassign 0 0 COMP COMP
27.basic.ios.copyfmt.stdcxx-766 N/A N/A ABRT NOUT
27.ostream A2 A2 0 0
8.cstdint A3 A3 0 0