Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-503

std::ctype not thread safe

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 4.1.2, 4.1.3, 4.1.4, 4.2.0
    • Fix Version/s: 4.2.1
    • Labels:
      None
    • Environment:

      Intel C++ 10.0 20070613 on Linux/EM64T

    • Severity:
      Runtime Error

      Description

      The 22.locale.ctype.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 --format html -o 22.locale.ctype.mt.html 22.locale.ctype.mt --nloops=1000
      Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
      Copyright (c) 2007 Intel Corporation. All rights reserved.
      Building project

      Running: /build/sebor/stdcxx-icc-10.0.025-15S/tests/22.locale.ctype.mt --nloops=1000

      1. INFO (S1) (10 lines):
      2. TEXT:
      3. COMPILER: Intel C++, _INTEL_COMPILER = 1000, __INTEL_COMPILER_BUILD_DATE = 20070613, __EDG_VERSION_ = 308
      4. ENVIRONMENT: x86_64/LP64 running linux-elf (Fedora Core release 6 (Zod)) with glibc 2.5
      5. FILE: 22.locale.ctype.mt.cpp
      6. COMPILED: Jul 29 2007, 16:10:58
      7. COMMENT: thread safety
        ############################################################
      1. CLAUSE: lib.locale.ctype
      1. NOTE (S2) (5 lines):
      2. TEXT: executing "locale -a > /tmp/tmpfile-wSljVr"
      3. CLAUSE: lib.locale.ctype
      4. FILE: process.cpp
      5. LINE: 270
      1. INFO (S1) (3 lines):
      2. TEXT: testing std::ctype<charT> with 2 threads, 1000 iterations each, in 16 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" }
      3. CLAUSE: lib.locale.ctype
      1. INFO (S1) (3 lines):
      2. TEXT: exercising std::ctype<char>
      3. CLAUSE: lib.locale.ctype
      1. INFO (S1) (3 lines):
      2. TEXT: exercising std::ctype<wchar_t>
      3. CLAUSE: lib.locale.ctype

      /home/sebor/stdcxx/tests/localization/22.locale.ctype.mt.cpp:156: void *thread_func(void *): Assertion 'wc == data->wwidened_ [cinx]' failed.
      /build/sebor/stdcxx-icc-10.0.025-15S/tests/./22.locale.ctype.mt[0xbd20c5]

      Application finished

        Attachments

        1. 22.locale.ctype.mt.html
          12 kB
          Martin Sebor

          Activity

            People

            • Assignee:
              vitek Travis Vitek
              Reporter:
              sebor Martin Sebor
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: