Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Jan 2008 18:33:14 -0600
From:      "Scot Hetzel" <swhetzel@gmail.com>
To:        "Kris Kennaway" <kris@freebsd.org>
Cc:        Kostik Belousov <kostikbel@gmail.com>, freebsd-current@freebsd.org
Subject:   Re: panic: System call lstat returning with 1 locks held
Message-ID:  <790a9fff0801161633k73b79123ka729861abb2ec71c@mail.gmail.com>
In-Reply-To: <478DD4A2.6020202@FreeBSD.org>
References:  <790a9fff0801150552l542a4238ofc12efe5fdb45fc2@mail.gmail.com> <20080115143924.GB57756@deviant.kiev.zoral.com.ua> <790a9fff0801152301l5d50461aw3a253608506368e2@mail.gmail.com> <478DD4A2.6020202@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1/16/08, Kris Kennaway <kris@freebsd.org> wrote:
> Scot Hetzel wrote:
> > On 1/15/08, Kostik Belousov <kostikbel@gmail.com> wrote:
> >> On Tue, Jan 15, 2008 at 07:52:12AM -0600, Scot Hetzel wrote:
> >>> When I boot a Jan 13th or Jan 15th kernel, and then run
> >>> /usr/local/etc/cvsup/update.sh to update the local CVS repository, I
> >>> get the following panic:
> >>>
> >>> panic: System call lstat returning with 1 locks held
> >>> cpuid = 0
> >>> KDB: enter: panic
> >>> [thread ; pid 1240 tid 10031]
> >>> stopped at kdb_enter+0x3d: movq $0,0x41b048(%rip)
> >>> db> show alllocks
> >>> db> show locks
> >>> db> bt
> >>> tracing pid 1240 tid 10031 td 0xffffff001c1ad360
> >>> kdb_enter() at kdb_enter+0x3d
> >>> panic() at panic+0x176
> >>> syscalls() at syscalls+0x66d
> >>> Xfast_syscalls() at Xfast_syscalls+0xab
> >>> --- syscall (0, FreeBSD ELF64, nosys), rip = 0x8009e87ec, rsp=
> >>> 0x72ec50, rbp = 0x72ed28 ---
> >>>
> >> I think this could be related to the recent vn_lock()/VOP_LOCK() KPI changes.
> >> Please, add DEBUG_VFS_LOCKS to the kernel config, and do the
> >>         show lockedvnods
> >> from the ddb prompt when the panic occurs. The witness does not track
> >> the lockmgr locks.
> >>
> > I added DEBUG_VFS_LOCKS to the kernel config file, rebuilt and
> > installed the kernel.  After rebooting the system, I started the cvsup
> > update for my local mirror, when the panic occured I received a
> > similar panic to the one above.  When I used 'show lockedvnods' the
> > only thing that was displayed was 'Locked vnodes' and that was it.
> >
> > I'm going to try a binary search to see if I can narrow the problem down.
>
> Do you also have witness enabled?
>
witness is enabled in the kernel:

# Debugging for use in -current
options         KDB                     # Enable kernel debugger support.
options         DDB                     # Support DDB.
options         GDB                     # Support remote GDB.
options         INVARIANTS              # Enable calls of extra sanity checking
options         INVARIANT_SUPPORT       # Extra sanity checks of internal struct
ures, required by INVARIANTS
options         WITNESS                 # Enable checks to detect deadlocks and
cycles
options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks for spe
ed
options         DEBUG_VFS_LOCKS

and sysctl debug.witness.watch is set to 1.

Scot



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