This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: linuxthreads bug in 2.2.4 under ppc linux


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,


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]