You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2006/06/28 19:49:31 UTC
[jira] Created: (STDCXX-211) SIGABRT in locale combining ctor after
use_facet
SIGABRT in locale combining ctor after use_facet
------------------------------------------------
Key: STDCXX-211
URL: http://issues.apache.org/jira/browse/STDCXX-211
Project: C++ Standard Library
Type: Bug
Components: 22. Localization
Versions: 4.1.2, 4.1.3
Environment: all
Reporter: Martin Sebor
Moved from the Rogue Wave bug tracking database:
****Created By: sebor @ Jun 19, 2004 03:00:35 PM****
The program below aborts on most (if not all) platforms. Output shown is on HP-UX 11.00 with aCC 3.52.
$ cat t.cpp
#include <cstdio>
#include <locale>
template <class charT>
void foo (const char *name1, const char *name2)
{
{
const std::locale l0 (name1);
const std::locale l1 (l0, name2, std::locale::time);
std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
std::use_facet<std::time_get<charT> >(l1);
std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
}
return;
}
int main (int argc, char *argv[])
{
foo<char>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
foo<wchar_t>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
}
$ aCC -c -I/build/sebor/dev/stdlib/include/ansi -I/usr/include -D_RWSTDDEBUG -D_RWSTD_NO_EXTERN_TEMPLATE -D_RWSTD_USE_CONFIG -I/build/sebor/aCC-3.52-11s/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/../rwtest -I/build/sebor/dev/stdlib/../rwtest/include -I/build/sebor/dev/stdlib/tests/include -Aa +nostl -g +d +w +W392 +W655 +W684 +W818 +W819 +W849 t.cpp && aCC t.o -o t -L/build/sebor/aCC-3.52-11s/rwtest -lrwtest11s -L/build/sebor/aCC-3.52-11s/lib -lstd11s -lm -Aa +nostl -Wl,+s -Wl,+vnocompatwarnings -L/build/sebor/aCC-3.52-11s/lib && ./t
C C C C C C, C C C C C C
*, *
/build/sebor/dev/stdlib/src/locale_combine.cpp:571: static __rw::__rw_locale *__rw::__rw_locale::_C_make_body(__rw::__rw_locale *,__rw::__rw_locale *,const char *,int,const __rw::__rw_facet *): Assertion '!plocale || plocale->_C_is_managed (_STD::locale::none)' failed.
( 0) 0x00010440 __rw_assert_fail__4__rwFPCcT1iT1 + 0x7c [././t]
( 1) 0x0001ae58 _C_make_body__Q2_4__rw11__rw_localeSFPQ2_4__rw11__rw_localeT1PCciPCQ2_4__rw10__r + 0x464 [././t]
( 2) 0x0001b3cc __ct__Q2_3std6localeFPCc_2 + 0x5c [././t]
( 3) 0x0000bf94 foo__XTw_FPCcT1 + 0x20 [././t]
( 4) 0x0000be2c main + 0x94 [././t]
( 5) 0xc013e8fc _start + 0xc8 [/usr/lib/libc.2]
( 6) 0x0000acb0 $START$ + 0x178 [././t]
ABORT instruction (core dumped)
$ ./t da_DK.iso8859 en_US.roman8
ABORT instruction (core dumped)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Resolved: (STDCXX-211) SIGABRT in locale combining ctor
after use_facet
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-211?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Sebor resolved STDCXX-211.
---------------------------------
Resolution: Fixed
Fix Version/s: 4.2
Looks like this is fixed. Leaving open until the exhaustive test from the attachment has been integrated into the regression test suite.
> SIGABRT in locale combining ctor after use_facet
> ------------------------------------------------
>
> Key: STDCXX-211
> URL: https://issues.apache.org/jira/browse/STDCXX-211
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 22. Localization
> Affects Versions: 4.1.3, 4.1.2
> Environment: all
> Reporter: Martin Sebor
> Fix For: 4.2
>
> Attachments: stdcxx-211.cpp
>
>
> Moved from the Rogue Wave bug tracking database:
> ****Created By: sebor @ Jun 19, 2004 03:00:35 PM****
> The program below aborts on most (if not all) platforms. Output shown is on HP-UX 11.00 with aCC 3.52.
> $ cat t.cpp
> #include <cstdio>
> #include <locale>
> template <class charT>
> void foo (const char *name1, const char *name2)
> {
> {
> const std::locale l0 (name1);
> const std::locale l1 (l0, name2, std::locale::time);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> std::use_facet<std::time_get<charT> >(l1);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> }
> return;
> }
> int main (int argc, char *argv[])
> {
> foo<char>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> foo<wchar_t>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> }
> $ aCC -c -I/build/sebor/dev/stdlib/include/ansi -I/usr/include -D_RWSTDDEBUG -D_RWSTD_NO_EXTERN_TEMPLATE -D_RWSTD_USE_CONFIG -I/build/sebor/aCC-3.52-11s/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/../rwtest -I/build/sebor/dev/stdlib/../rwtest/include -I/build/sebor/dev/stdlib/tests/include -Aa +nostl -g +d +w +W392 +W655 +W684 +W818 +W819 +W849 t.cpp && aCC t.o -o t -L/build/sebor/aCC-3.52-11s/rwtest -lrwtest11s -L/build/sebor/aCC-3.52-11s/lib -lstd11s -lm -Aa +nostl -Wl,+s -Wl,+vnocompatwarnings -L/build/sebor/aCC-3.52-11s/lib && ./t
> C C C C C C, C C C C C C
> *, *
> /build/sebor/dev/stdlib/src/locale_combine.cpp:571: static __rw::__rw_locale *__rw::__rw_locale::_C_make_body(__rw::__rw_locale *,__rw::__rw_locale *,const char *,int,const __rw::__rw_facet *): Assertion '!plocale || plocale->_C_is_managed (_STD::locale::none)' failed.
> ( 0) 0x00010440 __rw_assert_fail__4__rwFPCcT1iT1 + 0x7c [././t]
> ( 1) 0x0001ae58 _C_make_body__Q2_4__rw11__rw_localeSFPQ2_4__rw11__rw_localeT1PCciPCQ2_4__rw10__r + 0x464 [././t]
> ( 2) 0x0001b3cc __ct__Q2_3std6localeFPCc_2 + 0x5c [././t]
> ( 3) 0x0000bf94 foo__XTw_FPCcT1 + 0x20 [././t]
> ( 4) 0x0000be2c main + 0x94 [././t]
> ( 5) 0xc013e8fc _start + 0xc8 [/usr/lib/libc.2]
> ( 6) 0x0000acb0 $START$ + 0x178 [././t]
> ABORT instruction (core dumped)
> $ ./t da_DK.iso8859 en_US.roman8
> ABORT instruction (core dumped)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (STDCXX-211) SIGABRT in locale combining ctor
after use_facet
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-211?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Sebor reassigned STDCXX-211:
-----------------------------------
Assignee: Martin Sebor
> SIGABRT in locale combining ctor after use_facet
> ------------------------------------------------
>
> Key: STDCXX-211
> URL: https://issues.apache.org/jira/browse/STDCXX-211
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 22. Localization
> Affects Versions: 4.1.3, 4.1.2
> Environment: all
> Reporter: Martin Sebor
> Assigned To: Martin Sebor
> Fix For: 4.2
>
> Attachments: stdcxx-211.cpp
>
>
> Moved from the Rogue Wave bug tracking database:
> ****Created By: sebor @ Jun 19, 2004 03:00:35 PM****
> The program below aborts on most (if not all) platforms. Output shown is on HP-UX 11.00 with aCC 3.52.
> $ cat t.cpp
> #include <cstdio>
> #include <locale>
> template <class charT>
> void foo (const char *name1, const char *name2)
> {
> {
> const std::locale l0 (name1);
> const std::locale l1 (l0, name2, std::locale::time);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> std::use_facet<std::time_get<charT> >(l1);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> }
> return;
> }
> int main (int argc, char *argv[])
> {
> foo<char>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> foo<wchar_t>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> }
> $ aCC -c -I/build/sebor/dev/stdlib/include/ansi -I/usr/include -D_RWSTDDEBUG -D_RWSTD_NO_EXTERN_TEMPLATE -D_RWSTD_USE_CONFIG -I/build/sebor/aCC-3.52-11s/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/../rwtest -I/build/sebor/dev/stdlib/../rwtest/include -I/build/sebor/dev/stdlib/tests/include -Aa +nostl -g +d +w +W392 +W655 +W684 +W818 +W819 +W849 t.cpp && aCC t.o -o t -L/build/sebor/aCC-3.52-11s/rwtest -lrwtest11s -L/build/sebor/aCC-3.52-11s/lib -lstd11s -lm -Aa +nostl -Wl,+s -Wl,+vnocompatwarnings -L/build/sebor/aCC-3.52-11s/lib && ./t
> C C C C C C, C C C C C C
> *, *
> /build/sebor/dev/stdlib/src/locale_combine.cpp:571: static __rw::__rw_locale *__rw::__rw_locale::_C_make_body(__rw::__rw_locale *,__rw::__rw_locale *,const char *,int,const __rw::__rw_facet *): Assertion '!plocale || plocale->_C_is_managed (_STD::locale::none)' failed.
> ( 0) 0x00010440 __rw_assert_fail__4__rwFPCcT1iT1 + 0x7c [././t]
> ( 1) 0x0001ae58 _C_make_body__Q2_4__rw11__rw_localeSFPQ2_4__rw11__rw_localeT1PCciPCQ2_4__rw10__r + 0x464 [././t]
> ( 2) 0x0001b3cc __ct__Q2_3std6localeFPCc_2 + 0x5c [././t]
> ( 3) 0x0000bf94 foo__XTw_FPCcT1 + 0x20 [././t]
> ( 4) 0x0000be2c main + 0x94 [././t]
> ( 5) 0xc013e8fc _start + 0xc8 [/usr/lib/libc.2]
> ( 6) 0x0000acb0 $START$ + 0x178 [././t]
> ABORT instruction (core dumped)
> $ ./t da_DK.iso8859 en_US.roman8
> ABORT instruction (core dumped)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (STDCXX-211) SIGABRT in locale combining ctor
after use_facet
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12477143 ]
Martin Sebor commented on STDCXX-211:
-------------------------------------
Invoking the test program with no arguments doesn't show any problems (on HP-UX or Solaris) so it looks like the bug has been fixed.
$ ./t
C C C C C C, C C C C C C
C C C C C C, C C C C C C
C C C C C C, C C C C C C
C C C C C C, C C C C C C
> SIGABRT in locale combining ctor after use_facet
> ------------------------------------------------
>
> Key: STDCXX-211
> URL: https://issues.apache.org/jira/browse/STDCXX-211
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 22. Localization
> Affects Versions: 4.1.3, 4.1.2
> Environment: all
> Reporter: Martin Sebor
>
> Moved from the Rogue Wave bug tracking database:
> ****Created By: sebor @ Jun 19, 2004 03:00:35 PM****
> The program below aborts on most (if not all) platforms. Output shown is on HP-UX 11.00 with aCC 3.52.
> $ cat t.cpp
> #include <cstdio>
> #include <locale>
> template <class charT>
> void foo (const char *name1, const char *name2)
> {
> {
> const std::locale l0 (name1);
> const std::locale l1 (l0, name2, std::locale::time);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> std::use_facet<std::time_get<charT> >(l1);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> }
> return;
> }
> int main (int argc, char *argv[])
> {
> foo<char>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> foo<wchar_t>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> }
> $ aCC -c -I/build/sebor/dev/stdlib/include/ansi -I/usr/include -D_RWSTDDEBUG -D_RWSTD_NO_EXTERN_TEMPLATE -D_RWSTD_USE_CONFIG -I/build/sebor/aCC-3.52-11s/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/../rwtest -I/build/sebor/dev/stdlib/../rwtest/include -I/build/sebor/dev/stdlib/tests/include -Aa +nostl -g +d +w +W392 +W655 +W684 +W818 +W819 +W849 t.cpp && aCC t.o -o t -L/build/sebor/aCC-3.52-11s/rwtest -lrwtest11s -L/build/sebor/aCC-3.52-11s/lib -lstd11s -lm -Aa +nostl -Wl,+s -Wl,+vnocompatwarnings -L/build/sebor/aCC-3.52-11s/lib && ./t
> C C C C C C, C C C C C C
> *, *
> /build/sebor/dev/stdlib/src/locale_combine.cpp:571: static __rw::__rw_locale *__rw::__rw_locale::_C_make_body(__rw::__rw_locale *,__rw::__rw_locale *,const char *,int,const __rw::__rw_facet *): Assertion '!plocale || plocale->_C_is_managed (_STD::locale::none)' failed.
> ( 0) 0x00010440 __rw_assert_fail__4__rwFPCcT1iT1 + 0x7c [././t]
> ( 1) 0x0001ae58 _C_make_body__Q2_4__rw11__rw_localeSFPQ2_4__rw11__rw_localeT1PCciPCQ2_4__rw10__r + 0x464 [././t]
> ( 2) 0x0001b3cc __ct__Q2_3std6localeFPCc_2 + 0x5c [././t]
> ( 3) 0x0000bf94 foo__XTw_FPCcT1 + 0x20 [././t]
> ( 4) 0x0000be2c main + 0x94 [././t]
> ( 5) 0xc013e8fc _start + 0xc8 [/usr/lib/libc.2]
> ( 6) 0x0000acb0 $START$ + 0x178 [././t]
> ABORT instruction (core dumped)
> $ ./t da_DK.iso8859 en_US.roman8
> ABORT instruction (core dumped)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (STDCXX-211) SIGABRT in locale combining ctor after
use_facet
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-211?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Sebor updated STDCXX-211:
--------------------------------
Attachment: stdcxx-211.cpp
Attached an exhaustive test program.
> SIGABRT in locale combining ctor after use_facet
> ------------------------------------------------
>
> Key: STDCXX-211
> URL: https://issues.apache.org/jira/browse/STDCXX-211
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 22. Localization
> Affects Versions: 4.1.3, 4.1.2
> Environment: all
> Reporter: Martin Sebor
> Attachments: stdcxx-211.cpp
>
>
> Moved from the Rogue Wave bug tracking database:
> ****Created By: sebor @ Jun 19, 2004 03:00:35 PM****
> The program below aborts on most (if not all) platforms. Output shown is on HP-UX 11.00 with aCC 3.52.
> $ cat t.cpp
> #include <cstdio>
> #include <locale>
> template <class charT>
> void foo (const char *name1, const char *name2)
> {
> {
> const std::locale l0 (name1);
> const std::locale l1 (l0, name2, std::locale::time);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> std::use_facet<std::time_get<charT> >(l1);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> }
> return;
> }
> int main (int argc, char *argv[])
> {
> foo<char>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> foo<wchar_t>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> }
> $ aCC -c -I/build/sebor/dev/stdlib/include/ansi -I/usr/include -D_RWSTDDEBUG -D_RWSTD_NO_EXTERN_TEMPLATE -D_RWSTD_USE_CONFIG -I/build/sebor/aCC-3.52-11s/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/../rwtest -I/build/sebor/dev/stdlib/../rwtest/include -I/build/sebor/dev/stdlib/tests/include -Aa +nostl -g +d +w +W392 +W655 +W684 +W818 +W819 +W849 t.cpp && aCC t.o -o t -L/build/sebor/aCC-3.52-11s/rwtest -lrwtest11s -L/build/sebor/aCC-3.52-11s/lib -lstd11s -lm -Aa +nostl -Wl,+s -Wl,+vnocompatwarnings -L/build/sebor/aCC-3.52-11s/lib && ./t
> C C C C C C, C C C C C C
> *, *
> /build/sebor/dev/stdlib/src/locale_combine.cpp:571: static __rw::__rw_locale *__rw::__rw_locale::_C_make_body(__rw::__rw_locale *,__rw::__rw_locale *,const char *,int,const __rw::__rw_facet *): Assertion '!plocale || plocale->_C_is_managed (_STD::locale::none)' failed.
> ( 0) 0x00010440 __rw_assert_fail__4__rwFPCcT1iT1 + 0x7c [././t]
> ( 1) 0x0001ae58 _C_make_body__Q2_4__rw11__rw_localeSFPQ2_4__rw11__rw_localeT1PCciPCQ2_4__rw10__r + 0x464 [././t]
> ( 2) 0x0001b3cc __ct__Q2_3std6localeFPCc_2 + 0x5c [././t]
> ( 3) 0x0000bf94 foo__XTw_FPCcT1 + 0x20 [././t]
> ( 4) 0x0000be2c main + 0x94 [././t]
> ( 5) 0xc013e8fc _start + 0xc8 [/usr/lib/libc.2]
> ( 6) 0x0000acb0 $START$ + 0x178 [././t]
> ABORT instruction (core dumped)
> $ ./t da_DK.iso8859 en_US.roman8
> ABORT instruction (core dumped)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (STDCXX-211) SIGABRT in locale combining ctor
after use_facet
Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/STDCXX-211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12477141 ]
Martin Sebor commented on STDCXX-211:
-------------------------------------
Interesting. It still aborts on HP-UX with the two locales mentioned in the report but works with some others:
./t es_ES.utf8 en_US.iso88591
es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8, es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 en_US.iso88591 es_ES.utf8
es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8, es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 en_US.iso88591 es_ES.utf8
es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8, es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 en_US.iso88591 es_ES.utf8
es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8, es_ES.utf8 es_ES.utf8 es_ES.utf8 es_ES.utf8 en_US.iso88591 es_ES.utf8
Modifying the test case to catch exceptions shows that the da_DK.iso8859 locale isn't valid even though it's installed (i.e., it shows up in the output of locale -a):
$ cat t.cpp && gmake t && ./t da_DK.iso8859 en_US.roman8
#include <cstdio>
#include <exception>
#include <locale>
template <class charT>
void foo (const char *name1, const char *name2)
{
try {
const std::locale l0 (name1);
const std::locale l1 (l0, name2, std::locale::time);
std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
std::use_facet<std::time_get<charT> >(l1);
std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
}
catch (const std::exception &e) {
std::printf ("caught exception (\"%s\")\n", e.what ());
}
}
int main (int argc, char *argv[])
{
foo<char>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
foo<wchar_t>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
}
aCC -c -I/nfs/devco/sebor/dev/stdlib/include/ansi -I/usr/include -D_RWSTDDEBUG -mt -D_RWSTD_USE_CONFIG -I/nfs/devco/sebor/dev/stdlib/include -I/build/sebor/aCC-3.70-15S/include -I/nfs/devco/sebor/dev/stdlib/examples/include -Aa +nostl -g +d +DD64 +w +W392 +W655 +W684 +W818 +W819 +W849 t.cpp
aCC t.o -o t -Aa +nostl -Wl,+s -Wl,+vnocompatwarnings -mt +DD64 -L/build/sebor/aCC-3.70-15S/lib -lstd15S -lm
caught exception ("/amd/devco/sebor/dev/stdlib/src/locale_combine.cpp:639: std::locale::locale(const char *): bad locale name: "da_DK.iso8859"")
caught exception ("/amd/devco/sebor/dev/stdlib/src/locale_combine.cpp:639: std::locale::locale(const char *): bad locale name: "da_DK.iso8859"")
> SIGABRT in locale combining ctor after use_facet
> ------------------------------------------------
>
> Key: STDCXX-211
> URL: https://issues.apache.org/jira/browse/STDCXX-211
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 22. Localization
> Affects Versions: 4.1.3, 4.1.2
> Environment: all
> Reporter: Martin Sebor
>
> Moved from the Rogue Wave bug tracking database:
> ****Created By: sebor @ Jun 19, 2004 03:00:35 PM****
> The program below aborts on most (if not all) platforms. Output shown is on HP-UX 11.00 with aCC 3.52.
> $ cat t.cpp
> #include <cstdio>
> #include <locale>
> template <class charT>
> void foo (const char *name1, const char *name2)
> {
> {
> const std::locale l0 (name1);
> const std::locale l1 (l0, name2, std::locale::time);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> std::use_facet<std::time_get<charT> >(l1);
> std::printf ("%s, %s\n", l0.name ().c_str (), l1.name ().c_str ());
> }
> return;
> }
> int main (int argc, char *argv[])
> {
> foo<char>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> foo<wchar_t>(argc > 1 ? argv [1] : "", argc > 2 ? argv [2] : "");
> }
> $ aCC -c -I/build/sebor/dev/stdlib/include/ansi -I/usr/include -D_RWSTDDEBUG -D_RWSTD_NO_EXTERN_TEMPLATE -D_RWSTD_USE_CONFIG -I/build/sebor/aCC-3.52-11s/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/../rwtest -I/build/sebor/dev/stdlib/../rwtest/include -I/build/sebor/dev/stdlib/tests/include -Aa +nostl -g +d +w +W392 +W655 +W684 +W818 +W819 +W849 t.cpp && aCC t.o -o t -L/build/sebor/aCC-3.52-11s/rwtest -lrwtest11s -L/build/sebor/aCC-3.52-11s/lib -lstd11s -lm -Aa +nostl -Wl,+s -Wl,+vnocompatwarnings -L/build/sebor/aCC-3.52-11s/lib && ./t
> C C C C C C, C C C C C C
> *, *
> /build/sebor/dev/stdlib/src/locale_combine.cpp:571: static __rw::__rw_locale *__rw::__rw_locale::_C_make_body(__rw::__rw_locale *,__rw::__rw_locale *,const char *,int,const __rw::__rw_facet *): Assertion '!plocale || plocale->_C_is_managed (_STD::locale::none)' failed.
> ( 0) 0x00010440 __rw_assert_fail__4__rwFPCcT1iT1 + 0x7c [././t]
> ( 1) 0x0001ae58 _C_make_body__Q2_4__rw11__rw_localeSFPQ2_4__rw11__rw_localeT1PCciPCQ2_4__rw10__r + 0x464 [././t]
> ( 2) 0x0001b3cc __ct__Q2_3std6localeFPCc_2 + 0x5c [././t]
> ( 3) 0x0000bf94 foo__XTw_FPCcT1 + 0x20 [././t]
> ( 4) 0x0000be2c main + 0x94 [././t]
> ( 5) 0xc013e8fc _start + 0xc8 [/usr/lib/libc.2]
> ( 6) 0x0000acb0 $START$ + 0x178 [././t]
> ABORT instruction (core dumped)
> $ ./t da_DK.iso8859 en_US.roman8
> ABORT instruction (core dumped)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.