[
https://issues.apache.org/jira/browse/STDCXX-840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587009#action_12587009
]
Martin Sebor commented on STDCXX-840:
-------------------------------------
The {{SIGABRT}} in the output above was the same problem as STDCXX-843. The
{{SIGSEGV}} is something different. Here's the stack trace:
{noformat}
$ gmake 22.locale.codecvt.mt -r && dbx -q -c"run;where" 22.locale.codecvt.m
t
CC -c -D_RWSTDDEBUG -mt -I/amd/devco/sebor/stdcxx/include
-I/build/sebor/stdcxx-suncc-5.9-j1-15D/include
-I/amd/devco/sebor/stdcxx/tests/include -library=%none -g -m64 +w -errtags
-erroff=hidef
/amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.mt.cpp
"/amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.mt.cpp", line
319: Warning, truncwarn: Conversion of 64 bit type value to "const int" causes
truncation.
"/amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.mt.cpp", line
319: Warning, truncwarn: Conversion of 64 bit type value to "const int" causes
truncation.
2 Warning(s) detected.
CC 22.locale.codecvt.mt.o -o 22.locale.codecvt.mt
-L/build/sebor/stdcxx-suncc-5.9-j1-15D/rwtest -lrwtest15D -library=%none -mt
-m64 -L/build/sebor/stdcxx-suncc-5.9-j1-15D/lib
-R/build/sebor/stdcxx-suncc-5.9-j1-15D/lib:/build/sebor/stdcxx-suncc-5.9-j1-15D/rwtest
-lstd15D -lm
rm 22.locale.codecvt.mt.o
Running: 22.locale.codecvt.mt
(process id 684)
# INFO (S1) (10 lines):
# TEXT:
# COMPILER: SunPro, __SUNPRO_CC = 0x590
# ENVIRONMENT: x86_64/LP64 running sunos-5.10
# FILE: 22.locale.codecvt.mt.cpp
# COMPILED: Apr 8 2008, 15:12:18
# COMMENT: thread safety
############################################################
# CLAUSE: lib.locale.codecvt
# NOTE (S2) (5 lines):
# TEXT: executing "locale -a > /var/tmp/aaaASaGvb"
# CLAUSE: lib.locale.codecvt
# FILE: process.cpp
# LINE: 279
[EMAIL PROTECTED] ([EMAIL PROTECTED]) signal SEGV (no mapping at the fault
address) in __wcrtomb_dense_utf8 at 0xfffffd7ffef55ab9
0xfffffd7ffef55ab9: __wcrtomb_dense_utf8+0x0139: movb
%al,0x0000000000000000(%r8)
Current function is __rw::__rw_libc_do_out
482 dst_len = wcrtomb (tmpdst, *from_next, &state);
current thread: [EMAIL PROTECTED]
[1] __wcrtomb_dense_utf8(0x4551b8, 0x0, 0x20, 0x101010101010101, 0x100455194,
0x4551b8), at 0xfffffd7ffef55ab9
[2] wcrtomb(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff0e2576
=>[3] __rw::__rw_libc_do_out(state = STRUCT, from = 0x441698 "\xdfff\xffff",
from_end = 0x4416a0 "", from_next = 0x44169c "\xffff", to = 0x455195 "",
to_limit = 0x4551a5 "", to_next = 0x100455194 "<bad address 0x455194>"), line
482 in "wcodecvt.cpp"
[4] std::codecvt_byname<wchar_t,char,__mbstate_t>::do_out(this = 0x45f580,
state = STRUCT, from = 0x441698 "\xdfff\xffff", from_end = 0x4416a0 "",
from_next = 0x44169c "\xffff", to = 0x455195 "", to_limit = 0x4551a5 "",
to_next = 0x100455194 "<bad address 0x455194>"), line 1459 in "wcodecvt.cpp"
[5] std::codecvt<wchar_t,char,__mbstate_t>::out(this = 0x45f580, __state =
STRUCT, __from = 0x441698 "\xdfff\xffff", __from_end = 0x4416a0 "", __from_next
= 0x44169c "\xffff", __to = 0x455195 "", __to_limit = 0x4551a5 "", __to_next =
0x100455194 "<bad address 0x455194>"), line 340 in "_codecvt.h"
[6] run_test_fill<wchar_t>(loc = STRUCT, in = STRUCT, out = STRUCT, data =
STRUCT), line 392 in "22.locale.codecvt.mt.cpp"
[7] run_test(_ARG1 = 1, _ARG2 = 0xfffffd7fffdff968), line 460 in
"22.locale.codecvt.mt.cpp"
[8] rw_vtest(argc = 1, argv = 0xfffffd7fffdff968, file_name = 0x43c4b1
"/amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.mt.cpp", clause =
0x43c4f5 "lib.locale.codecvt", comment = 0x43c508 "thread safety", fun =
0x40daf0 =
&`22.locale.codecvt.mt`22.locale.codecvt.mt.cpp`run_test(int,char**), optstr =
0x43c516 "|-nloops#0 |-nthreads#0-* |-nlocales#0 |-locales= |-shared-locale# ",
va = 0xfffffd7fffdff890), line 1040 in "driver.cpp"
[9] rw_test(argc = 1, argv = 0xfffffd7fffdff968, fname = 0x43c4b1
"/amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.mt.cpp", clause =
0x43c4f5 "lib.locale.codecvt", comment = 0x43c508 "thread safety", testfun =
0x40daf0 =
&`22.locale.codecvt.mt`22.locale.codecvt.mt.cpp`run_test(int,char**), optstr =
0x43c516 "|-nloops#0 |-nthreads#0-* |-nlocales#0 |-locales= |-shared-locale# ",
...), line 1137 in "driver.cpp"
[10] main(argc = 1, argv = 0xfffffd7fffdff968), line 550 in
"22.locale.codecvt.mt.cpp"
{noformat}
> [Sun C++] SIGSEGV in 22.locale.codecvt.mt.cpp in LP64 with optimization
> -----------------------------------------------------------------------
>
> Key: STDCXX-840
> URL: https://issues.apache.org/jira/browse/STDCXX-840
> Project: C++ Standard Library
> Issue Type: Bug
> Components: Tests
> Affects Versions: trunk
> Environment: Sun C++/Solaris/
> Reporter: Martin Sebor
> Priority: Minor
> Fix For: 4.2.1
>
> Original Estimate: 4h
> Remaining Estimate: 4h
>
> On Solaris/SPARC, when compiled with Sun C++ (any version) in LP64 mode with
> optimization on (-O) the test
> [22.locale.codecvt.mt.cpp|http://svn.apache.org/viewvc/stdcxx/trunk/tests/localization/22.locale.codecvt.mt.cpp?view=markup]
> abends with {{SIGSEGV}}.
> On Solaris/AMD64/LP64, the test also abends with {{SIGSEGV}} with
> optimization, but with {{SIGABRT}} without.
> When compiled with gcc 4.1.1 on Solaris the test runs successfully to
> completion.
> Since this test is new in 4.2.1 its failure is a regression.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.