You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2007/06/19 03:45:25 UTC

[jira] Created: (STDCXX-450) std::use_facet() not thread safe

std::use_facet<std::num_put>() not thread safe
----------------------------------------------

                 Key: STDCXX-450
                 URL: https://issues.apache.org/jira/browse/STDCXX-450
             Project: C++ Standard Library
          Issue Type: Bug
          Components: 22. Localization
    Affects Versions: 4.1.3, 4.2
         Environment: Linux
            Reporter: Martin Sebor
            Priority: Blocker


The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).

$ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
icc (ICC) 9.1 20070320
Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.

Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
Copyright (c) 2007 Intel Corporation. All rights reserved.
icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
icc: warning: thread checking compilation disables optimization
# INFO (S1) (10 lines):
# TEXT: 
# COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
# ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
# FILE: 22.locale.num.put.mt.cpp
# COMPILED: Jun 13 2007, 14:05:31
# COMMENT: thread safety
############################################################

# CLAUSE: lib.locale.num.put

# NOTE (S2) (5 lines):
# TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
# CLAUSE: lib.locale.num.put
# FILE: process.cpp
# LINE: 274

# INFO (S1) (3 lines):
# TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
# CLAUSE: lib.locale.num.put

# INFO (S1) (3 lines):
# TEXT: exercising std::num_put<char>
# CLAUSE: lib.locale.num.put

/amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
./22.locale.num.put.mt[0x40eb27]
./22.locale.num.put.mt[0x40ebff]
./22.locale.num.put.mt[0x413760]
./22.locale.num.put.mt[0x419cbd]
./22.locale.num.put.mt[0x41d0e7]
./22.locale.num.put.mt[0x41d263]
./22.locale.num.put.mt[0x440ea3]
./22.locale.num.put.mt[0x440f51]
./22.locale.num.put.mt[0x4088d7]
./22.locale.num.put.mt[0x408cad]
./22.locale.num.put.mt[0x40d787]
/lib64/tls/libpthread.so.0[0x353a00610a]
/lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
Aborted
Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
Copyright (c) 2007 Intel Corporation. All rights reserved.
Building project
Instrumenting
 11% 22.locale.num.put.mt ( All Functions ):.......................................................
.
 33% libc-2.3.4.so   ( Minimal ):....
 44% libcxaguard.so.5 ( Minimal ):..
 55% libdl-2.3.4.so  ( Minimal ):..
 66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
 77% libimf.so       ( Minimal ):..
 88% libm-2.3.4.so   ( Minimal ):..
100% libpthread-2.3.4.so ( Minimal ):..

Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000

# INFO (S1) (10 lines):
# TEXT: 
# COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
# ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
# FILE: 22.locale.num.put.mt.cpp
# COMPILED: Jun 13 2007, 14:05:31
# COMMENT: thread safety
############################################################

# CLAUSE: lib.locale.num.put

# NOTE (S2) (5 lines):
# TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
# CLAUSE: lib.locale.num.put
# FILE: process.cpp
# LINE: 274

# INFO (S1) (3 lines):
# TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
# CLAUSE: lib.locale.num.put

# INFO (S1) (3 lines):
# TEXT: exercising std::num_put<char>
# CLAUSE: lib.locale.num.put


Application finished

_______________________________________________________________________________
|ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
|   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
_______________________________________________________________________________



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


[jira] Commented: (STDCXX-450) std::use_facet() not thread safe

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531674 ] 

Martin Sebor commented on STDCXX-450:
-------------------------------------

Is it possible that the problem was not in num_put but rather in numpunct or in the facet or locale cache?

