Subject: Re: WARNING: SPL NOT LOWERED ON SYSCALL 0 0 EXIT
To: Thor Lancelot Simon <tls@rek.tjls.com>
From: Andrew Doran <ad@netbsd.org>
List: tech-kern
Date: 08/13/2007 14:12:42
On Sun, Aug 12, 2007 at 10:57:24PM -0400, Thor Lancelot Simon wrote:
> We just got one of these on the pkgsrc bulk-build machine, which is a
> 4-core (2 x dual-core Opteron) amd64 machine. Unfortunately, as one
> can see from the traceback below, well, it's a bit hard to get a
> traceback.
>
> The kernel is -current as of today, cross-compiled on macppc for various
> obscure reasons. Any ideas what causes this? I am a bit curious about
> Opteron erratum 106:
>
> http://lists.freebsd.org/pipermail/freebsd-amd64/2005-May/004693.html
I'll have a look into that. I have new TLB shootdown code for x86 almost
ready to go in.
> WARNING: SPL NOT LOWERED ON SYSCALL 0 0 EXIT 536e08 d
That should be showing the syscall number but I strongly suspect that
it's broken.
> ^MStopped in pid 21631.1 (cat) at netbsd:Xsyscall+0x1dd: movl
> $0,%gs:0x28c(%
> ri
> ^Mp)
> ^Mdb{1}> trace ^H ^H^H ^H^H ^H
> ^MXsyscall() at netbsd:Xsyscall+0x1dd
> ^Mcpu1: spinout while in debugger
If it happens again, can you get the value of %esp from 'show regs' and
then do a..
x/200a foo
.. on it? That should pull some info from the stack to let us know what the
thread has been up to while in the kenel. I guess this system is not running
with lockdebug. If it's a spinlock being leaked somewhere, lockdebug would
trap it.
Andrew