stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Travis Vitek (JIRA)" <>
Subject [jira] Created: (STDCXX-542) message catalog assert/crash after opening multiple
Date Fri, 31 Aug 2007 21:19:18 GMT
message catalog assert/crash after opening multiple

                 Key: STDCXX-542
             Project: C++ Standard Library
          Issue Type: Bug
          Components: 22. Localization
         Environment: Windows
            Reporter: 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 <iostream>
#include <locale>
#include <cassert>

// note same problem occurs even if catalog files are
// different.
#ifdef _WIN32
#  define CATALOG0 "rwstdmessages.dll"
#  define CATALOG1 "rwstdmessages.dll"
#  define CATALOG0 "./"
#  define CATALOG1 "./"

int main (int argc, char *argv[])
    typedef std::messages<char> messagesT;

    const std::locale loc;

    const messagesT& msgs =

    const messagesT::catalog cat0 = (CATALOG0, loc);

    assert(! (cat0 < 0)); // ensure open succeeded

    const messagesT::catalog cat1 = (CATALOG1, loc);

    assert(! (cat1 < 0)); // ensure open succeeded

    msgs.close (cat1); // crash/assert here
    msgs.close (cat0);

    return 0;
C:\build\stdcxx\include\rw/_iterbase.h:436: class __rw::__rw_cat *&__thiscall __rw::__rw_debug_iter<class
std::vector<class __rw::__rw_cat *,class std::allocator<class __rw::__rw_cat *> >,class
__rw::__rw_cat * *,class __rw::__rw_cat * *>::operator *(void) const: Assertion '_C_is_dereferenceable

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.

View raw message