panic: lockmgr on FreeBSD 7.0-RELEASE-p4 amd64

Jeff Wheelhouse freebsd-hackers at wheelhouse.org
Thu Sep 25 19:29:23 UTC 2008


On Sep 25, 2008, at 8:45 AM, John Baldwin wrote:
> It's probably the one just before the NDINIT (note that the return  
> address in
> the call stack is pointing to the next instruction to be executed  
> after the
> call to VOP_UNLOCK(), so sometimes it can end up referring to the  
> next line
> in the source code from the actual function call):

Seems like we're six or seven lines of source down, not on the next  
line, which was the source of my confusion.  But if you're not  
confused, I won't be. :)

> Can you 'p *mp'?  I'm curious if mp->mnt_vnodecovered is NULL (in  
> which case,
> why didn't the two tests in the if() fail?)

Apparently I can't; we're stuck with DDB since we can't get a crash  
dump and the serial console goes to a hardware terminal server.  I'm  
afraid I'm not quite clever enough to find the right data structure  
without symbols.

I could try to throw a printf in there, or add a panic if mp- 
 >mt_vnodecovered is NULL, if you think that would help.  The printf  
will probably significantly alter timings, so I might need some  
guidance as far as what to print, and under what conditions.

Thanks,
Jeff



More information about the freebsd-hackers mailing list