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