stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Travis Vitek (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-845) [XLC++ 7,8,9] SEGV in 22.locale.messages.mt
Date Mon, 05 May 2008 20:05:55 GMT

    [ https://issues.apache.org/jira/browse/STDCXX-845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12594319#action_12594319
] 

Travis Vitek commented on STDCXX-845:
-------------------------------------

Yes, it exercises the message catalog cache but it does not exercise the locale or facet caches.
I was pretty sure you were asking about the locale cache when you mentioned the test only
having a single locale.

We could do this optimization, but it might involve more work than you realize. Each entry
in the cache would need to keep the catalog name string passed to the {{open()}} call. We
would also need to be able to determine that two catalog names are referring to the same catalog.
i.e. opening a catalog named "foo.cat" may actually yield a different message catalog depending
on the value of {{NLSPATH}} and the current working directory at the time of the call. Same
for "foo.cat" and "../foo.cat", but the result is the opposite. In the first case the wrong
message catalog would be returned, and in the second case we would unnecessarily create a
duplicate message catalog.

> [XLC++ 7,8,9] SEGV in 22.locale.messages.mt
> -------------------------------------------
>
>                 Key: STDCXX-845
>                 URL: https://issues.apache.org/jira/browse/STDCXX-845
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.2.1
>         Environment: AIX 5.3 PowerPC IBM XLC++ 9.0 
> AIX 5.3 PowerPC IBM XLC++ 8.0 
> AIX 5.3 PowerPC IBM XLC++ 7.0 
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.2
>
>         Attachments: stdcxx-845.patch
>
>   Original Estimate: 4h
>          Time Spent: 9h
>  Remaining Estimate: 0h
>
> On AIX, when compiled with XLC++ the test 22.locale.messages.mt fails with {{SIGSEGV}}
or {{SIGABRT}}.
> {{SIGSEGV}} on XLC++ 7.0 for 12a, 12d
> {{SIGABRT}} on XLC++ 7.0 for 15a, 15s, 15S
> {{SIGSEGV}} on XLC++ 8.0 for 12a, 12d, 12D, 15a, 15A
> {{SIGABRT}} on XLC++ 8.0 for 15S
> {{SIGSEGV}} on XLC++ 9.0 for 12a, 15a, 15A
> {{SIGABRT}} on XLC++ 9.0 for 15s
> Here is the output for a 12S build...
> {noformat}
> $ dbx 22.locale.messages.mt 
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: IBM VisualAge C++, __IBMCPP__ = 900
> # ENVIRONMENT: powerpc/LP64 running aix-5.3
> # FILE: 22.locale.messages.mt.cpp
> # COMPILED: Apr  9 2008, 16:38:10
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.messages
> # NOTE (S2) (5 lines):
> # TEXT: executing "gencat rwstdmessages.cat rwstdmessages.msg"
> # CLAUSE: lib.locale.messages
> # FILE: process.cpp
> # LINE: 279
> # INFO (S1) (3 lines):
> # TEXT: testing std::messages<charT> with 8 threads, 100000 iterations each
> # CLAUSE: lib.locale.messages
> # INFO (S1) (3 lines):
> # TEXT: exercising std::messages<char>
> # CLAUSE: lib.locale.messages
> Segmentation fault (core dumped)
> $ dbx 22.locale.messages.mt 
> Type 'help' for help.
> [using memory image in core]
> reading symbolic information ...
> Segmentation fault in strchr.strchr at 0x900000000048ec0 ($t2)
> 0x900000000048ec0 (strchr+0x140) 8d230001       lbzu   r9,0x1(r3)
> (dbx) where
> strchr.strchr() at 0x900000000048ec0
> _C_get_std_facet(__rw::__rw_facet::_C_facet_type,__rw::__rw_facet*(*)(unsigned long,const
char*)) const() at 0x100027970
> __rw_get_facet_by_id__4__rwFRCQ2_3std6localeRCQ2_4__rw13__rw_facet_idPCQ2_3std7codecvtXTcTcTPc_@AF18_13()
at 0x100070e54
> do_get__Q2_3std8messagesXTc_CFiN21RCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__()
at 0x1000373ec
> get__Q2_3std8messagesXTc_CFiN21RCQ2_3std12basic_stringXTcTQ2_3std11char_traitsXTc_TQ2_3std9allocatorXTc__()
at 0x100037178
> 22.locale.messages.mt.void test_get<char>( \
>   const std::messages<char>&,int,int,int,const std::basic_string<char,std::char_traits<char>,std::allocator<char>
>&) \
>   (msgs = &(...), cat = 0, set = 4, msgid = 4, dflt = &(...)), line 153 in "22.locale.messages.mt.cpp"
> unnamed block in thread_func(void*)( = 0x0ffffffffffff2e0), line 189 in "22.locale.messages.mt.cpp"
> thread_func(void*)( = 0x0ffffffffffff2e0), line 189 in "22.locale.messages.mt.cpp"
> (dbx) quit
> {noformat}
> This is a new test for 4.2.1, so it is a regression.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message