> std::use_facet<std::num_put>() not thread safe
> ----------------------------------------------
>
>                 Key: STDCXX-450
>                 URL: https://issues.apache.org/jira/browse/STDCXX-450
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization, Thread Safety
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4
>         Environment: Linux
>            Reporter: Martin Sebor
>            Assignee: Travis Vitek
>            Priority: Blocker
>             Fix For: 4.2
>
>         Attachments: 22.locale.num.put.mt.html
>
>
> The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).
> $ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
> icc (ICC) 9.1 20070320
> Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
> icc: warning: thread checking compilation disables optimization
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> /amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
> ./22.locale.num.put.mt[0x40eb27]
> ./22.locale.num.put.mt[0x40ebff]
> ./22.locale.num.put.mt[0x413760]
> ./22.locale.num.put.mt[0x419cbd]
> ./22.locale.num.put.mt[0x41d0e7]
> ./22.locale.num.put.mt[0x41d263]
> ./22.locale.num.put.mt[0x440ea3]
> ./22.locale.num.put.mt[0x440f51]
> ./22.locale.num.put.mt[0x4088d7]
> ./22.locale.num.put.mt[0x408cad]
> ./22.locale.num.put.mt[0x40d787]
> /lib64/tls/libpthread.so.0[0x353a00610a]
> /lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
> Aborted
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> Building project
> Instrumenting
>  11% 22.locale.num.put.mt ( All Functions ):.......................................................
> .
>  33% libc-2.3.4.so   ( Minimal ):....
>  44% libcxaguard.so.5 ( Minimal ):..
>  55% libdl-2.3.4.so  ( Minimal ):..
>  66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
>  77% libimf.so       ( Minimal ):..
>  88% libm-2.3.4.so   ( Minimal ):..
> 100% libpthread-2.3.4.so ( Minimal ):..
> Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> Application finished
> _______________________________________________________________________________
> |ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
> |   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
> _______________________________________________________________________________

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


[jira] Updated: (STDCXX-450) std::use_facet() not thread safe

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor updated STDCXX-450:
--------------------------------

    Component/s: Thread Safety

Added Thread Safety to the list of components affected by this issue.

> std::use_facet<std::num_put>() not thread safe
> ----------------------------------------------
>
>                 Key: STDCXX-450
>                 URL: https://issues.apache.org/jira/browse/STDCXX-450
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization, Thread Safety
>    Affects Versions: 4.2, 4.1.3
>         Environment: Linux
>            Reporter: Martin Sebor
>            Priority: Blocker
>         Attachments: 22.locale.num.put.mt.html
>
>
> The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).
> $ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
> icc (ICC) 9.1 20070320
> Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
> icc: warning: thread checking compilation disables optimization
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> /amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
> ./22.locale.num.put.mt[0x40eb27]
> ./22.locale.num.put.mt[0x40ebff]
> ./22.locale.num.put.mt[0x413760]
> ./22.locale.num.put.mt[0x419cbd]
> ./22.locale.num.put.mt[0x41d0e7]
> ./22.locale.num.put.mt[0x41d263]
> ./22.locale.num.put.mt[0x440ea3]
> ./22.locale.num.put.mt[0x440f51]
> ./22.locale.num.put.mt[0x4088d7]
> ./22.locale.num.put.mt[0x408cad]
> ./22.locale.num.put.mt[0x40d787]
> /lib64/tls/libpthread.so.0[0x353a00610a]
> /lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
> Aborted
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> Building project
> Instrumenting
>  11% 22.locale.num.put.mt ( All Functions ):.......................................................
> .
>  33% libc-2.3.4.so   ( Minimal ):....
>  44% libcxaguard.so.5 ( Minimal ):..
>  55% libdl-2.3.4.so  ( Minimal ):..
>  66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
>  77% libimf.so       ( Minimal ):..
>  88% libm-2.3.4.so   ( Minimal ):..
> 100% libpthread-2.3.4.so ( Minimal ):..
> Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> Application finished
> _______________________________________________________________________________
> |ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
> |   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
> _______________________________________________________________________________

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


[jira] Resolved: (STDCXX-450) std::use_facet() not thread safe

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek resolved STDCXX-450.
---------------------------------

    Resolution: Cannot Reproduce

Appears to have been fixed by recent multithreading fixes.

> std::use_facet<std::num_put>() not thread safe
> ----------------------------------------------
>
>                 Key: STDCXX-450
>                 URL: https://issues.apache.org/jira/browse/STDCXX-450
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization, Thread Safety
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4
>         Environment: Linux
>            Reporter: Martin Sebor
>            Assignee: Travis Vitek
>            Priority: Blocker
>             Fix For: 4.2
>
>         Attachments: 22.locale.num.put.mt.html
>
>
> The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).
> $ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
> icc (ICC) 9.1 20070320
> Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
> icc: warning: thread checking compilation disables optimization
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> /amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
> ./22.locale.num.put.mt[0x40eb27]
> ./22.locale.num.put.mt[0x40ebff]
> ./22.locale.num.put.mt[0x413760]
> ./22.locale.num.put.mt[0x419cbd]
> ./22.locale.num.put.mt[0x41d0e7]
> ./22.locale.num.put.mt[0x41d263]
> ./22.locale.num.put.mt[0x440ea3]
> ./22.locale.num.put.mt[0x440f51]
> ./22.locale.num.put.mt[0x4088d7]
> ./22.locale.num.put.mt[0x408cad]
> ./22.locale.num.put.mt[0x40d787]
> /lib64/tls/libpthread.so.0[0x353a00610a]
> /lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
> Aborted
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> Building project
> Instrumenting
>  11% 22.locale.num.put.mt ( All Functions ):.......................................................
> .
>  33% libc-2.3.4.so   ( Minimal ):....
>  44% libcxaguard.so.5 ( Minimal ):..
>  55% libdl-2.3.4.so  ( Minimal ):..
>  66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
>  77% libimf.so       ( Minimal ):..
>  88% libm-2.3.4.so   ( Minimal ):..
> 100% libpthread-2.3.4.so ( Minimal ):..
> Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> Application finished
> _______________________________________________________________________________
> |ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
> |   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
> _______________________________________________________________________________

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


