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-886) [HP aCC 6.16] SIGABRT in 22.locale.num.get.mt
Date Fri, 18 Apr 2008 19:46:21 GMT

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

Travis Vitek commented on STDCXX-886:
-------------------------------------

As I mentioned in STDCXX-846, I know there are workarounds. I suggested either skipping these
'bad' locales or to terminate the stream with traits::eof(). It would also work to limit the
length of the input sequence as you have just proposed. Unfortunately that doesn't fix the
more general case shown in the test program shown in STDCXX-846.

> [HP aCC 6.16] SIGABRT in 22.locale.num.get.mt
> ---------------------------------------------
>
>                 Key: STDCXX-886
>                 URL: https://issues.apache.org/jira/browse/STDCXX-886
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: trunk
>         Environment: $ uname -sr && model && aCC -V
> HP-UX B.11.31
> ia64 hp server rx2660
> aCC: HP C/aC++ B3910B A.06.16 [Nov 26 2007]
>            Reporter: Martin Sebor
>             Fix For: 4.2.2
>
>
> The test fails with {{SIGABRT}} in nightly builds but it look like a thread safety problem
because it fails even with a single thread. Here's the output including the stack trace:
> {noformat}
> $ ./22.locale.num.get.mt --nthreads=1 2>&1 | c++filt 
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: HP aCC, __HP_aCC = 61600, __EDG_VERSION__ = 308
> # ENVIRONMENT: ia64 running hp-ux
> # FILE: 22.locale.num.get.mt.cpp
> # COMPILED: Apr 16 2008, 17:48:24
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.get
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /var/tmp/tmpfile-005971"
> # CLAUSE: lib.locale.num.get
> # FILE: process.cpp
> # LINE: 276
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_get<charT> with 1 thread, 100000 iterations each, in 32
locales { "C" "POSIX" "C.iso88591" "C.iso885915" "C.utf8" "univ.utf8" "ar_DZ.arabic8" "ar_DZ.utf8"
"ar_SA.arabic8" "ar_SA.iso88596" "ar_SA.utf8" "bg_BG.iso88595" "bg_BG.utf8" "zh_CN.gb18030"
"zh_CN.hp15CN" "zh_CN.utf8" "zh_HK.hkbig5" "zh_HK.utf8" "zh_TW.big5" "zh_TW.ccdc" "zh_TW.eucTW"
"zh_TW.utf8" "cs_CZ.iso88592" "cs_CZ.utf8" "da_DK.iso88591" "da_DK.iso885915@euro" "da_DK.roman8"
"da_DK.utf8" "nl_NL.iso88591" "nl_NL.iso885915@euro" "nl_NL.roman8" "nl_NL.utf8" }
> # CLAUSE: lib.locale.num.get
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_get<char>
> # CLAUSE: lib.locale.num.get
> /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.get.mt.cpp:245: void test_get_data(const
MyNumData &, const std::num_get<charT, std::istreambuf_iterator<_CharT, std::char_traits<_CharT>>>
&, const std::istreambuf_iterator<_CharT, _Traits> &, const std::istreambuf_iterator<_CharT,
_Traits> &, std::basic_ios<charT, Traits> &) [with charT = char, Traits =
std::char_traits<char>]: Assertion '! (state & std::ios_base::failbit)' failed.
> (0)  0xc000000006227a90  __rw::__rw_assert_fail(char const*,char const*,int,char const*)
+ 0x170 at /amd/devco/sebor/stdcxx/src/assert.cpp:103 [/build/sebor/stdcxx-aCC-6.16-15D/lib/libstd15D.sl]
> (1)  0x4000000000031c90  void test_get_data<char,std::char_traits<char> >(MyNumData
const&,std::num_get<(%0=)char,std::istreambuf_iterator<std::num_get,std::char_traits<std::num_get>
> > const&,(%0=)char<std::num_get,(%1=)std::char_traits<char> > const&,std::num_get<(%0=)char,std::istreambuf_iterator<std::num_get,std::char_traits<std::num_get>
> > const,std::basic_ios<std::num_get,std::istreambuf_iterator<std::num_get,std::char_traits<std::num_get>
> >&) + 0x4e0 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.get.mt.cpp:245
[./22.locale.num.get.mt]
> (2)  0x4000000000030690  thread_func(void*) + 0x350 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.get.mt.cpp:354
[./22.locale.num.get.mt]
> (3)  0xc0000000000dfa90  __pthread_bound_body + 0x170 at /ux/core/libs/threadslibs/src/common/pthreads/pthread.c:4871
[/usr/lib/hpux64/libpthread.so.1]
> {noformat}

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