[ 
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.

Reply via email to