Jean-Marc Lasgouttes wrote:

> Program received signal SIGABRT, Aborted.
> 
> (gdb) bt
> #0  0xffffe410 in ?? ()
> #1  0xbfffd48c in ?? ()
> #2  0x00000006 in ?? ()
> #3  0xb73181e9 in abort () from /lib/tls/libc.so.6
> #4  0xb74dadc7 in __gnu_cxx::__verbose_terminate_handler ()
>    from /usr/lib/libstdc++.so.6
> #5  0xb74d8955 in __cxa_call_unexpected () from /usr/lib/libstdc++.so.6
> #6  0xb74d8992 in std::terminate () from /usr/lib/libstdc++.so.6
> #7  0xb74d8b12 in __cxa_throw () from /usr/lib/libstdc++.so.6
> #8  0xb7473a15 in std::__throw_bad_cast () from /usr/lib/libstdc++.so.6
> #9  0x08693881 in use_facet<std::ctype<lyx::char_type> > ([EMAIL PROTECTED])
>     at locale_facets.tcc:112
> #10 0x086925e7 in boost::basic_format<unsigned int,
> #std::char_traits<unsigned int>, std::allocator<unsigned int> >::parse
> #(this=0xbfffd7d0, [EMAIL PROTECTED])
>     at parsing.hpp:403
> #11 0x08691f26 in basic_format (this=0xbfffd7d0, [EMAIL PROTECTED])
>     at format_implementation.hpp:64
> #12 0x0868f9c5 in lyx::support::bformat<std::basic_string<unsigned int,
> #std::char_traits<unsigned int>, std::allocator<unsigned int> > >
> #([EMAIL PROTECTED])
>     at ../../../lyx-devel/src/support/lstrings.C:704
> #13 0x08282138 in LyXText::currentState (this=0x8ab1844, [EMAIL PROTECTED])
>     at ../../lyx-devel/src/text.C:2394

This patch should fix all similar crashs. Please test. Unfortunately it does
not for me :-(

The theory is as follows: gcc has only useful ctype facets for char and
wchar_t. The implementation for other character types is according to the
sources "mostly useless".

This patch adds a simple ctype facet for lyx::char_type and adds it to the
global locale. That should work in therory, but it does not in practice
with gcc 3.3.5. Does anybody have further ideas?


Georg


Reply via email to