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: [libc-alpha] linuxthreads bug in 2.2.4 under ppc linux


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.


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