Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 34723 invoked from network); 21 Jun 2007 22:02:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 Jun 2007 22:02:49 -0000 Received: (qmail 30705 invoked by uid 500); 21 Jun 2007 22:02:53 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 30653 invoked by uid 500); 21 Jun 2007 22:02:53 -0000 Mailing-List: contact stdcxx-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-dev@incubator.apache.org Received: (qmail 30642 invoked by uid 99); 21 Jun 2007 22:02:53 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jun 2007 15:02:53 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jun 2007 15:02:46 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 1166C7141EE for ; Thu, 21 Jun 2007 15:02:26 -0700 (PDT) Message-ID: <1685997.1182463346004.JavaMail.jira@brutus> Date: Thu, 21 Jun 2007 15:02:26 -0700 (PDT) From: "Martin Sebor (JIRA)" To: stdcxx-dev@incubator.apache.org Subject: [jira] Created: (STDCXX-453) std::moneypunct not thread safe MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org std::moneypunct not thread safe ------------------------------- Key: STDCXX-453 URL: https://issues.apache.org/jira/browse/STDCXX-453 Project: C++ Standard Library Issue Type: Bug Components: 22. Localization Affects Versions: 4.1.3 Reporter: Martin Sebor Priority: Critical Attachments: 22.locale.moneypunct.mt.html The 22.locale.moneypunct.mt thread safety tests aborts at runtime indicating that there is a thread safety issue in the locale implementation. Running the test through the Intel Thread Checker reveals possible causes of the problem. $ tcheck_cl -v && make 22.locale.moneypunct.mt && tcheck_cl -f html -o 22.locale.moneypunct.mt ./22.locale.moneypunct.mt --nthreads=2 --nloops=1000 Intel(R) Thread Checker 3.1 command line instrumentation driver (24400) Copyright (c) 2007 Intel Corporation. All rights reserved. icc -cxxlib-nostd -g -w1 -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 /amd/devco/sebor/stdcxx/tests/localization/22.locale.moneypunct.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.moneypunct.mt 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.moneypunct.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.moneypunct.mt --nthreads=2 --nloops=1000 # 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.moneypunct.mt.cpp # COMPILED: Jun 13 2007, 14:05:31 # COMMENT: thread safety ############################################################ # CLAUSE: lib.locale.moneypunct # NOTE (S2) (5 lines): # TEXT: executing "locale -a > /tmp/tmpfile-EUSjge" # CLAUSE: lib.locale.moneypunct # FILE: process.cpp # LINE: 274 # INFO (S1) (3 lines): # TEXT: testing std::moneypunct with 2 threads, 1000 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.moneypunct # INFO (S1) (3 lines): # TEXT: exercising std::moneypunct # CLAUSE: lib.locale.moneypunct /amd/devco/sebor/stdcxx/tests/localization/22.locale.moneypunct.mt.cpp:167: void *thread_func(void *): Assertion 'fd == data->frac_digits_' failed. /amd/devco/sebor/stdcxx/tests/localization/22.locale.moneypunct.mt.cpp:167: void *thread_func(void *): Assertion 'fd == data->frac_digits_' failed. /build/sebor/stdcxx-icc-9.1_049-15S/tests/./22.locale.moneypunct.mt[0x/build/sebor/stdcxx-icc-9.1_049-15S/tests/./22.locale.moneypunct.mt[0x8b9470] 8b9470] Application finished -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.