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>