[jira] Assigned: (STDCXX-542) message catalog assert/crash after opening multiple

2007-09-04 Thread Martin Sebor (JIRA)

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

Martin Sebor reassigned STDCXX-542:
---

Assignee: Farid Zaripov  (was: Travis Vitek)

This looks related to STDCXX-508. Assigned to Farid.

Farid, if it's basically the same thing it might make sense to fix it for 4.2.

> message catalog assert/crash after opening multiple
> ---
>
> Key: STDCXX-542
> URL: https://issues.apache.org/jira/browse/STDCXX-542
> Project: C++ Standard Library
>  Issue Type: Bug
>  Components: 22. Localization
>Affects Versions: 4.1.2, 4.1.3, 4.1.4
> Environment: Windows
>Reporter: Travis Vitek
>Assignee: Farid Zaripov
> Fix For: 4.2.1
>
>
> The below code asserts/crashes reliably on windows, but runs to completion on 
> at least one other platform. Note that I copied the rwstdmessages.dll from 
> the examples directory to simplify the testcase.
> C:\build\stdcxx\build\msvc-8.0\15d\tests>type t.cpp
> #include 
> #include 
> #include 
> // note same problem occurs even if catalog files are
> // different.
> #ifdef _WIN32
> #  define CATALOG0 "rwstdmessages.dll"
> #  define CATALOG1 "rwstdmessages.dll"
> #else
> #  define CATALOG0 "./rwstdmessages.cat"
> #  define CATALOG1 "./rwstdmessages.cat"
> #endif
> int main (int argc, char *argv[])
> {
> typedef std::messages messagesT;
> const std::locale loc;
> const messagesT& msgs =
> std::use_facet(loc);
> const messagesT::catalog cat0 =
> msgs.open (CATALOG0, loc);
> assert(! (cat0 < 0)); // ensure open succeeded
> const messagesT::catalog cat1 =
> msgs.open (CATALOG1, loc);
> assert(! (cat1 < 0)); // ensure open succeeded
> msgs.close (cat1); // crash/assert here
> msgs.close (cat0);
> return 0;
> }
> C:\build\stdcxx\build\msvc-8.0\15d\tests>t
> C:\build\stdcxx\include\rw/_iterbase.h:436: class __rw::__rw_cat *&__thiscall 
> __rw::__rw_debug_iter std::allocator >,class __rw::__rw_cat * *,class 
> __rw::__rw_cat * *>::operator *(void) const: Assertion '_C_is_dereferenceable 
> ()'
>  failed.
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.

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



[jira] Assigned: (STDCXX-542) message catalog assert/crash after opening multiple

2007-09-04 Thread Travis Vitek (JIRA)

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

Travis Vitek reassigned STDCXX-542:
---

Assignee: Travis Vitek

> message catalog assert/crash after opening multiple
> ---
>
> Key: STDCXX-542
> URL: https://issues.apache.org/jira/browse/STDCXX-542
> Project: C++ Standard Library
>  Issue Type: Bug
>  Components: 22. Localization
> Environment: Windows
>Reporter: Travis Vitek
>Assignee: Travis Vitek
>
> The below code asserts/crashes reliably on windows, but runs to completion on 
> at least one other platform. Note that I copied the rwstdmessages.dll from 
> the examples directory to simplify the testcase.
> C:\build\stdcxx\build\msvc-8.0\15d\tests>type t.cpp
> #include 
> #include 
> #include 
> // note same problem occurs even if catalog files are
> // different.
> #ifdef _WIN32
> #  define CATALOG0 "rwstdmessages.dll"
> #  define CATALOG1 "rwstdmessages.dll"
> #else
> #  define CATALOG0 "./rwstdmessages.cat"
> #  define CATALOG1 "./rwstdmessages.cat"
> #endif
> int main (int argc, char *argv[])
> {
> typedef std::messages messagesT;
> const std::locale loc;
> const messagesT& msgs =
> std::use_facet(loc);
> const messagesT::catalog cat0 =
> msgs.open (CATALOG0, loc);
> assert(! (cat0 < 0)); // ensure open succeeded
> const messagesT::catalog cat1 =
> msgs.open (CATALOG1, loc);
> assert(! (cat1 < 0)); // ensure open succeeded
> msgs.close (cat1); // crash/assert here
> msgs.close (cat0);
> return 0;
> }
> C:\build\stdcxx\build\msvc-8.0\15d\tests>t
> C:\build\stdcxx\include\rw/_iterbase.h:436: class __rw::__rw_cat *&__thiscall 
> __rw::__rw_debug_iter std::allocator >,class __rw::__rw_cat * *,class 
> __rw::__rw_cat * *>::operator *(void) const: Assertion '_C_is_dereferenceable 
> ()'
>  failed.
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.

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