[libc-alpha] linuxthreads bug in 2.2.4 under ppc linux
Kevin B. Hendricks
kevin.hendricks@sympatico.ca
Sat Dec 8 15:25:00 GMT 2001
Hi Franz,
Just to make sure the use of syncs and isyncs was not the issue I modified
pt-machine.h for ppc linux and added back a sync at beginning and an isync
after both compare and swap and the release versions.
It still segfaults in the same place.
So the problem is not sync / isync related.
I will rebuild with asserts active and let you know what I find.
Thanks,
Kevin
On December 8, 2001 09:40, Franz Sirl wrote:
> On Saturday 08 December 2001 14:02, Kevin B. Hendricks wrote:
> > Hi Kaz,
> >
> > If it matters, I tried an old binary of this executable that worked
> > perfectly under under glibc-2.2.1 and tried it under glibc-2.2.4 and
> > it fails in exactly this way. I also tried rebuilding my code with
> > -O0 which makes it harder to reproduce the problem but eventually it
> > does happen. So the problem does not seem to be compiler or
> > optimization dependent and does not happen under glibc-2.2.1.
> >
> > I have no idea how to proceed here. But shouldn't there be a BARRIER
> > (like an isync) at the end of __pthread_alt_unlock so that it is sure
> > to be done updating its own data structures before possibly doing
> > anything else (like beginning to be destroyed).
> >
> > Just a thought. I am going to rebuild glibc 2.2.4 with debug and try
> > to track this down further. I don't want to have to go back to
> > glibc-2.2.1 unless that is the only way to keep working.
>
> Just to clarify things, the RPM Kevin is testing is based on the
> glibc-2-2-branch as of a few days ago, with:
>
> 2001-11-30 Andreas Schwab <schwab@suse.de>
>
> * pthread.c (pthread_handle_sigcancel) [THREAD_SELF]: Double
> check that self is the manager thread, and initialize the thread
> register if not.
> (thread_self_stack) [THREAD_SELF]: New function to find self via
> stack pointer.
>
> being the last entry in linuxthreads/ChangeLog.
>
> Kevin, if you are rebuilding with debugging, you can also remove the
> -DNDEBUG=1 in the spec, if we are lucky an assertion is triggered...
>
> Franz.
More information about the Libc-alpha
mailing list