[Boost.Filesystem] crashes in static destruction of global string object
Hello, libs/filesytem/src/portability.cpp defines valid_posix as a std::string object instead of a const char * pointer. May I know if there are reasons for that? I'm using Boost.Filesystem as a shared library and my processes crash on exit with stack traces pointing to the static destruction of valid_posix. Making it const char* fixes the crashes. Regards, Hai
On 8/10/2016 03:45, Nguyen Huu Hai wrote:
libs/filesytem/src/portability.cpp defines valid_posix as a std::string object instead of a const char * pointer. May I know if there are reasons for that?
I'm using Boost.Filesystem as a shared library and my processes crash on exit with stack traces pointing to the static destruction of valid_posix. Making it const char* fixes the crashes.
Are you using the libc as a static or shared library? It needs to be used as a shared library when using other shared libraries.
On Mon, Oct 10, 2016 at 7:49 AM, Gavin Lambert
On 8/10/2016 03:45, Nguyen Huu Hai wrote:
libs/filesytem/src/portability.cpp defines valid_posix as a std::string object instead of a const char * pointer. May I know if there are reasons for that?
I'm using Boost.Filesystem as a shared library and my processes crash on exit with stack traces pointing to the static destruction of valid_posix. Making it const char* fixes the crashes.
Are you using the libc as a static or shared library? It needs to be used as a shared library when using other shared libraries.
My apologies. It turned out to be a bug in my code. One of the processes under valgrind generated a good trace pointing me to the source of the bug. Thank you. Hai
participants (2)
-
Gavin Lambert
-
Nguyen Huu Hai