[jira] Assigned: (STDCXX-450) std::use_facet() not thread safe

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek reassigned STDCXX-450:
-----------------------------------

    Assignee: Travis Vitek

> std::use_facet<std::num_put>() not thread safe
> ----------------------------------------------
>
>                 Key: STDCXX-450
>                 URL: https://issues.apache.org/jira/browse/STDCXX-450
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization, Thread Safety
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4
>         Environment: Linux
>            Reporter: Martin Sebor
>            Assignee: Travis Vitek
>            Priority: Blocker
>             Fix For: 4.2
>
>         Attachments: 22.locale.num.put.mt.html
>
>
> The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).
> $ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
> icc (ICC) 9.1 20070320
> Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
> icc: warning: thread checking compilation disables optimization
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> /amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
> ./22.locale.num.put.mt[0x40eb27]
> ./22.locale.num.put.mt[0x40ebff]
> ./22.locale.num.put.mt[0x413760]
> ./22.locale.num.put.mt[0x419cbd]
> ./22.locale.num.put.mt[0x41d0e7]
> ./22.locale.num.put.mt[0x41d263]
> ./22.locale.num.put.mt[0x440ea3]
> ./22.locale.num.put.mt[0x440f51]
> ./22.locale.num.put.mt[0x4088d7]
> ./22.locale.num.put.mt[0x408cad]
> ./22.locale.num.put.mt[0x40d787]
> /lib64/tls/libpthread.so.0[0x353a00610a]
> /lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
> Aborted
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> Building project
> Instrumenting
>  11% 22.locale.num.put.mt ( All Functions ):.......................................................
> .
>  33% libc-2.3.4.so   ( Minimal ):....
>  44% libcxaguard.so.5 ( Minimal ):..
>  55% libdl-2.3.4.so  ( Minimal ):..
>  66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
>  77% libimf.so       ( Minimal ):..
>  88% libm-2.3.4.so   ( Minimal ):..
> 100% libpthread-2.3.4.so ( Minimal ):..
> Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> Application finished
> _______________________________________________________________________________
> |ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
> |   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
> _______________________________________________________________________________

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


[jira] Updated: (STDCXX-450) std::use_facet() not thread safe

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor updated STDCXX-450:
--------------------------------

    Attachment: 22.locale.num.put.mt.html

Specifying the -o option to the Thread Checker made the tool produce the attached file after a successful run of the test.

> std::use_facet<std::num_put>() not thread safe
> ----------------------------------------------
>
>                 Key: STDCXX-450
>                 URL: https://issues.apache.org/jira/browse/STDCXX-450
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.2, 4.1.3
>         Environment: Linux
>            Reporter: Martin Sebor
>            Priority: Blocker
>         Attachments: 22.locale.num.put.mt.html
>
>
> The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).
> $ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
> icc (ICC) 9.1 20070320
> Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
> icc: warning: thread checking compilation disables optimization
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> /amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
> ./22.locale.num.put.mt[0x40eb27]
> ./22.locale.num.put.mt[0x40ebff]
> ./22.locale.num.put.mt[0x413760]
> ./22.locale.num.put.mt[0x419cbd]
> ./22.locale.num.put.mt[0x41d0e7]
> ./22.locale.num.put.mt[0x41d263]
> ./22.locale.num.put.mt[0x440ea3]
> ./22.locale.num.put.mt[0x440f51]
> ./22.locale.num.put.mt[0x4088d7]
> ./22.locale.num.put.mt[0x408cad]
> ./22.locale.num.put.mt[0x40d787]
> /lib64/tls/libpthread.so.0[0x353a00610a]
> /lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
> Aborted
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> Building project
> Instrumenting
>  11% 22.locale.num.put.mt ( All Functions ):.......................................................
> .
>  33% libc-2.3.4.so   ( Minimal ):....
>  44% libcxaguard.so.5 ( Minimal ):..
>  55% libdl-2.3.4.so  ( Minimal ):..
>  66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
>  77% libimf.so       ( Minimal ):..
>  88% libm-2.3.4.so   ( Minimal ):..
> 100% libpthread-2.3.4.so ( Minimal ):..
> Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> Application finished
> _______________________________________________________________________________
> |ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
> |   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
> _______________________________________________________________________________

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


