[ https://issues.apache.org/jira/browse/STDCXX-477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Sebor updated STDCXX-477: -------------------------------- Affects Version/s: 4.1.3 4.1.2 Summary: SIGABRT calling std::locale::operator==() in debug configurations (was: SIGABRT calling std::locale::operator==() from multiple threads in debug configurations) The bug goes back at least as far as 4.1.2. > SIGABRT calling std::locale::operator==() in debug configurations > ----------------------------------------------------------------- > > Key: STDCXX-477 > URL: https://issues.apache.org/jira/browse/STDCXX-477 > Project: C++ Standard Library > Issue Type: Bug > Components: 22. Localization > Affects Versions: 4.1.3, 4.1.2 > Reporter: Martin Sebor > > The 22.locale.cons.mt test causes a SIGABRT in std::locale::operator==() but > only in debug builds: > $ ./22.locale.cons.mt --nloops=10000 > # 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 (Fedora Core release 6 (Zod)) > with glibc 2.5 > # FILE: 22.locale.cons.mt.cpp > # COMPILED: Jul 8 2007, 15:54:33 > # COMMENT: thread safety > ############################################################ > # CLAUSE: lib.locale.cons > # NOTE (S2) (5 lines): > # TEXT: executing "locale -a > /tmp/tmpfile-n8bvda" > # CLAUSE: lib.locale.cons > # FILE: process.cpp > # LINE: 274 > # INFO (S1) (3 lines): > # TEXT: testing std::locale ctors with 2 threads, 10000 iterations each, in > 32 locales { "aa_DJ" "aa_DJ.iso88591" "aa_DJ.utf8" "aa_ER" "[EMAIL > PROTECTED]" "aa_ER.utf8" "[EMAIL PROTECTED]" "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.cons > /home/sebor/stdcxx/src/locale_eq.cpp:73: bool std::locale::operator==(const > std::locale &) const: Assertion '_C_body->_C_std_facet_bits != > _C_body->_C_all || rhs._C_body->_C_std_facet_bits != _C_body->_C_all || > _C_body->_C_byname_facet_bits != _C_body->_C_all || > rhs._C_body->_C_byname_facet_bits != _C_body->_C_all' failed. > ./22.locale.cons.mt[0x45896e] > /home/sebor/stdcxx/src/locale_eq.cpp:73: bool std::locale::operator==(const > std::locale &) const: Assertion '_C_body->_C_std_facet_bits != > _C_body->_C_all || rhs._C_body->_C_std_facet_bits != _C_body->_C_all || > _C_body->_C_byname_facet_bits != _C_body->_C_all || > rhs._C_body->_C_byname_facet_bits != _C_body->_C_all' failed. > ./22.locale.cons.mt[0x45896e] > ./22.locale.cons.mt[0x458a39] > ./22.locale.cons.mt[0x46030f] > ./22.locale.cons.mt[0x4412ec] > /lib64/libpthread.so.0[0x39fae06305] > /lib64/libc.so.6(clone+0x6d)[0x39f82cd50d] > Aborted -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.