stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: 22.locale.codecvt.length on AIX
Date Tue, 22 Apr 2008 18:38:46 GMT
Martin Sebor wrote:
> Travis Vitek wrote:
>> These tests may have binary compatibility issues...
>>
>>   22.locale.codecvt.length
> 
> I see some unexpected output with this test when I compile
> it with XLC++ 9.0 in 15d.

Even more strange, it looks like the test passes in nightly
builds on AIX...

> First, note the "Error: bad_alloc:
> out of memory" I think it might actually be coming out of
> the localedef utility. But then the test seems to hang:
> 
> $ TOPDIR=~/stdcxx-4.2.x ./22.locale.codecvt.length
> # INFO (S1) (10 lines):
> # TEXT:
> # COMPILER: IBM VisualAge C++, __IBMCPP__ = 900
> # ENVIRONMENT: powerpc running aix-5.3
> # FILE: 22.locale.codecvt.length.cpp
> # COMPILED: Apr 22 2008, 12:15:12
> # COMMENT:
> ############################################################
> 
> # CLAUSE: lib.locale.codecvt.virtuals
> 
> # NOTE (S2) (5 lines):
> # TEXT: executing "rm -rf  /tmp/tmpfile-elUaaa"
> # CLAUSE: lib.locale.codecvt.virtuals
> # FILE: process.cpp
> # LINE: 276
> 
> # NOTE (S2) (5 lines):
> # TEXT: executing "mkdir /tmp/tmpfile-elUaaa"
> # CLAUSE: lib.locale.codecvt.virtuals
> # FILE: process.cpp
> # LINE: 276
> 
> # INFO (S1) (3 lines):
> # TEXT: std::codecvt<char, char, mbstate_t>::length (state_type&, const 
> extern_type*, const extern_type*, size_t)
> # CLAUSE: lib.locale.codecvt.virtuals
> 
> # INFO (S1) (3 lines):
> # TEXT: std::codecvt_byname<char, char, mbstate_t>::length (state_type&, 
> const extern_type*, const extern_type*, size_t)
> # CLAUSE: lib.locale.codecvt.virtuals
> 
> # INFO (S1) (3 lines):
> # TEXT: std::codecvt<wchar_t, char, mbstate_t>::length (state_type&, 
> const extern_type*, const extern_type*, size_t)
> # CLAUSE: lib.locale.codecvt.virtuals
> 
> # INFO (S1) (3 lines):
> # TEXT: std::codecvt_byname<wchar_t, char, mbstate_t>::length 
> (state_type&, const extern_type*, const extern_type*, size_t)
> # CLAUSE: lib.locale.codecvt.virtuals
> 
> # INFO (S1) (3 lines):
> # TEXT: locale ("UTF-8@UCS") [algorithmic encoding]
> # CLAUSE: lib.locale.codecvt.virtuals
> 
> # NOTE (S2) (5 lines):
> # TEXT: executing "../bin/localedef -w701 -w702 -w706 -c -f 
> /tmp/tmpfile-elUaaa/charmap -i /tmp/tmpfile-elUaaa/source 
> /tmp/tmpfile-elUaaa/mb_cur_max-9"
> # CLAUSE: lib.locale.codecvt.virtuals
> # FILE: process.cpp
> # LINE: 276
> 
> Error: bad_alloc: out of memory
> # ERROR (S8) (5 lines):
> # TEXT: the command "../bin/localedef -w701 -w702 -w706 -c -f 
> /tmp/tmpfile-elUaaa/charmap -i /tmp/tmpfile-elUaaa/source 
> /tmp/tmpfile-elUaaa/mb_cur_max-9" exited with status 4
> # CLAUSE: lib.locale.codecvt.virtuals
> # FILE: process.cpp
> # LINE: 306
> 
> # ERROR (S8) (4 lines):
> # TEXT: failed to create a locale database
> # CLAUSE: lib.locale.codecvt.virtuals
> # LINE: 368
> 
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-ftUaab"
> # CLAUSE: lib.locale.codecvt.virtuals
> # FILE: process.cpp
> # LINE: 276
> 
> 
> When I run it in the debugger, I don't get the bad_alloc and
> the test runs to completion with this output:
> 
> # NOTE (S2) (5 lines):
> # TEXT: failed to find 3-byte characters in locale "Zh_CN" with 
> MB_CUR_MAX = 4
> # CLAUSE: lib.locale.codecvt.virtuals
> # FILE: locale.cpp
> # LINE: 631
> 
> # NOTE (S2) (5 lines):
> # TEXT: failed to find 3-byte characters in locale "Zh_CN.GB18030" with 
> MB_CUR_MAX = 4
> # CLAUSE: lib.locale.codecvt.virtuals
> # FILE: locale.cpp
> # LINE: 631
> 
> # NOTE (S2) (5 lines):
> # TEXT: failed to find 3-byte characters in locale "zh_TW" with 
> MB_CUR_MAX = 4
> # CLAUSE: lib.locale.codecvt.virtuals
> # FILE: locale.cpp
> # LINE: 631
> 
> # NOTE (S2) (5 lines):
> # TEXT: failed to find 3-byte characters in locale "zh_TW.IBM-eucTW" 
> with MB_CUR_MAX = 4
> # CLAUSE: lib.locale.codecvt.virtuals
> # FILE: locale.cpp
> # LINE: 631
> 
> # INFO (S1) (3 lines):
> # TEXT: locale ("EN_GB.UTF-8@euro") [libc-based encoding, single-byte 
> characters]
> # CLAUSE: lib.locale.codecvt.virtuals
> 
> # INFO (S1) (3 lines):
> # TEXT: locale ("EN_GB.UTF-8@euro") [libc-based encoding, MB_CUR_MAX = 
> 3, multi-byte characters: "\x01", "\xc2\x80", "\xe0\xa0\x80"]
> # CLAUSE: lib.locale.codecvt.virtuals
> 
> # +-----------------------+----------+----------+----------+
> # | DIAGNOSTIC            |  ACTIVE  |   TOTAL  | INACTIVE |
> # +-----------------------+----------+----------+----------+
> # | (S1) INFO             |        9 |        9 |       0% |
> # | (S2) NOTE             |        8 |      612 |      98% |
> # | (S5) WARNING          |        0 |        2 |     100% |
> # | (S7) ASSERTION        |        0 |      382 |     100% |
> # | (S8) ERROR            |        0 |        5 |     100% |
> # +-----------------------+----------+----------+----------+
> /amd/devco/sebor/stdcxx-4.2.x/tests/src/driver.cpp:1528: rw_note(): 
> warning: test finished, cannot call
> 
> execution completed
> 
> 
>>   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
>>
>> 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
>>
> 


Mime
View raw message