Boost logo

Boost Users :

Subject: [Boost-users] [ filesystem ] 1.45 broken on gcc 4.5 on AIX 5.3
From: Avi Bahra (avibahra_at_[hidden])
Date: 2011-04-08 13:58:22


OK I realise AIX/gcc is not really a supported platform?

But in boost 1.45 the file system causes a crash.

My understanding was that at 1.45 the file system v2 was the default ?
However looking at the stack trace it appears that at start up file system v3
make use of a static object to set the locale(), see file path.cpp

namespace boost
{
namespace filesystem3
{

  const path::codecvt_type *&
    path::wchar_t_codecvt_facet()
  {
   static const std::codecvt<wchar_t, char, std::mbstate_t> *
     facet(
       &std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t> >
        (path_locale()));
   return facet;
  }
 .....

path_locale() ends up calling default_locale(), which call's std::locale("")

In std::locale() for some reason the locale can not be created and an exception
is thrown. This exception has no chance of being caught since it
called before main(). See the totalview trace back below:

The work around appears to be to set the environment variable
LANG to an empty string.

Have not tested this on boost 1.46, but I suspect the same problem.

Best regards,
Avi

================================================================

 .pthread_kill,
       FP=2ff20380
  ._p_raise,
        FP=2ff203f0
  .raise,
        FP=2ff20440
  .abort,
        FP=2ff20490
uw_init_context_1,
      FP=2ff204f0
_Unwind_RaiseException,
      FP=2ff20a10
     .__cxa_throw,
           FP=2ff21600
     ._ZSt21__throw_runtime_errorPKc,
           FP=2ff21640
     ._ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_,
           FP=2ff216a0
     ._ZNSt6locale5_ImplC2EPKcm,
           FP=2ff216e0
     ._ZNSt6localeC2EPKc,
           FP=2ff21770
_ZN60_GLOBAL__N_libs_filesystem_v3_src_path.cpp_00000000_60BE389714default_localeEv,
FP=2ff21800
_ZN60_GLOBAL__N_libs_filesystem_v3_src_path.cpp_00000000_60BE389711path_localeEv,
FP=2ff21840
_ZN5boost11filesystem34path21wchar_t_codecvt_facetEv,
      FP=2ff21890
_ZN5boost11filesystem34path7codecvtEv,
      FP=2ff218e0
..._cEERKT_PNS_9enable_ifINS0_11path_traits11is_pathableINS_5decayIS4_E4typeEEEvE4typeE,
FP=2ff21920
_Z41__static_initialization_and_destruction_0ii,
      FP=2ff21980
_GLOBAL__I_65535_0__ZN5boost11filesystem34pathdVERKS1_,
      FP=2ff219c0
     ._GLOBAL__FI_coretest,
           FP=2ff21a00
     .__modinit,
           FP=200cde4c
**** Frame below previous frame **********
     .__modinit,
           FP=2ff21c20
     .__start,
           FP=2ff21cb0


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net