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

SIGHUP in 22.locale.numpunct.mt

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 4.2.1
    • 4.2.2
    • Tests
    • None
    • Intel C++ 10.0
      Red Hat Enterprise Linux Server release 5 (Tikanga)

    • Regression
    • Inefficiency

    Description

      During nightly builds the test 22.locale.numpunct.mt.cpp times out on many platforms, including some build types with gcc 4.1 and all build types with Intel C++ 10/Linux, or with XLC++ 9.0 on AIX. The output below shows that it takes nearly 8 minutes to run to completion, which is in contrast to most other .mt tests which typically complete in less than 2 minutes. Since most of the locale thread safety tests follow the same pattern there must be some inefficiency either in the implementation of the std::numpunct facet or in specifics of the test itself (or both).

      Since this test is new in 4.2.1, its failure is a regression.

      $ time ./22.locale.numpunct.mt
      # INFO (S1) (10 lines):
      # TEXT: 
      # COMPILER: Intel C++, __INTEL_COMPILER = 1000, __INTEL_COMPILER_BUILD_DATE = 20070613, __EDG_VERSION__ = 308
      # ENVIRONMENT: x86_64/LP64 running linux-elf (Red Hat Enterprise Linux Server release 5 (Tikanga)) with glibc 2.5
      # FILE: 22.locale.numpunct.mt.cpp
      # COMPILED: Apr  8 2008, 14:00:18
      # COMMENT: thread safety
      ############################################################
      
      # CLAUSE: lib.locale.numpunct
      
      # NOTE (S2) (5 lines):
      # TEXT: executing "locale -a > /tmp/tmpfile-6kp9dU"
      # CLAUSE: lib.locale.numpunct
      # FILE: process.cpp
      # LINE: 279
      
      # INFO (S1) (3 lines):
      # TEXT: testing std::numpunct<charT> with 4 threads, 200000 iterations each, in 32 locales { "C" "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" }
      # CLAUSE: lib.locale.numpunct
      
      # INFO (S1) (3 lines):
      # TEXT: exercising std::numpunct<char>
      # CLAUSE: lib.locale.numpunct
      
      # INFO (S1) (3 lines):
      # TEXT: exercising std::numpunct<wchar_t>
      # CLAUSE: lib.locale.numpunct
      
      # INFO (S1) (3 lines):
      # TEXT: exercising both std::numpunct<char> and std::numpunct<wchar_t>
      # CLAUSE: lib.locale.numpunct
      
      # +-----------------------+----------+----------+----------+
      # | DIAGNOSTIC            |  ACTIVE  |   TOTAL  | INACTIVE |
      # +-----------------------+----------+----------+----------+
      # | (S1) INFO             |        5 |        5 |       0% |
      # | (S2) NOTE             |        1 |        1 |       0% |
      # | (S8) ERROR            |        0 |        3 |     100% |
      # | (S9) FATAL            |        0 |        1 |     100% |
      # +-----------------------+----------+----------+----------+
      
      real    7m52.542s
      user    6m17.488s
      sys     1m15.817s
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              sebor Martin Sebor
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 2h
                  2h
                  Remaining:
                  Remaining Estimate - 2h
                  2h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified