Segmentation fault on NPTL pthread_join

Alan Modra amodra@bigpond.net.au
Wed Nov 16 03:17:00 GMT 2005


On Tue, Nov 08, 2005 at 05:23:01PM +0100, Roberto Podesta' wrote:
> Hi,
> we have recently moved a large C/C++ multithreaded application 
> (running on a PowerPC platform) from LinuxThreads
> to NPTL, and we are having problems we didn't see with the previous (i.e., 
> LinuxThreads) configuration. In particular,
> when a thread tries for the first time to terminate another one by calling 
> pthread_cancel and then pthread_join, we get a
> segmentation fault (all the threads are created joinable). By looking at 
> the corresponding core file, the problem seems
> to occur in NPTL file pthread_join.c at line 86, where there is a call to 
> lll_wait_tid.

Do any of your threads dlopen and dlclose shared libraries?  If so, you
might be in the situation where one or more threads have an unmapped
shared library function somewhere in their function call chain.  This
can result in seg faults when pthread_cancel attempts to unwind the
stack.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre



More information about the Binutils mailing list