From: James Sutherland (James.Sutherland_at_[hidden])
Date: 2008-01-28 11:32:10
On 1/26/08 10:32 AM, "Phil Endecott" <spam_from_boost_dev_at_[hidden]>
> 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
>>> ==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?
I have not upgraded Boost.Function (I am running version 1.34.0). Is there
a potential problem there that could be causing this? I am spawning several
threads concurrently, but the segfault consistently occurs while creating
the first thread. I am using gcc 3.4.6.
I am not seeing this behavior on a simple problem, and haven't been able to
reproduce it on a small enough problem to post source code for...