Date: Thu, 06 Sep 2012 17:52:49 +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: <5048C6D1.8020007@omnilan.de> In-Reply-To: <CAJ-FndDkuXksyFD2Nd-S7Ty3N8boSk37=a2nYagMkguRYd1r%2Bg@mail.gmail.com> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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.patch= >>>> >>>> I think that the unlocking is due at that point as the vnode lock ca= n >>>> 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 i= t 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 Thanks, -Harry
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5048C6D1.8020007>