stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (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 18:06:21 GMT

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


Mime
View raw message