[prev in list] [next in list] [prev in thread] [next in thread]
List: freebsd-current
Subject: Re: ia64 r225789 panic during "make installworld": Bad buffer logic,
From: Kostik Belousov <kostikbel () gmail ! com>
Date: 2011-09-28 14:31:38
Message-ID: 20110928143138.GB1511 () deviant ! kiev ! zoral ! com ! ua
[Download RAW message or body]
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.
[Attachment #3 (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic