Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 06 Sep 2012 18:32:06 +0200
From:      Harald Schmalzbauer <h.schmalzbauer@omnilan.de>
To:        attilio@freebsd.org
Cc:        stable@freebsd.org, daichi@freebsd.org, Pavel Polyakov <bsd@kobyla.org>
Subject:   Re: lock violation in unionfs (9.0-STABLE r230270)
Message-ID:  <5048D006.8060007@omnilan.de>
In-Reply-To: <5048C6D1.8020007@omnilan.de>
References:  <op.v9l1byf89gyv16@pp>	<CAJ-FndAFMV2iHcMKvMruCP%2BHRzwQuY1Jcd_o6ZEnTCiPV8_8oA@mail.gmail.com>	<op.waqux6rr9gyv16@cel.home>	<5022840B.3060708@omnilan.de>	<CAJ-FndDkuXksyFD2Nd-S7Ty3N8boSk37=a2nYagMkguRYd1r%2Bg@mail.gmail.com> <5048C6D1.8020007@omnilan.de>

next in thread | previous in thread | raw e-mail | index | archive | help
 schrieb Harald Schmalzbauer am 06.09.2012 17:52 (localtime):
>  schrieb Attilio Rao am 09.08.2012 20:26 (localtime):
>> On 8/8/12, Harald Schmalzbauer <h.schmalzbauer@omnilan.de> wrote:
>>>  schrieb Pavel Polyakov am 06.03.2012 11:20 (localtime):
>>>>>> mount -t unionfs -o noatime /usr /mnt
>>>>>>
>>>>>> insmntque: mp-safe fs and non-locked vp: 0xfffffe01d96704f0 is not=

>>>>>> exclusive locked but should be
>>>>>> KDB: enter: lock violation
>>>>> Pavel,
>>>>> can you give a spin to this patch?:
>>>>> http://www.freebsd.org/~attilio/unionfs_missing_insmntque_lock.patc=
h
>>>>>
>>>>> I think that the unlocking is due at that point as the vnode lock c=
an
>>>>> be switch later on.
>>>>>
>>>>> Let me know what you think about it and what the test does.
>>>> Thanks!
>>>> This patch fixes the problem with lock violation. Sorry I've tested =
it so
>>>> late.
>>> Hello,
>>>
>>> this patch still applies cleanly to RELENG_9_1. Was there another fix=

>>> for the issue or has it just not been PR-sent and thus forgotten?
>> Can you and Pavel try the attached patch? Unfortunately I had no time
>> to test it, I just made in 5 free mins from a non-FreeBSD workstation,=

> Sorry, couldn't test earlier, but now I did:
> With this patch applied the machine hangs without debug kernel and the
> latter gives the following panic:
> System call nmount returning with the following locks held:
> exclusive lockmgr ufs (ufs) r =3D 0 (0xc5438278) locked @
> src/sys/fs/unionfs/union_vnops.c:1938
> panic: witness_warn
> cpuid =3D 0
> KDB: stack backtrace:
> db_trace_self_wrapper(c0a04f7f,c0c112c4,d1de3bb4,c097aa8c,fc,...) at
> db_trace_self_wrapper+0x26
> kdb_backtrace(c0a4965f,0,c09c2ede3c1c,0,...) at kdb_backtrace+0x2a
> witness_warn(2,0,c0a4ac34,c0a0990a,286,...) at witness_warn+0x1e4
> syscall(d1de3d08) ar syscall+0x415
> Xint0x80_syscall() at Xint0x80_syscall+0x21
> --- syscall (0, FreeBSD ELF32, nosys), eip =3D 0x280b883f,esp =3D
> 0xbfbfe46c, ebp =3D 0xbfbfede8 ---
> KDB: enter: panic
> [ thread pid 86 tid 100054 ]
> Stopped ad    kdb_enter+0x3a: movl $0,kdb_why
> db> bt
> Tracing pid 86 tid 100054 td 0xc541b000
> kdb_enter(c0a00d16,c0a09130,0,0,0,...) at panix+0x190
> witness_warn(2,0,x0a4ac34,c0a0990a,286,...) at witness_warn+0x1e4
> syscall(d1de3d08) at syscall+0x415
> Xint0x80_syscall() at Xint0x80_syscall+0x21
>
> Hmm, I guess I forgot to install kernel debug symbols...
> Coming back if I have more

Don't see more with kernel-symbols installed... Have no clue about KDB...=

One thing to mention: If I apply the subject's patch
(http://www.freebsd.org/~attilio/unionfs_missing_insmntque_lock.patch)
the machine doesn't panic.
Please tell me if I can provide more info!

-Harry




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