linuxthreads bug in 2.2.4 under ppc linux
Wolfram Gloger
wmglo@dent.med.uni-muenchen.de
Sat Dec 8 16:57:00 GMT 2001
Hi,
> I recently upgraded to glibc-2.2.4 and seem to have run into a
> linuxthreads problem under PPC Linux.
>
> This problem is very timing dependent. It does not happen every time but
> after 10 or 20 attempts with the code, I can get it usually get it to
> segfault and the segfault always happens in the exact same place.
>
>
> Here is an quick analysis of the problem:
>
> (#0 0xfdcce70 in __pthread_alt_unlock () at eval.c:88
...
> Based on dissassembling the code, the problem is here in
>
> void __pthread_alt_unlock(struct _pthread_fastlock *lock);
>
> After the test to see if the node was abandoned:
...
> But the wait_node structure being looked at had all 0 values
This sounds suspiciously like the problem I analyzed for months in
summer. Are you mixing fork() and threads? That's how I stumbled
over the problem on Intel. Basically, with glibc-2.2.4 a 'phantom'
thread can be created and hold locks, with disastrous consequences.
The fix went in only shortly after 2.2.4 was released.
Please try the current glibc-2.2 branch from CVS, or for example the
Debian-packaged version of glibc-2.2.4.
Regards,
Wolfram,
More information about the Libc-alpha
mailing list