
|
If you were logged in you would be able to see more operations.
|
|
|
|
File Attachments:
|
|
|
Environment:
|
Linux
|
|
| Resolution Date: |
01/Oct/07 11:39 PM
|
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] |
_______________________________________________________________________________
|
|
Description
|
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] |
_______________________________________________________________________________
|
Show » |
|