ia64 r225789 panic during "make installworld": Bad buffer logic, remain = 0

Kostik Belousov kostikbel at gmail.com
Wed Sep 28 15:02:13 UTC 2011


On Wed, Sep 28, 2011 at 04:27:39PM +0300, Jaakko Heinonen wrote:
> On 2011-09-28, Anton Shterenlikht wrote:
> > KDB: stack backtrace:
> > getenv with the following non-sleepable locks held:
> > exclusive sleep mutex vnode interlock (vnode interlock) r = 0 (0xe000000011950488) locked @ /usr/src/sys/fs/devfs/devfs_vnops.c:406
> > 
> > etc. until a hang, requiring cold reset via MP.
> 
> Someone is calling getenv with a vnode interlock held. You need to
> figure out the caller. Unfortunately the backtrace is missing above.
> 
> As a temporary workaround you could comment the WITNESS_WARN() line in
> getenv() (sys/kern/kern_environment.c) but it is not a real fix.

I do not think that this is the real cause of the panic. Line 406
in devfs_vnops.c belongs to devfs_allocv(), and vnode interlock taken
there must be consumed by LK_INTERLOCK call to vget(). The getenv()
cannot be called from the vget() or two unlock calls between lines
406 and 409.

It seems there is something broken elsewere.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ia64/attachments/20110928/52d99719/attachment.pgp


More information about the freebsd-ia64 mailing list