Details
Description
When compiled wuith HP aCC 6 on HP-UX/IPF the thread safety test 22.locale.codecvt.mt.cpp aborts in all build types. The stack trace below from a 15D build type suggests that the problem may not be related to the thread safety of the facet.
$ ./22.locale.codecvt.mt # INFO (S1) (10 lines): # TEXT: # COMPILER: HP aCC, __HP_aCC = 61600, __EDG_VERSION__ = 308 # ENVIRONMENT: ia64 running hp-ux # FILE: 22.locale.codecvt.mt.cpp # COMPILED: Apr 16 2008, 17:32:26 # COMMENT: thread safety ############################################################ # CLAUSE: lib.locale.codecvt # NOTE (S2) (5 lines): # TEXT: executing "locale -a > /var/tmp/tmpfile-017533" # CLAUSE: lib.locale.codecvt # FILE: process.cpp # LINE: 276 # INFO (S1) (3 lines): # TEXT: testing std::codecvt<charT> with 4 threads, 5000 iterations each, in 32 locales { "C" "POSIX" "C.iso88591" "C.is o885915" "C.utf8" "univ.utf8" "ar_DZ.arabic8" "ar_DZ.utf8" "ar_SA.arabic8" "ar_SA.iso88596" "ar_SA.utf8" "bg_BG.iso88595 " "bg_BG.utf8" "zh_CN.gb18030" "zh_CN.hp15CN" "zh_CN.utf8" "zh_HK.hkbig5" "zh_HK.utf8" "zh_TW.big5" "zh_TW.ccdc" "zh_TW. eucTW" "zh_TW.utf8" "cs_CZ.iso88592" "cs_CZ.utf8" "da_DK.iso88591" "da_DK.iso885915@euro" "da_DK.roman8" "da_DK.utf8" "n l_NL.iso88591" "nl_NL.iso885915@euro" "nl_NL.roman8" "nl_NL.utf8" } # CLAUSE: lib.locale.codecvt # INFO (S1) (3 lines): # TEXT: exercising std::codecvt<char, char> # CLAUSE: lib.locale.codecvt # INFO (S1) (3 lines): # TEXT: exercising std::codecvt<wchar_t, char> # CLAUSE: lib.locale.codecvt /amd/devco/sebor/stdcxx-4.2.x/tests/localization/22.locale.codecvt.mt.cpp:239: void test_codecvt(const std::locale &, const MyBuffer<internT> &, const MyBuffer<char> &, const MyCodecvtData_T<internT> &, MyCodecvtData::CvtId) [with internT = wchar_t]: Assertion 'to == to_next' failed. /amd/devco/sebor/stdcxx-4.2.x/tests/localization/22.locale.codecvt.mt.cpp:239: void test_codecvt(const std::locale &, const MyBuffer<internT> &, const MyBuffer<char> &, const MyCodecvtData_T<internT> &, MyCodecvtData::CvtId) [with internT = wchar_t]: Assertion 'to == to_next' failed. (0) 0xc0000000065281b0 _ZN4__rw16__rw_assert_failEPKcS1_iS1_ + 0x170 at /amd/devco/sebor/stdcxx-4.2.x/src/assert.cpp:103 [/build/sebor/stdcxx-4.2.x-aCC-6.16-15D//lib/libstd15D.sl] /amd/devco/sebor/stdcxx-4.2.x/tests/localization/22.locale.codecvt.mt.cpp:239: void test_codecvt(const std::locale &, const MyBuffer<internT> &, const MyBuffer<char> &, const MyCodecvtData_T<internT> &, MyCodecvtData::CvtId) [with internT = wchar_t]: Assertion 'to == to_next' failed. (1) 0x4000000000022a90 _Z12test_codecvtIwEvRKSt6localeRK8MyBufferIT_ERKS3_IcERK15MyCodecvtData_TIS4_EN13MyCodecvtData5CvtIdE + 0x440 at /amd/devco/sebor/stdcxx-4.2.x/tests/localization/22.locale.codecvt.mt.cpp:239 [./22.locale.codecvt.mt] (2) 0x40000000000216c0 _Z11thread_funcPv + 0x3e0 at /amd/devco/sebor/stdcxx-4.2.x/tests/localization/22.locale.codecvt.mt.cpp:340 [./22.locale.codecvt.mt] (3) 0xc0000000000dfa90 __pthread_bound_body + 0x170 at /ux/core/libs/threadslibs/src/common/pthreads/pthread.c:4871 [/usr/lib/hpux64/libpthread.so.1] ABORT instruction (core dumped)