Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Nov 2001 10:45:10 -0500 (EST)
From:      Joe Clarke <marcus@marcuscom.com>
To:        freebsd-hackers@freebsd.org
Subject:   Possible pthread bug
Message-ID:  <20011114103543.D3241-100000@shumai.marcuscom.com>

next in thread | raw e-mail | index | archive | help
I've been trying to track down some kernel errors I've been seeing on my
-stable box for a while now with no luck.  Admittedly, I don't know much
about the internals of threads.  I'm hoping someone can point me in the
right direction.

I have a few applications that are generating SIGABRTs in uthread_kern.c
with the message:

Thread has returned from sigreturn or longjmp

This is a direct result of sigreturn() failing(?) to set eflags in
machdep.c at line 950.  I know this because everytime I see the SIGABRT
and the uthread_kern message, I also see:

sigreturn: eflags = 0x280

Where the eflags value is different each time.  Now, if I comment out the
return(EINVAL); in sigreturn(), things work.  That is, I don't get the
crash, but I do get the eflags kernel message.  I know this is a terrible
fix, but I just don't know where to go from here.

It seems to me that what's going on here is a previous thread's context is
trying to be restored after returning from a signal.  That's failing
because eflags can't be set.  This doesn't seem like an application bug to
me, but I could be wrong.

I'm running -stable:

FreeBSD shumai.marcuscom.com 4.4-STABLE FreeBSD 4.4-STABLE #0: Wed Nov 14
02:21:53 EST 2001 marcus@shumai.marcuscom.com:/usr/src/sys/compile/SHUMAI
i386

and the apps in question are nautilus and balse.  However, I've walked
through the failing apps, and can't find anything amiss.  Core dumps and
gdb aren't very helpful.  I've asked a similar question on -stable, but
only got some comiseration.

I'd really appreciate any help or insight someone could give.  Thanks.

Joe


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011114103543.D3241-100000>