[jira] Commented: (STDCXX-450) std::use_facet() not thread safe

Posted by "Farid Zaripov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531693 ] 

Farid Zaripov commented on STDCXX-450:
--------------------------------------

The r580086 doesn't includes the latest mt fixes.

> std::use_facet<std::num_put>() not thread safe
> ----------------------------------------------
>
>                 Key: STDCXX-450
>                 URL: https://issues.apache.org/jira/browse/STDCXX-450
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization, Thread Safety
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4
>         Environment: Linux
>            Reporter: Martin Sebor
>            Assignee: Travis Vitek
>            Priority: Blocker
>             Fix For: 4.2
>
>         Attachments: 22.locale.num.put.mt.html
>
>
> The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).
> $ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
> icc (ICC) 9.1 20070320
> Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
> icc: warning: thread checking compilation disables optimization
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> /amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
> ./22.locale.num.put.mt[0x40eb27]
> ./22.locale.num.put.mt[0x40ebff]
> ./22.locale.num.put.mt[0x413760]
> ./22.locale.num.put.mt[0x419cbd]
> ./22.locale.num.put.mt[0x41d0e7]
> ./22.locale.num.put.mt[0x41d263]
> ./22.locale.num.put.mt[0x440ea3]
> ./22.locale.num.put.mt[0x440f51]
> ./22.locale.num.put.mt[0x4088d7]
> ./22.locale.num.put.mt[0x408cad]
> ./22.locale.num.put.mt[0x40d787]
> /lib64/tls/libpthread.so.0[0x353a00610a]
> /lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
> Aborted
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> Building project
> Instrumenting
>  11% 22.locale.num.put.mt ( All Functions ):.......................................................
> .
>  33% libc-2.3.4.so   ( Minimal ):....
>  44% libcxaguard.so.5 ( Minimal ):..
>  55% libdl-2.3.4.so  ( Minimal ):..
>  66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
>  77% libimf.so       ( Minimal ):..
>  88% libm-2.3.4.so   ( Minimal ):..
> 100% libpthread-2.3.4.so ( Minimal ):..
> Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> Application finished
> _______________________________________________________________________________
> |ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
> |   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
> _______________________________________________________________________________

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


[jira] Commented: (STDCXX-450) std::use_facet() not thread safe

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531676 ] 

Martin Sebor commented on STDCXX-450:
-------------------------------------

Actually, I looked through our nightly test results and the test still fails on a number of platforms, including these two:
http://people.apache.org/~sebor/stdcxx/results/hpux-11.11-pa-acc-3.73-12D-580086-log.gz.txt
http://people.apache.org/~sebor/stdcxx/results/linux_redhat_el-4.4-em64t-icc-10.0-12s-580086-log.gz.txt

The test also fails with SIGHUP (due to a timeout) on some platforms, e.g.,
http://people.apache.org/~sebor/stdcxx/results/hpux-11.11-pa-acc-3.73-12d-580086-log.gz.txt

