Boost logo

Boost Users :

Subject: [Boost-users] pthread_exit() from boost::thread segfaults ?
From: Viatcheslav.Sysoltsev_at_[hidden]
Date: 2010-12-20 11:27:14


Hi people,

does anybody have an idea why the following simple programm segfaults:

#include <boost/thread.hpp>

void tf()
{
     pthread_exit(NULL);
}

int main()
{
     boost::thread t(tf);
     t.join();
     return 0;
}

> g++ test2.cpp -lboost_thread && gdb a.out
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/vsysolts/test/boost_thread/a.out...done.
(gdb) r
Starting program: /home/vsysolts/test/boost_thread/a.out
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff6cd5950 (LWP 21145)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff6cd5950 (LWP 21145)]
0x00007ffff798a565 in __gnu_cxx::__verbose_terminate_handler() () from
/usr/lib64/libstdc++.so.6
(gdb) bt
#0 0x00007ffff798a565 in __gnu_cxx::__verbose_terminate_handler() () from
/usr/lib64/libstdc++.so.6
#1 0x00007ffff7988a46 in ?? () from /usr/lib64/libstdc++.so.6
#2 0x00007ffff7988a73 in std::terminate() () from
/usr/lib64/libstdc++.so.6
#3 0x00007ffff7bd898a in thread_proxy () from
/usr/lib64/libboost_thread.so.1.36.0
#4 0x00007ffff6cdd070 in start_thread () from /lib64/libpthread.so.0
#5 0x00007ffff71ce11d in clone () from /lib64/libc.so.6
#6 0x0000000000000000 in ?? ()
(gdb)

I am using opensuse 11.1, x86_64 architecture, gcc 4.3.2, boost 1.36

-- Slava


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