You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2008/01/21 19:30:34 UTC

[jira] Updated: (STDCXX-523) data race in std::locale::classic()

     [ https://issues.apache.org/jira/browse/STDCXX-523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor updated STDCXX-523:
--------------------------------

              Severity: Resource Leak
    Remaining Estimate: 8h
     Original Estimate: 8h

> data race in std::locale::classic()
> -----------------------------------
>
>                 Key: STDCXX-523
>                 URL: https://issues.apache.org/jira/browse/STDCXX-523
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.1.3
>            Reporter: Martin Sebor
>            Assignee: Martin Sebor
>            Priority: Minor
>             Fix For: 4.2.1
>
>         Attachments: 22.locale.statics.mt.566892.html, 22.locale.statics.mt.html, 22.locale.statics.mt.html
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> Intel Thread Checker reports the following data race in std::locale::classic():
> $ tcheck_cl ./22.locale.statics.mt --no-global --nthreads=2
> 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-trunk-gcc-3.4.6_3-15D/tests/22.locale.statics.mt --no-global --nthreads=2
> # INFO (S1) (10 lines):
> # TEXT: 
> # COMPILER: gcc 3.4.6, __VERSION__ = "3.4.6 20060404 (Red Hat 3.4.6-3)"
> # ENVIRONMENT: x86_64/LP64 running linux-elf (Red Hat Enterprise Linux AS release 4 (Nahant Update 4)) with glibc 2.3
> # FILE: 22.locale.statics.mt.cpp
> # COMPILED: Aug 16 2007, 19:32:08
> # COMMENT: thread safety
> ############################################################
> # CLAUSE: lib.locale.statics
> # INFO (S1) (3 lines):
> # TEXT: testing std::locale::classic() with 2 threads
> # CLAUSE: lib.locale.statics
> # NOTE (S2) (4 lines):
> # TEXT: std::locale::global(const std::locale&) test disabled
> # CLAUSE: lib.locale.statics
> # LINE: 129
> # +-----------------------+----------+----------+----------+
> # | DIAGNOSTIC            |  ACTIVE  |   TOTAL  | INACTIVE |
> # +-----------------------+----------+----------+----------+
> # | (S1) INFO             |        2 |        2 |       0% |
> # | (S2) NOTE             |        1 |        2 |      50% |
> # +-----------------------+----------+----------+----------+
> Application finished
> _______________________________________________________________________________
> |ID|Short De|Seve|C|Context|Description                      |1st Acc|2nd Acce|
> |  |scriptio|rity|o|[Best] |                                 |ess[Bes|ss[Best]|
> |  |n       |Name|u|       |                                 |t]     |        |
> |  |        |    |n|       |                                 |       |        |
> |  |        |    |t|       |                                 |       |        |
> _______________________________________________________________________________
> |1 |Write ->|Erro|3|"22.loc|Memory read at                   |"_mutex|"22.loca|
> |  |Read dat|r   |6|ale.sta|"22.locale.statics.mt.cpp":78    |.h":580|le.stati|
> |  |a-race  |    | |tics.mt|conflicts with a prior memory    |       |cs.mt.cp|
> |  |        |    | |.cpp":6|write at "_mutex.h":580 (flow    |       |p":78   |
> |  |        |    | |9      |dependence)                      |       |        |
> _______________________________________________________________________________
> |2 |Read -> |Erro|1|[libstd|Memory write at [libstd15D.so,   |"locale|[libstd1|
> |  |Write da|r   | |15D.so,|0xb646b] conflicts with a prior  |_classi|5D.so,  |
> |  |ta-race |    | |0xb6460|memory read at                   |c.cpp":|0xb646b]|
> |  |        |    | |]      |"locale_classic.cpp":45 (anti    |45     |        |
> |  |        |    | |       |dependence)                      |       |        |
> _______________________________________________________________________________
> |3 |Read -> |Erro|1|[libstd|Memory write at [libstd15D.so,   |"locale|[libstd1|
> |  |Write da|r   | |15D.so,|0xb646b] conflicts with a prior  |_classi|5D.so,  |
> |  |ta-race |    | |0xb6460|memory read at                   |c.cpp":|0xb646b]|
> |  |        |    | |]      |"locale_classic.cpp":55 (anti    |55     |        |
> |  |        |    | |       |dependence)                      |       |        |
> _______________________________________________________________________________
> |4 |Thread t|Info|1|Whole  |Thread termination at            |"thread|"thread.|
> |  |erminati|rmat| |Program|"thread.cpp":84 - includes stack |.cpp":8|cpp":84 |
> |  |on      |ion | |1      |allocation of 10.004 MB and use  |4      |        |
> |  |        |    | |       |of 10.203 KB                     |       |        |
> _______________________________________________________________________________
> |5 |Thread t|Info|1|Whole  |Thread termination at            |"thread|"thread.|
> |  |erminati|rmat| |Program|"thread.cpp":84 - includes stack |.cpp":8|cpp":84 |
> |  |on      |ion | |2      |allocation of 10.004 MB and use  |4      |        |
> |  |        |    | |       |of 10.188 KB                     |       |        |
> _______________________________________________________________________________
> |6 |Thread t|Info|1|Whole  |Thread termination at            |"22.loc|"22.loca|
> |  |erminati|rmat| |Program|"22.locale.statics.mt.cpp":171 - |ale.sta|le.stati|
> |  |on      |ion | |3      |includes stack allocation of 10  |tics.mt|cs.mt.cp|
> |  |        |    | |       |MB and use of 8.094 KB           |.cpp":1|p":171  |
> |  |        |    | |       |                                 |71     |        |
> _______________________________________________________________________________

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.