clang version 3.2 (branches/release_32 170508)
Target: x86_64-unknown-linux-gnu
Thread model: posix
OS: Fedora 17
gcc version: 4.7.2 20120921 (Red Hat 4.7.2-2)
the backtrace:
#0 0x0000003e51a35935 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x0000003e51a370e8 in __GI_abort () at abort.c:91
#2 0x0000003e5ce60dad in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95
#3 0x0000003e5ce5eea6 in __cxxabiv1::__terminate (handler=<optimized out>)
at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:40
#4 0x0000003e5ce5eed3 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:50
#5 0x0000003e5ce5f9ef in __cxxabiv1::__cxa_pure_virtual () at ../../../../libstdc++-v3/libsupc++/pure.cc:50
#6 0x0000003e5ceb29e0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimized out>)
at ../../../../../libstdc++-v3/src/c++11/thread.cc:73
#7 0x0000003e51e07d14 in start_thread (arg=0x7ffff7fe6700) at pthread_create.c:309
#8 0x0000003e51af168d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
Same problem with
clang version 3.2 (branches/ release_ 32 170508) unknown- linux-gnu
Target: x86_64-
Thread model: posix
OS: Fedora 17
gcc version: 4.7.2 20120921 (Red Hat 4.7.2-2)
the backtrace:
#0 0x0000003e51a35935 in __GI_raise (sig=sig@entry=6) at ../nptl/ sysdeps/ unix/sysv/ linux/raise. c:64 :__verbose_ terminate_ handler () at ../../. ./../libstdc+ +-v3/libsupc+ +/vterminate. cc:95 :__terminate (handler=<optimized out>) ./../libstdc+ +-v3/libsupc+ +/eh_terminate. cc:40 ./../libstdc+ +-v3/libsupc+ +/eh_terminate. cc:50 :__cxa_ pure_virtual () at ../../. ./../libstdc+ +-v3/libsupc+ +/pure. cc:50 ::execute_ native_ thread_ routine (__p=<optimized out>) ./../.. /libstdc+ +-v3/src/ c++11/thread. cc:73 6700) at pthread_ create. c:309 unix/sysv/ linux/x86_ 64/clone. S:115
#1 0x0000003e51a370e8 in __GI_abort () at abort.c:91
#2 0x0000003e5ce60dad in __gnu_cxx:
#3 0x0000003e5ce5eea6 in __cxxabiv1:
at ../../.
#4 0x0000003e5ce5eed3 in std::terminate () at ../../.
#5 0x0000003e5ce5f9ef in __cxxabiv1:
#6 0x0000003e5ceb29e0 in std::(anonymous namespace)
at ../../.
#7 0x0000003e51e07d14 in start_thread (arg=0x7ffff7fe
#8 0x0000003e51af168d in clone () at ../sysdeps/
62 namespace native_ thread_ routine( void* __p) cast<thread: :_Impl_ base*>( __p); :__shared_ base_type __local; swap(__ t->_M_this_ ptr);
63 {
64 extern "C" void*
(gdb) l
65 execute_
66 {
67 thread::_Impl_base* __t = static_
68 thread:
69 __local.
70
71 __try
72 {
73 __t->_M_run(); //abort here
74 }
(gdb) l
75 __catch(...)
76 {
77 std::terminate();
78 }
79
80 return 0;
81 }
82 }
83
it seems that __t->_M_run is a pure virtual function, so the process have been terminated.