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>