[
https://issues.apache.org/jira/browse/STDCXX-886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590565#action_12590565
]
Martin Sebor commented on STDCXX-886:
-------------------------------------
Btw., according to
[localeconv|http://www.opengroup.org/onlinepubs/009695399/functions/localeconv.html],
{{grouping=CHAR_MAX}} means there is no grouping. I'm not yet sure if our
{{num_get}} behaves correctly in this corner case, but that shouldn't cause the
thread safety test to fail.
> [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" "[EMAIL
> PROTECTED]" "da_DK.roman8" "da_DK.utf8" "nl_NL.iso88591" "[EMAIL PROTECTED]"
> "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.