You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2008/04/18 19:02:21 UTC
[jira] Created: (STDCXX-886) [HP aCC 6.16] SIGABRT in
22.locale.num.get.mt
[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.
[jira] Commented: (STDCXX-886) [HP aCC 6.16] SIGABRT in
22.locale.num.get.mt
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590555#action_12590555 ]
Martin Sebor commented on STDCXX-886:
-------------------------------------
I just discovered that the test sets up the input sequence to be {{NUL}}-terminated. Replacing the {{RW_COUNT_OF()}} macro in calls to {{MyStreambuf::pubsetg()}} with {{Traits::length()}} seems to fix it. Unless you set it up that way on purpose I'll go ahead and commit this change.
> [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.
[jira] Commented: (STDCXX-886) [HP aCC 6.16] SIGABRT in
22.locale.num.get.mt
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590541#action_12590541 ]
Martin Sebor commented on STDCXX-886:
-------------------------------------
Here's gdb output with values of the relevant variables. It's strange because there should be no reason for the facet to fail in this simple case (extracting an {{unsigned long}} value from a sequence containing {{"2"}}).
{noformat}
$ gdb ./22.locale.num.get.mt
HP gdb 5.7 for HP Itanium (32 or 64 bit) and target HP-UX 11.2x.
Copyright 1986 - 2001 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 5.7 (based on GDB) is covered by the
GNU General Public License. Type "show copying" to see the conditions to
change it and/or distribute copies. Type "show warranty" for warranty/support.
..
(gdb) r --nthreads=1
Starting program: /build/sebor/stdcxx-aCC-6.16-15D/tests/./22.locale.num.get.mt --nthreads=1
[New process 229]
warning: reading register 584: No such process
Detaching after fork from process 229
# 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-000228"
# CLAUSE: lib.locale.num.get
# FILE: process.cpp
# LINE: 276
[New process 233]
Detaching after fork from process 233
# 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) 0x9fffffffef613a90 _ZN4__rw16__rw_assert_failEPKcS1_iS1_ + 0x170 at /amd/devco/sebor/stdcxx/src/assert.cpp:103 [/build/sebor/stdcxx-aCC-6.16-15D/lib/libstd15D.sl]
(1) 0x4000000000031c90 _Z13test_get_dataIcSt11char_traitsIcEEvRK9MyNumDataRKSt7num_getIT_St19istreambuf_iteratorIS5_S0_IS5_EEERKS6_IS5_T0_ESB_RSt9basic_iosIS5_S9_E + 0x4e0 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.get.mt.cpp:245 [/build/sebor/stdcxx-aCC-6.16-15D/tests/./22.locale.num.get.mt]
(2) 0x4000000000030690 _Z11thread_funcPv + 0x350 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.get.mt.cpp:354 [/build/sebor/stdcxx-aCC-6.16-15D/tests/./22.locale.num.get.mt]
(3) 0x9fffffffef26ba90 __pthread_bound_body + 0x170 at /ux/core/libs/threadslibs/src/common/pthreads/pthread.c:4871 [/usr/lib/hpux64/libpthread.so.1]
Program received signal SIGABRT, Aborted
si_code: 0 - .
[Switching to thread 2 (system thread 5139011)]
0x9fffffffef337eb0:0 in _lwp_kill+0x30 () from /usr/lib/hpux64/libpthread.so.1
(gdb) where
#0 0x9fffffffef337eb0:0 in _lwp_kill+0x30 ()
from /usr/lib/hpux64/libpthread.so.1
#1 0x9fffffffef2a40a0:0 in pthread_kill+0x900 ()
from /usr/lib/hpux64/libpthread.so.1
#2 0x9fffffffeeff4400:0 in raise+0xe0 () from /usr/lib/hpux64/libc.so.1
#3 0x9fffffffef0f0db0:0 in abort+0x170 () from /usr/lib/hpux64/libc.so.1
#4 0x9fffffffef613aa0:0 in __rw::__rw_assert_fail (
expr=0x4000000000023c50 "! (state & std::ios_base::failbit)",
file=0x4000000000023c80 "/amd/devco/sebor/stdcxx/tests/localization/22.locale.num.get.mt.cpp", line=245,
func=0x4000000000023cd0 "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_"...)
at /amd/devco/sebor/stdcxx/src/assert.cpp:103
#5 0x4000000000031c90:0 in void test_get_data<char,std::char_traits<char> > (
data=@0x60000000000025f0, np=@0x9fffffffef51db50,
iter=@0x9fffffffeee70d38, end=@0x9fffffffeee70d40, io=@0x9fffffffeee70d60)
at /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.get.mt.cpp:245
#6 0x4000000000030690:0 in thread_func (No.Identifier_0=0x9fffffffffffeac0)
at /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.get.mt.cpp:349
#7 0x9fffffffef26ba90:0 in __pthread_bound_body+0x170 ()
from /usr/lib/hpux64/libpthread.so.1
(gdb) p data
$21 = (struct MyNumData &) @0x60000000000025f0: {
locale_name_ = 0x6000000000026858 "C.iso88591", locale_ = {
_C_body = 0x9fffffffef51d120}, value_ = 2, type_ = put_ulong,
ncs_ = "2", '\000' <repeats 30 times>, wcs_ = {50, 0 <repeats 31 times>}}
(gdb) p iter
$22 = (struct std::istreambuf_iterator<char, std::char_traits<char>>
&) @0x9fffffffeee70d38: {_C_sb = 0x9fffffffeee70ea0}
(gdb) p *iter._C_sb
$23 = {<__rw::__rw_synchronized> = {_C_mutex = {<__rw::__rw_mutex_base> = {
_C_mutex = {__m_short = {54, 0}, __m_int = 129, __m_int1 = {1, 1, 1,
1}, __m_ptr = 0x1, __m_int2 = {1, 0}, __m_int3 = {0, 0, -1, 0},
__m_short2 = {0, 2368}, __m_int4 = {0, 1, 1, 1, 1}, __m_int5 = {0,
0}}}, <No data fields>}}, _C_buffer = 0x0, _C_bufsize = 0,
_C_state = 12, _C_eback = 0x600000000000260c "2",
_C_gptr = 0x600000000000260e "", _C_egptr = 0x600000000000262c "",
_C_pbase = 0x0, _C_pptr = 0x0, _C_epptr = 0x0, _C_locale = {
_C_body = 0x600000000008b690}, __vfp = 0x60000000000000a0}
(gdb) p iter._C_sb->_C_eback [1]
$24 = 0 '\000'
(gdb) p end
$25 = (struct std::istreambuf_iterator<char, std::char_traits<char>>
&) @0x9fffffffeee70d40: {_C_sb = 0x0}
(gdb) p io
$26 = (class std::basic_ios<char, std::char_traits<char>>
&) @0x9fffffffeee70d60: {<std::ios_base> = {<__rw::__rw_synchronized> = {
_C_mutex = {<__rw::__rw_mutex_base> = {_C_mutex = {__m_short = {54, 0},
__m_int = 129, __m_int1 = {1, 1, 1, 1}, __m_ptr = 0x1, __m_int2 = {
1, 0}, __m_int3 = {0, 0, -1, 0}, __m_short2 = {0, 2368},
__m_int4 = {0, 1, 1, 1, 1}, __m_int5 = {0,
0}}}, <No data fields>}}, _C_rdbuf = 0x9fffffffeee70ea0,
_C_prec = 6, _C_wide = 0, _C_fmtfl = 671289346, _C_state = 0 '\000',
_C_except = 0 '\000', _C_usr = 0x0, _C_loc = {
_C_body = 0x600000000008b690},
static _C_sync_with_stdio = <optimized out>,
static badbit = <optimized out>, static goodbit = <optimized out>,
static basefield = <optimized out>, static skipws = <optimized out>,
static oct = <optimized out>, static hex = <optimized out>,
static dec = <optimized out>, __vfp = 0x6000000000000040}, _C_fill = -1}
(gdb) p state
$27 = __rw::__rw_failbit
(gdb) p checked
$28 = 0
(gdb) p expected
$29 = 2
{noformat}
> [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.
[jira] Resolved: (STDCXX-886) [HP aCC 6.16] SIGABRT in
22.locale.num.get.mt
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Sebor resolved STDCXX-886.
---------------------------------
Resolution: Fixed
Assignee: Martin Sebor
Fix committed in [r649673|http://svn.apache.org/viewvc?rev=649673&view=rev].
> [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
> Assignee: 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.
[jira] Commented: (STDCXX-886) [HP aCC 6.16] SIGABRT in
22.locale.num.get.mt
Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Commented: (STDCXX-886) [HP aCC 6.16] SIGABRT in
22.locale.num.get.mt
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ 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" "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.
[jira] Closed: (STDCXX-886) [HP aCC 6.16] SIGABRT in
22.locale.num.get.mt
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Sebor closed STDCXX-886.
-------------------------------
Fix confirmed in nightly build results.
> [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
> Assignee: Martin Sebor
> Fix For: 4.2.2
>
> Time Spent: 2h
> Remaining Estimate: 0h
>
> 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.
[jira] Commented: (STDCXX-886) [HP aCC 6.16] SIGABRT in
22.locale.num.get.mt
Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590545#action_12590545 ]
Travis Vitek commented on STDCXX-886:
-------------------------------------
Well, according to the output you pasted above the affected locale {{C.iso88591}} has a {{NUL}} thousands seperator and the grouping is "127". So the {{NUL}} that is inserted after the 2 is treated as a thousands seperator. This is the same problem as STDCXX-846, the difference is just the locale name.
> [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.
[jira] Commented: (STDCXX-886) [HP aCC 6.16] SIGABRT in
22.locale.num.get.mt
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590526#action_12590526 ]
Martin Sebor commented on STDCXX-886:
-------------------------------------
This shouldn't be caused by a {{NUL}} thousands separator like STDCXX-846 presumably is since there appear to be no such locales on HP-UX:
{noformat}
$ for n in `locale -a`; do \
LC_ALL=$n locale -ck LC_NUMERIC | grep "thousands_sep=\"\"" >/dev/null; \
if [ $? -eq 0 ]; then \
printff "%16s: " $n; LC_ALL=$n locale -ck LC_NUMERIC | grep grouping; \
fi; \
done
C: grouping=
POSIX: grouping=
C.iso88591: grouping=127
C.iso885915: grouping=127
C.utf8: grouping=127
univ.utf8: grouping=127
ar_SA.arabic8: grouping=127
ar_SA.iso88596: grouping=127
ar_SA.utf8: grouping=127
{noformat}
> [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.