Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Jan 2008 20:47:59 +0300
From:      Yar Tikhiy <yar@comp.chem.msu.su>
To:        Attilio Rao <attilio@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:  <20080124174759.GC78114@comp.chem.msu.su>
In-Reply-To: <3bbf2fe10801240518i6e18b2f5w84de652d4170c95b@mail.gmail.com>
References:  <790a9fff0801150552l542a4238ofc12efe5fdb45fc2@mail.gmail.com> <20080115143924.GB57756@deviant.kiev.zoral.com.ua> <20080124122808.GA15600@freefall.freebsd.org> <3bbf2fe10801240518i6e18b2f5w84de652d4170c95b@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 24, 2008 at 02:18:56PM +0100, Attilio Rao wrote:
> 2008/1/24, Yar Tikhiy <yar@freebsd.org>:
> > On Tue, Jan 15, 2008 at 04:39:24PM +0200, Kostik Belousov wrote:
> > >
> > > 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 think I'm seeing the same panic on UFS.  It's rather nasty: I
> > cannot rebuild CURRENT natively due to it so I have to build it
> > under 6-STABLE.  My favourite way to trigger the panic reliably is
> > running `make install' in a simple port directory, e.g., portmaster,
> > but my system also panics during daily scripts run and, as already
> > said, if trying to build world.
> 
> Yar,
> as it seems reproducible for you, can you please add this patch to the tree:
> http://www.freebsd.org/~attilio/debug_tdlocks.diff
> 
> compile your kernel with:
> options KTR
> options KTR_COMPILE=(KTR_SPARE2)
> options KTR_MASK=(KTR_SPARE2)
> options KTR_ENTRIES=32768
> 
> and once kernel panics, at ddb prompts do:
> > show ktr

The first lines of the ktr output are attached.  I can try to extract
all 32768 lines if needed, but they all look almost the same.  I.e.,
the function name and the td pointer are the same while td_locks
bump is 1 or -1.

-- 
Yar

db> show ktr
430 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
429 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
428 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
427 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
426 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
425 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
424 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
423 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
422 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
421 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
420 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
419 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
418 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
417 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
416 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
415 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
414 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
413 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
412 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
411 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
410 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
409 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
408 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
407 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
406 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
405 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
404 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
403 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
402 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
401 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
400 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
399 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
398 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
397 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
396 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
395 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
394 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
393 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
392 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
391 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
390 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
389 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
388 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
387 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
386 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
385 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
384 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of 1 td_locks
383 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
382 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
381 (0xc37e1220:cpu0): _lockmgr: 0xc37e1220 bumping of -1 td_locks
...



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