Issue Details (XML | Word | Printable)

Key: STDCXX-790
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Farid Zaripov
Reporter: Martin Sebor
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
C++ Standard Library

SIGABRT in 22.locale.codecvt.out

Created: 22/Mar/08 12:56 AM   Updated: 17/Apr/08 11:12 AM
Return to search
Component/s: Tests
Affects Version/s: None
Fix Version/s: 4.2.1

Time Tracking:
Original Estimate: 0.5h
Original Estimate - 0.5h
Remaining Estimate: 0h
Time Spent - 0.5h
Time Spent: 0.5h
Time Spent - 0.5h

Severity: Runtime Error
Resolution Date: 24/Mar/08 02:58 PM


 Description  « Hide
Looks like a recent change to rw_printf() is causing 22.locale.codecvt.out.cpp to fail with SIGABRT. Here's the output of the test on HP aCC 6.16:
$ ./22.locale.codecvt.out -q
# ERROR (S8) (5 lines):
# TEXT: the environment variable TOPDIR is undefined
# CLAUSE: lib.locale.codecvt.virtuals
# FILE: locale.cpp
# LINE: 216

# ERROR (S8) (4 lines):
# TEXT: failed to create a locale database
# CLAUSE: lib.locale.codecvt.virtuals
# LINE: 670

/amd/devco/sebor/stdcxx/tests/src/printf.cpp:980: int rw_vasnprintf(char **, unsigned long *, const char *, __va_list__): Assertion 'buf.endoff < *buf.pbufsize' failed.
(0)  0xc000000006c29890  _ZN4__rw16__rw_assert_failEPKcS1_iS1_ + 0x170 at /amd/devco/sebor/stdcxx/src/assert.cpp:103 [/build/sebor/stdcxx-aCC-6.16-15D/lib/libstd15D.sl]
(1)  0x4000000000050f60  _Z13rw_vasnprintfPPcPmPKc11__va_list__ + 0x3e0 at /amd/devco/sebor/stdcxx/tests/src/printf.cpp:980 [./22.locale.codecvt.out]
(2)  0x4000000000062240  _Z12rw_asnprintfPPcPmPKcz + 0x180 at /amd/devco/sebor/stdcxx/tests/src/printf.cpp:3272 [./22.locale.codecvt.out]
(3)  0x40000000000292c0  _Z31test_wcodecvt_byname_libc_basedv + 0xe80 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp:869 [./22.locale.codecvt.out]
(4)  0x400000000002e8b0  _Z20test_wcodecvt_bynamev + 0x80 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp:1082 [./22.locale.codecvt.out]
(5)  0x400000000002ea00  _Z8run_testiPPc + 0x80 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp:1111 [./22.locale.codecvt.out]
(6)  0x4000000000032730  _Z8rw_vtestiPPcPKcS2_S2_PFiiS0_ES2_11__va_list__ + 0xaf0 at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1040 [./22.locale.codecvt.out]
(7)  0x4000000000033750  _Z7rw_testiPPcPKcS2_S2_PFiiS0_ES2_z + 0xd0 at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1137 [./22.locale.codecvt.out]
(8)  0x400000000002eb60  main + 0x70 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp:1118 [./22.locale.codecvt.out]
(9)  0xc000000000052a90  main_opd_entry + 0x50 [/usr/lib/hpux64/dld.so]
ABORT instruction (core dumped)

wdb stack trace:

#0  0x9fffffffef333eb0:0 in _lwp_kill+0x30 () from /usr/lib/hpux64/libpthread.so.1
#1  0x9fffffffef2a00a0: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  0x9fffffffef6118a0:0 in __rw::__rw_assert_fail (
    expr=0x4000000000019ed0 "buf.endoff < *buf.pbufsize", 
    file=0x4000000000019ab0 "/amd/devco/sebor/stdcxx/tests/src/printf.cpp", 
    line=980, 
    func=0x4000000000019e80 "int rw_vasnprintf(char **, unsigned long *, const char *, __va_list__)") at /amd/devco/sebor/stdcxx/src/assert.cpp:103
#5  0x4000000000050f60:0 in rw_vasnprintf (pbuf=0x9fffffffffffea28, 
    pbufsize=0x9fffffffffffea20, fmt=0x4000000000014fe4 "%s{ %{#lc}, %{#s} }", 
    varg=0x9fffffffffffe9c8)
    at /amd/devco/sebor/stdcxx/tests/src/printf.cpp:980
#6  0x4000000000062240:0 in rw_asnprintf (pbuf=0x9fffffffffffea28, 
    pbufsize=0x9fffffffffffea20, 
    fmt=0x4000000000014fe0 "%{+}%s{ %{#lc}, %{#s} }")
    at /amd/devco/sebor/stdcxx/tests/src/printf.cpp:3272
warning: 
ERROR: Use the "objectdir" command to specify the search
path for objectfile 22.locale.codecvt.out.o.
If NOT specified will behave as a non -g compiled binary.

#7  0x40000000000292c0:0 in test_wcodecvt_byname_libc_based()+0xe80 ()
#8  0x400000000002e8b0:0 in test_wcodecvt_byname()+0x80 ()
#9  0x400000000002ea00:0 in run_test(int,char**)+0x80 ()
#10 0x4000000000032730:0 in rw_vtest (argc=1, argv=0x9ffffffffffff520, 
    file_name=0x4000000000014220 "/amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp", 
    clause=0x4000000000015310 "lib.locale.codecvt.virtuals", comment=0x0, 
    fun=0x400000000001f970 <.opd>, optstr=0x4000000000014535 "", 
    va=0x9ffffffffffff0d8) at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1040
#11 0x4000000000033750:0 in rw_test (argc=1, argv=0x9ffffffffffff520, 
    fname=0x4000000000014220 "/amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp", clause=0x4000000000015310 "lib.locale.codecvt.virtuals", 
    comment=0x0, testfun=0x400000000001f970 <.opd>, 
    optstr=0x4000000000014535 "")
    at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1137
#12 0x400000000002eb60:0 in main+0x70 ()


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Farid Zaripov added a comment - 24/Mar/08 02:58 PM
Resolved thus: http://svn.apache.org/viewvc?rev=640433&view=rev

Issue will be closed after merging the fix in 4.2.x branch.


Farid Zaripov added a comment - 17/Apr/08 11:12 AM