From owner-freebsd-stable@FreeBSD.ORG Thu Sep 6 15:56:19 2012 Return-Path: Delivered-To: stable@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9FE01065686; Thu, 6 Sep 2012 15:56:19 +0000 (UTC) (envelope-from h.schmalzbauer@omnilan.de) Received: from host.omnilan.net (s1.omnilan.net [62.245.232.135]) by mx1.freebsd.org (Postfix) with ESMTP id 55E568FC0A; Thu, 6 Sep 2012 15:56:18 +0000 (UTC) Received: from titan.inop.wdn.omnilan.net (titan.inop.wdn.omnilan.net [172.21.3.1]) (authenticated bits=0) by host.omnilan.net (8.13.8/8.13.8) with ESMTP id q86FrTnx066603 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 6 Sep 2012 17:53:29 +0200 (CEST) (envelope-from h.schmalzbauer@omnilan.de) Message-ID: <5048C6D1.8020007@omnilan.de> Date: Thu, 06 Sep 2012 17:52:49 +0200 From: Harald Schmalzbauer Organization: OmniLAN User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; de-DE; rv:1.9.2.8) Gecko/20100906 Lightning/1.0b2 Thunderbird/3.1.2 MIME-Version: 1.0 To: attilio@FreeBSD.org References: <5022840B.3060708@omnilan.de> In-Reply-To: X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: stable@FreeBSD.org, daichi@FreeBSD.org, Pavel Polyakov Subject: Re: lock violation in unionfs (9.0-STABLE r230270) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2012 15:56:20 -0000 schrieb Attilio Rao am 09.08.2012 20:26 (localtime): > On 8/8/12, Harald Schmalzbauer 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