This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: linuxthreads bug in 2.2.4 under ppc linux
- From: Wolfram Gloger <wmglo at dent dot med dot uni-muenchen dot de>
- To: kevin dot hendricks at sympatico dot ca
- Cc: libc-alpha at sources dot redhat dot com, Franz dot Sirl-kernel at lauterbach dot com
- Date: 8 Dec 2001 23:40:54 -0000
- Subject: Re: linuxthreads bug in 2.2.4 under ppc linux
- References: <20011208035058.GYJZ18252.tomts12-srv.bellnexxia.net@there>
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,