This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [libc-alpha] linuxthreads bug in 2.2.4 under ppc linux
- From: Kevin B. Hendricks <kevin dot hendricks at sympatico dot ca>
- To: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>,Kaz Kylheku <kaz at ashi dot footprints dot net>
- Cc: <libc-alpha at sources dot redhat dot com>
- Date: Sat, 8 Dec 2001 10:52:21 -0500
- Subject: Re: [libc-alpha] linuxthreads bug in 2.2.4 under ppc linux
- References: <Pine.LNX.4.33.0112072232510.2640-100000@ashi.FootPrints.net> <20011208125938.ENGB20714.tomts9-srv.bellnexxia.net@there> <200112081533.55612@enzo.bigblue.local>
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.