boost1.54-1.54.0/bin.v2/libs/filesystem/test/operations_test_static.test/gcc-4.8/debug/link-static/operations_test_static
Program received signal SIGSEGV, Segmentation fault.
__atomic_add_dispatch (__val=1, __mem=0x0) at /build/buildd/gcc-4.8-4.8.2/build/powerpc64le-linux-gnu/libstdc++-v3/include/ext/atomicity.h:98
98 /build/buildd/gcc-4.8-4.8.2/build/powerpc64le-linux-gnu/libstdc++-v3/include/ext/atomicity.h: No such file or directory.
1: x/i $pc
=> 0x3fffb7ee28ec <std::locale::locale(std::locale const&)+60>: lwz r10,0(r9)
__atomic_add_dispatch (__val=1, __mem=0x0) at /build/buildd/gcc-4.8-4.8.2/build/powerpc64le-linux-gnu/libstdc++-v3/include/ext/atomicity.h:98
98 /build/buildd/gcc-4.8-4.8.2/build/powerpc64le-linux-gnu/libstdc++-v3/include/ext/atomicity.h: No such file or directory.
(gdb) where
#0 __atomic_add_dispatch (__val=1, __mem=0x0) at /build/buildd/gcc-4.8-4.8.2/build/powerpc64le-linux-gnu/libstdc++-v3/include/ext/atomicity.h:98
#1 _M_add_reference (this=0x0) at /build/buildd/gcc-4.8-4.8.2/build/powerpc64le-linux-gnu/libstdc++-v3/include/bits/locale_classes.h:510
#2 std::locale::locale (this=0x100783d0 <boost::filesystem::path::codecvt()::posix_lazy_initialization>, __other=...) at ../../../../../src/libstdc++-v3/src/c++98/locale.cc:80
#3 0x00000000100492a8 in boost::filesystem::path::imbue (loc=...) at ../libs/filesystem/src/path.cpp:918
#4 0x00000000100491b0 in boost::filesystem::path::codecvt () at ../libs/filesystem/src/path.cpp:911
#5 0x000000001004aa3c in boost::filesystem::path::wstring (this=0x3ffffffff5c8) at ../boost/filesystem/path.hpp:386
#6 0x000000001004a540 in boost::filesystem::detail::unique_path (model=..., ec=0x0) at ../libs/filesystem/src/unique_path.cpp:113
#7 0x00000000100238c4 in boost::filesystem::unique_path (p=...) at ../boost/filesystem/operations.hpp:544
#8 0x00000000100200cc in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at ../libs/filesystem/test/operations_test.cpp:118
#9 0x00000000100201fc in _GLOBAL__sub_I__Z8cpp_mainiPPc () at ../libs/filesystem/test/operations_test.cpp:2034
#10 0x000000001004d444 in __libc_csu_init ()
#11 0x00003fffb7c8e1ec in generic_start_main (main=0x1003173c <main(int, char**)>, argc=<optimized out>, argv=0x3ffffffffa68, auxvec=0x3ffffffffb10, init=0x1004d3b0 <__libc_csu_init>,
rtld_fini=<optimized out>, stack_end=<optimized out>, fini=<optimized out>) at ../csu/libc-start.c:246
#12 0x00003fffb7c8e458 in __libc_start_main (argc=<optimized out>, argv=<optimized out>, ev=<optimized out>, auxvec=<optimized out>, rtld_fini=<optimized out>, stinfo=<optimized out>,
stack_on_entry=<optimized out>) at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:93
#13 0x0000000000000000 in ?? ()
Breakpoint 1, boost::filesystem::path::imbue (loc=...) at ../libs/filesystem/src/path.cpp:918
918 std::locale temp(path_locale);
Here are the traces for one of the cores:
boost1. 54-1.54. 0/bin.v2/ libs/filesystem /test/operation s_test_ static. test/gcc- 4.8/debug/ link-static/ operations_ test_static
Program received signal SIGSEGV, Segmentation fault.
__atomic_ add_dispatch (__val=1, __mem=0x0) at /build/ buildd/ gcc-4.8- 4.8.2/build/ powerpc64le- linux-gnu/ libstdc+ +-v3/include/ ext/atomicity. h:98 buildd/ gcc-4.8- 4.8.2/build/ powerpc64le- linux-gnu/ libstdc+ +-v3/include/ ext/atomicity. h: No such file or directory. :locale( std::locale const&)+60>: lwz r10,0(r9)
98 /build/
1: x/i $pc
=> 0x3fffb7ee28ec <std::locale:
__atomic_ add_dispatch (__val=1, __mem=0x0) at /build/ buildd/ gcc-4.8- 4.8.2/build/ powerpc64le- linux-gnu/ libstdc+ +-v3/include/ ext/atomicity. h:98 buildd/ gcc-4.8- 4.8.2/build/ powerpc64le- linux-gnu/ libstdc+ +-v3/include/ ext/atomicity. h: No such file or directory.
98 /build/
(gdb) where add_dispatch (__val=1, __mem=0x0) at /build/ buildd/ gcc-4.8- 4.8.2/build/ powerpc64le- linux-gnu/ libstdc+ +-v3/include/ ext/atomicity. h:98 buildd/ gcc-4.8- 4.8.2/build/ powerpc64le- linux-gnu/ libstdc+ +-v3/include/ bits/locale_ classes. h:510 :filesystem: :path:: codecvt( )::posix_ lazy_initializa tion>, __other=...) at ../../. ./../.. /src/libstdc+ +-v3/src/ c++98/locale. cc:80 filesystem: :path:: imbue (loc=...) at ../libs/ filesystem/ src/path. cpp:918 filesystem: :path:: codecvt () at ../libs/ filesystem/ src/path. cpp:911 filesystem: :path:: wstring (this=0x3ffffff ff5c8) at ../boost/ filesystem/ path.hpp: 386 filesystem: :detail: :unique_ path (model=..., ec=0x0) at ../libs/ filesystem/ src/unique_ path.cpp: 113 filesystem: :unique_ path (p=...) at ../boost/ filesystem/ operations. hpp:544 initialization_ and_destruction _0 (__initialize_p=1, __priority=65535) at ../libs/ filesystem/ test/operations _test.cpp: 118 _sub_I_ _Z8cpp_ mainiPPc () at ../libs/ filesystem/ test/operations _test.cpp: 2034 fa68, auxvec= 0x3ffffffffb10, init=0x1004d3b0 <__libc_csu_init>, fini=<optimized out>, stack_end= <optimized out>, fini=<optimized out>) at ../csu/ libc-start. c:246 <optimized out>, stinfo=<optimized out>, on_entry= <optimized out>) at ../sysdeps/ unix/sysv/ linux/powerpc/ libc-start. c:93
#0 __atomic_
#1 _M_add_reference (this=0x0) at /build/
#2 std::locale::locale (this=0x100783d0 <boost:
#3 0x00000000100492a8 in boost::
#4 0x00000000100491b0 in boost::
#5 0x000000001004aa3c in boost::
#6 0x000000001004a540 in boost::
#7 0x00000000100238c4 in boost::
#8 0x00000000100200cc in __static_
#9 0x00000000100201fc in _GLOBAL_
#10 0x000000001004d444 in __libc_csu_init ()
#11 0x00003fffb7c8e1ec in generic_start_main (main=0x1003173c <main(int, char**)>, argc=<optimized out>, argv=0x3fffffff
rtld_
#12 0x00003fffb7c8e458 in __libc_start_main (argc=<optimized out>, argv=<optimized out>, ev=<optimized out>, auxvec=<optimized out>, rtld_fini=
stack_
#13 0x0000000000000000 in ?? ()
Breakpoint 1, boost:: filesystem: :path:: imbue (loc=...) at ../libs/ filesystem/ src/path. cpp:918
918 std::locale temp(path_locale);
p loc ::c_locale_ impl>, static _S_global = 0x3fffb7fae0b8 <(anonymous namespace) ::c_locale_ impl>, static _S_categories = cxx::category_ names>, static _S_once = 0}
$1 = (const std::locale &) @0x3ffffffff418: {static none = 0, static ctype = 1, static numeric = 2, static collate = 4, static time = 8, static monetary = 16, static messages = 32, static all = 63,
_M_impl = 0x100790f0, static _S_classic = 0x3fffb7fae0b8 <(anonymous namespace)
0x3fffb7f92cb8 <__gnu_
p path_locale ::c_locale_ impl>, static _S_global = 0x3fffb7fae0b8 <(anonymous namespace) ::c_locale_ impl>, cxx::category_ names>, static _S_once = 0}
$2 = {static none = 0, static ctype = 1, static numeric = 2, static collate = 4, static time = 8, static monetary = 16, static messages = 32, static all = 63, _M_impl = 0x0,
static _S_classic = 0x3fffb7fae0b8 <(anonymous namespace)
static _S_categories = 0x3fffb7f92cb8 <__gnu_
It looks like something wrong happened here:
std:: locale: :locale (this=0x100783d0 <boost: :filesystem: :path:: codecvt( )::posix_ lazy_initializa tion>, __other=...) ./../.. /src/libstdc+ +-v3/src/ c++98/locale. cc:80
at ../../.
in the libstdc++ library, since correct address was changed to 0x0 address in __atomic_ add_dispatch .
BOOST : /src/path. cpp facet_ptr = std::use_ facet<std: :codecvt< wchar_t, char, std::mbstate_t> >(path_locale);
libs/filesystem
std::locale path::imbue(const std::locale& loc)
{
std::locale temp(path_locale);
path_locale = loc;
codecvt_
&
return temp;
}
/usr/include/ c++/4.8/ ext/atomicity. h
static inline void add_dispatch( _Atomic_ word* __mem, int __val) active_ p()) _atomic_ add(__mem, __val); _atomic_ add_single( __mem, __val); add_single( __mem, __val);
__attribute__ ((__unused__))
__atomic_
{
#ifdef __GTHREADS
if (__gthread_
_
else
_
#else
__atomic_
#endif
}
It looks like some C++ object initialization went bad, for std::locale::locale .