libkse / libthr bugs?

Mike Makonnen mtm at identd.net
Thu Jun 26 18:24:58 PDT 2003


On Thu, 26 Jun 2003 17:39:22 -0700
Marcel Moolenaar <marcel at xcllnt.net> wrote:

> On Thu, Jun 26, 2003 at 08:21:54PM -0400, Mike Makonnen wrote:
> > > 
> > > % ./foo2 1000
> > > [very long list of random "bar #"
> > >  :
> > > bar 999
> > > bar 226
> > > bar 244
> > > Thread (_thread_initial:0) already on mutexq
> > > Fatal error 'Illegal call from signal handler' at line 1347 in file
> > > /nfs/freebsd/5.x/src/lib/libthr/thread/thr_mutex.c (errno = 0)
> > 
> > Great! I've been waiting for this message to appear for some time. Do you
> > have a backtrace by any chance?
> 
> gdb(1) hasn't been ported yet, so no.
> BTW: The thread is not always _thread_initial...

hmm.. ok if it's not always thread initial, that's gonna make it a bit harder.
Can you try this quick hack:
http://people.freebsd.org/~mtm/patches/libthr.sigblock.diff

It simply blocks all signals while libthr holds a lock. I'd be
interested in knowing whether you still get the same errors.

> > > Note that I don't have any of David's signal code patches applied.
> > 
> > Any unbreaking of signals in the kernel would definitely help libthr.
> 
> If it's expected to make a difference, I can grab them and try again.
> Just say the word...

If you have the time/inclination. I'll grab them as well and see what happens.

Cheers.
-- 
Mike Makonnen  | GPG-KEY: http://www.identd.net/~mtm/mtm.asc
mtm at identd.net | D228 1A6F C64E 120A A1C9  A3AA DAE1 E2AF DBCC 68B9
mtm at FreeBSD.Org| FreeBSD - The Power To Serve


More information about the freebsd-threads mailing list