Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Feb 2008 00:41:30 -0600
From:      "Scot Hetzel" <swhetzel@gmail.com>
To:        "Attilio Rao" <attilio@freebsd.org>
Cc:        Kostik Belousov <kostikbel@gmail.com>, Yar Tikhiy <yar@comp.chem.msu.su>, Doug Barton <dougb@freebsd.org>, freebsd-current@freebsd.org
Subject:   Re: panic: System call lstat returning with 1 locks held
Message-ID:  <790a9fff0801312241s346068b6s40fcae71ebbf546@mail.gmail.com>
In-Reply-To: <3bbf2fe10801310504j486924bdm86e0436597a42b09@mail.gmail.com>
References:  <479BBDAA.6000008@FreeBSD.org> <3bbf2fe10801270642m5ec609d8xb29add77ced36d8a@mail.gmail.com> <479FA3E8.10606@FreeBSD.org> <3bbf2fe10801291411v302dd33at54ebe538397e8fac@mail.gmail.com> <20080130130820.GA88429@comp.chem.msu.su> <3bbf2fe10801300707u3fd121c0k199605c2f0be6cbf@mail.gmail.com> <790a9fff0801301352xa91a69ci3f08488dfcfc982@mail.gmail.com> <3bbf2fe10801310243tddedfeckbc4c94be87f0a4ca@mail.gmail.com> <20080131130210.GA37090@comp.chem.msu.su> <3bbf2fe10801310504j486924bdm86e0436597a42b09@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1/31/08, Attilio Rao <attilio@freebsd.org> wrote:
> 2008/1/31, Yar Tikhiy <yar@comp.chem.msu.su>:
>
> > On Thu, Jan 31, 2008 at 11:43:10AM +0100, Attilio Rao wrote:
>  >  >
>  >  > The assertion failing should not happen now.
>  >  > Could you please hand-add a check in _lockmgr_disown()
>  >  > (kern/kern_lock.c) in order to check for the panicstr before to call
>  >  > WITNESS? I cannot access to perforce now and produce a suitable diff,
>  >  > so you can just do this by hand:
>  >  >
>  >  > if (lkp->lk_lockholder == td) {
>  >  >         if (panicstr != NULL)
>  >  >                 WITNESS_UNLOCK(&lkp->lk_object, LOP_EXCLUSIVE, file, line);
>  >  >         td->td_locks--;
>  >  > }
>  >
>  >
>  > Shouldn't the test for panicstr be inverse: `panicstr == NULL'?
>  >  I guess we shouldn't call WITNESS when panicing, should we?
>  >  Sorry if I got it wrong.
>
>
> Weee, you are right, sorry!
>
>
I added this change to kern/kern_lock.c, but I'm still getting this
panic after mounting the ntfs filesystem, and using cvsup to update
the local mirror:

Fatal trap 9: general protection fault while in kernel mode
cpuid = 0; apic id = 00
instruction pointer     = 0x8:0xffffffff80301051
stack pointer           = 0x10:0xffffffffd43b9100
frame pointer           = 0x10:0xffffffffd43b9190
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = resume, IOPL = 0
current process         = 1229 (cvsup)
panic: Assertion !mtx_owned(&w_mtx) failed at ../../../kern/subr_witness.c:959
cpuid = 0
Uptime: 4m38s
Physical memory: 2031 MB
Dumping 324 MB: 309 293 277 261 245 229 213 197 181 165 149 133 117
101 85 69 53 37 21 5

Scot



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?790a9fff0801312241s346068b6s40fcae71ebbf546>