
James Sutherland wrote:
I am getting segmentation violations from inside of boost::thread
Running valgrind, I get the following:
==31129== Thread 2: ==31129== Jump to the invalid address stated on the next line ==31129== at 0xEC834853E5894855: ??? ==31129== by 0x4A4DDE1: boost::function0<void, std::allocator<boost::function_base> >::function0(boost::function0<void, std::allocator<boost::function_base> > const&) (function_template.hpp:527) ==31129== by 0x4A4CF21: thread_proxy (thread.cpp:106) ==31129== by 0x31A0D06136: start_thread (in /lib64/tls/libpthread-2.3.4.so) ==31129== by 0x31A04C7532: clone (in /lib64/tls/libc-2.3.4.so)
Is this the "non-thread-safe-threads" bug? Have you upgraded your Boost.Function per the instructions at http://boost.org/ ? Are you creating several threads at nearly the same time? Does this only ever happen when the first few threads are created? What compiler are you using? Phil.