> std::use_facet<std::num_put>() not thread safe
> ----------------------------------------------
>
>                 Key: STDCXX-450
>                 URL: https://issues.apache.org/jira/browse/STDCXX-450
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization, Thread Safety
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4
>         Environment: Linux
>            Reporter: Martin Sebor
>            Assignee: Travis Vitek
>            Priority: Blocker
>             Fix For: 4.2
>
>         Attachments: 22.locale.num.put.mt.html
>
>
> The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).
> $ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
> icc (ICC) 9.1 20070320
> Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
> icc: warning: thread checking compilation disables optimization
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> /amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
> ./22.locale.num.put.mt[0x40eb27]
> ./22.locale.num.put.mt[0x40ebff]
> ./22.locale.num.put.mt[0x413760]
> ./22.locale.num.put.mt[0x419cbd]
> ./22.locale.num.put.mt[0x41d0e7]
> ./22.locale.num.put.mt[0x41d263]
> ./22.locale.num.put.mt[0x440ea3]
> ./22.locale.num.put.mt[0x440f51]
> ./22.locale.num.put.mt[0x4088d7]
> ./22.locale.num.put.mt[0x408cad]
> ./22.locale.num.put.mt[0x40d787]
> /lib64/tls/libpthread.so.0[0x353a00610a]
> /lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
> Aborted
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> Building project
> Instrumenting
>  11% 22.locale.num.put.mt ( All Functions ):.......................................................
> .
>  33% libc-2.3.4.so   ( Minimal ):....
>  44% libcxaguard.so.5 ( Minimal ):..
>  55% libdl-2.3.4.so  ( Minimal ):..
>  66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
>  77% libimf.so       ( Minimal ):..
>  88% libm-2.3.4.so   ( Minimal ):..
> 100% libpthread-2.3.4.so ( Minimal ):..
> Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> Application finished
> _______________________________________________________________________________
> |ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
> |   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
> _______________________________________________________________________________

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


[jira] Updated: (STDCXX-450) std::use_facet() not thread safe

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor updated STDCXX-450:
--------------------------------

    Affects Version/s:     (was: 4.2)
                       4.1.2
                       4.1.4
        Fix Version/s: 4.2

This most liklely affects all previous versions as far back as 3.0, and possibly prior. Scheduled for 4.2.

> std::use_facet<std::num_put>() not thread safe
> ----------------------------------------------
>
>                 Key: STDCXX-450
>                 URL: https://issues.apache.org/jira/browse/STDCXX-450
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization, Thread Safety
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4
>         Environment: Linux
>            Reporter: Martin Sebor
>            Priority: Blocker
>             Fix For: 4.2
>
>         Attachments: 22.locale.num.put.mt.html
>
>
> The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).
> $ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
> icc (ICC) 9.1 20070320
> Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
> icc: warning: thread checking compilation disables optimization
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> /amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
> ./22.locale.num.put.mt[0x40eb27]
> ./22.locale.num.put.mt[0x40ebff]
> ./22.locale.num.put.mt[0x413760]
> ./22.locale.num.put.mt[0x419cbd]
> ./22.locale.num.put.mt[0x41d0e7]
> ./22.locale.num.put.mt[0x41d263]
> ./22.locale.num.put.mt[0x440ea3]
> ./22.locale.num.put.mt[0x440f51]
> ./22.locale.num.put.mt[0x4088d7]
> ./22.locale.num.put.mt[0x408cad]
> ./22.locale.num.put.mt[0x40d787]
> /lib64/tls/libpthread.so.0[0x353a00610a]
> /lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
> Aborted
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> Building project
> Instrumenting
>  11% 22.locale.num.put.mt ( All Functions ):.......................................................
> .
>  33% libc-2.3.4.so   ( Minimal ):....
>  44% libcxaguard.so.5 ( Minimal ):..
>  55% libdl-2.3.4.so  ( Minimal ):..
>  66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
>  77% libimf.so       ( Minimal ):..
>  88% libm-2.3.4.so   ( Minimal ):..
> 100% libpthread-2.3.4.so ( Minimal ):..
> Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> Application finished
> _______________________________________________________________________________
> |ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
> |   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
> _______________________________________________________________________________

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


[jira] Commented: (STDCXX-450) std::use_facet() not thread safe

Posted by "Farid Zaripov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531542 ] 

Farid Zaripov commented on STDCXX-450:
--------------------------------------

I can't to reproduce this bug on MSCV 8.0 and gcc 4.2.0/Linux. Perhaps the bug accidentally fixed while fixing the another mt bugs (i.e. numpunct<>).

