$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-03-06 07:03:31
Hi,
an application of mine just suddenly crashed before entering 'main', with the
following stacktrace:
#5 0xb7eb7106 in __cxa_throw () from /usr/lib/libstdc++.so.5
#6 0xb7e6ccb0 in std::__throw_runtime_error ()
from /usr/lib/libstdc++.so.5
#7 0xb7eb5c8e in std::locale::facet::_S_create_c_locale ()
from /usr/lib/libstdc++.so.5
#8 0xb7e96554 in std::locale::_Impl::_Impl ()
from /usr/lib/libstdc++.so.5
#9 0xb7e768e9 in std::locale::locale () from /usr/lib/libstdc++.so.5
#10 0xb78f6922 in __static_initialization_and_destruction_0
(__initialize_p=1, __priority=65535)
at /space/NM/boost/libs/filesystem/src/path.cpp:29
And the line in question contains just:
29 std::locale loc("");
This is CVS as of today. The problem was that I incorrectly set the
LC_MESSAGES environment variable. However, I think that exception from static
object is not so good idea. I can't catch it, so the error reporting just
reads "Aborted".
Maybe, this can be converted into a function with static variable, so that the
static variable is only initialized on the first call?
TIA,
Volodya