[ 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" "[EMAIL PROTECTED]" > "aa_ER.utf8" "[EMAIL PROTECTED]" "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" "[EMAIL > PROTECTED]" "aa_ER.utf8" "[EMAIL PROTECTED]" "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.