> std::use_facet<std::num_put>() not thread safe
> ----------------------------------------------
>
>                 Key: STDCXX-450
>                 URL: https://issues.apache.org/jira/browse/STDCXX-450
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization, Thread Safety
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4
>         Environment: Linux
>            Reporter: Martin Sebor
>            Priority: Blocker
>             Fix For: 4.2
>
>         Attachments: 22.locale.num.put.mt.html
>
>
> The 22.locale.num.put.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Unfortunately, running the test through the Intel Thread Checker hasn't revealed the cause of the problem since the thread checker exits prematurely, most likely due to a bug in the tool itself (see below).
> $ icc --version && tcheck_cl -v && make 22.locale.num.put.mt CXXOPTS=-tcheck LDOPTS=-tcheck && ./22.locale.num.put.mt --nthreads=4 --nloops=10000 || tcheck_cl ./22.locale.num.put.mt --nthreads=4 --nloops=1000000
> icc (ICC) 9.1 20070320
> Copyright (C) 1985-2007 Intel Corporation.  All rights reserved.
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> icc -cxxlib-nostd -g   -w1 -tcheck -I/amd/devco/sebor/stdcxx/include/ansi -D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-9.1_049-15S/include -I/amd/devco/sebor/stdcxx/tests/include  -L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  -lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib -tcheck  /amd/devco/sebor/stdcxx/tests/localization/22.locale.num.put.mt.cpp /build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a /build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard -lsupc++ -lm -o 22.locale.num.put.mt
> icc: warning: thread checking compilation disables optimization
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-qNKfDC"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 10000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> /amd/devco/sebor/stdcxx/src/locale_body.h:242: static __rw::__rw_facet::_C_facet_type __rw::__rw_locale::_C_get_facet_type(const __rw::__rw_facet &): Assertion '0 != __facet._C_pid' failed.
> ./22.locale.num.put.mt[0x40eb27]
> ./22.locale.num.put.mt[0x40ebff]
> ./22.locale.num.put.mt[0x413760]
> ./22.locale.num.put.mt[0x419cbd]
> ./22.locale.num.put.mt[0x41d0e7]
> ./22.locale.num.put.mt[0x41d263]
> ./22.locale.num.put.mt[0x440ea3]
> ./22.locale.num.put.mt[0x440f51]
> ./22.locale.num.put.mt[0x4088d7]
> ./22.locale.num.put.mt[0x408cad]
> ./22.locale.num.put.mt[0x40d787]
> /lib64/tls/libpthread.so.0[0x353a00610a]
> /lib64/tls/libc.so.6(__clone+0x73)[0x35395c68c3]
> Aborted
> Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
> Copyright (c) 2007 Intel Corporation. All rights reserved.
> Building project
> Instrumenting
>  11% 22.locale.num.put.mt ( All Functions ):.......................................................
> .
>  33% libc-2.3.4.so   ( Minimal ):....
>  44% libcxaguard.so.5 ( Minimal ):..
>  55% libdl-2.3.4.so  ( Minimal ):..
>  66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
>  77% libimf.so       ( Minimal ):..
>  88% libm-2.3.4.so   ( Minimal ):..
> 100% libpthread-2.3.4.so ( Minimal ):..
> Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.num.put.mt --nthreads=4 --nloops=1000000
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 20070320, __EDG_VERSION__ = 306
> # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
> # FILE: 22.locale.num.put.mt.cpp
> # COMPILED: Jun 13 2007, 14:05:31
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.num.put
> # NOTE (S2) (5 lines):
> # TEXT: executing "locale -a > /tmp/tmpfile-j8uQY8"
> # CLAUSE: lib.locale.num.put
> # FILE: process.cpp
> # LINE: 274
> # INFO (S1) (3 lines):
> # TEXT: testing std::num_put<charT> with 4 threads, 1000000 iterations each, in locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "aa_ER@saaho" "aa_ER.utf8" "aa_ER.utf8@saaho" "aa_ET" "aa_ET.utf8" "af_ZA" "af_ZA.iso88591" "af_ZA.utf8" "am_ET" "am_ET.utf8" "an_ES" "an_ES.iso885915" "an_ES.utf8" "ar_AE" "ar_AE.iso88596" "ar_AE.utf8" "ar_BH" "ar_BH.iso88596" "ar_BH.utf8" "ar_DZ" "ar_DZ.iso88596" "ar_DZ.utf8" "ar_EG" "ar_EG.iso88596" "ar_EG.utf8" "ar_IN" "ar_IN.utf8" "ar_IQ" }
> # CLAUSE: lib.locale.num.put
> # INFO (S1) (3 lines):
> # TEXT: exercising std::num_put<char>
> # CLAUSE: lib.locale.num.put
> Application finished
> _______________________________________________________________________________
> |ID |Short        |Severity  |Coun|Context[B|Descript|1st Access[|2nd         |
> |   |Description  |Name      |t   |est]     |ion     |Best]      |Access[Best]|
> _______________________________________________________________________________

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