From owner-freebsd-current@FreeBSD.ORG Sat Oct 1 22:39:47 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE2C6106567E for ; Sat, 1 Oct 2011 22:39:47 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-annu.mail.uoguelph.ca (esa-annu.mail.uoguelph.ca [131.104.91.36]) by mx1.freebsd.org (Postfix) with ESMTP id 64EE58FC12 for ; Sat, 1 Oct 2011 22:39:47 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvQEAPGVh06DaFvO/2dsb2JhbABBhGWhXYJ4gVMBAQQBIwRSBRYOChEZAgRVBogOpnWQRYMZgniBEwSTYpFa X-IronPort-AV: E=Sophos;i="4.68,474,1312171200"; d="scan'208";a="137866062" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-annu-pri.mail.uoguelph.ca with ESMTP; 01 Oct 2011 18:39:46 -0400 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 75705B3F05; Sat, 1 Oct 2011 18:39:46 -0400 (EDT) Date: Sat, 1 Oct 2011 18:39:46 -0400 (EDT) From: Rick Macklem To: Harald Schmalzbauer Message-ID: <68247115.2381205.1317508786437.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <4E872EB4.1050605@omnilan.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_2381204_1245153590.1317508786435" X-Originating-IP: [172.17.91.203] X-Mailer: Zimbra 6.0.10_GA_2692 (ZimbraWebClient - FF3.0 (Win)/6.0.10_GA_2692) Cc: Attilio Rao , freebsd-current@freebsd.org Subject: Re: beta2 panic: VAPPEND without VWRITE X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Oct 2011 22:39:47 -0000 ------=_Part_2381204_1245153590.1317508786435 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Harald Schmalzbauer wrote: > schrieb Attilio Rao am 01.10.2011 16:49 (localtime): > > Can you please show the panic message? >=20 > Sorry, I forgot to add it here: >=20 > free indoe /var/123088 had 8 blocks > panic: VAPPEND withour VWRITE > >> cpuid =3D 0 > >> KDB: enter: panic > >> [ thread pid 1445 tid 100126 ] > >> Stopped at kbd_enter+0x2b: movq $0,0x918a52(%rip) > >> db> bt > >> Tracing pid 1445 tid 100126 td 0xfffffe000510d460 > >> kdb_enter() at kbd_enter+0x3b > >> panic() at panic+0x180 > >> vn_isdisk() at vn_isdisk > >> ufs_accessx() at ufs_accessx+0x188 > >> vop_stdaccess() at vop_stdaccess+0x43 > >> unionfs_access() at unionfs_access+0x1c4 > >> vn_open_cred() at vn_open_cred+0x547 > >> kern_opneat() at kern_openat+0x1f9 > >> syscallenter() at syscallenter+0x1aa > >> syscall() at syscall+0x4c > >> Xfast_syscall() at Xfast_syscall+0xdd > >> --- syscall (5, FreeBSD ELF64, open), rip =3D 0x801799f2c, rsp =3D > >> 0x7fffffffb388, rbp =3D 0x8 --- >=20 > I'ts reproducable with exact the same hex-numbers with 'scp' when scp > tries to alter knwon_hosts, which is on unionfs. >=20 You could try the attached one line patch. Since VAPPEND is a modifier for VWRITE, it makes sense to clear it along with VWRITE, I think? rick > Here's some LORs, I haven=C3=84t checked if they're already known. I don'= t > have the known-LORs-URL handy... >=20 > lock order reversal: > 1st 0xfffffe000519c278 unionfs (unionfs) @ > /usr/src/sys/modules/unionfs/../../fs/unionfs/union_subr.c:356 > 2nd 0xfffffe000519c458 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2246 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x2a > kdb_backtrace() at kdb_backtrace+0x37 > _witness_debugger() at _witness_debugger+0x2e > witness_checkorder() at witness_checkorder+0x807 > __lockmgr_args() at __lockmgr_args+0xdc6 > ffs_lock() at ffs_lock+0x8c > VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b > _vn_lock() at _vn_lock+0x47 > vputx() at vputx+0x328 > unionfs_noderem() at unionfs_noderem+0x1c4 > unionfs_reclaim() at unionfs_reclaim+0x11 > vgonel() at vgonel+0x105 > vrecycle() at vrecycle+0x4c > unionfs_inactive() at unionfs_inactive+0x20 > vinactive() at vinactive+0x72 > vputx() at vputx+0x386 > kern_statat_vnhook() at kern_statat_vnhook+0x11d > kern_statat() at kern_statat+0x15 > stat() at stat+0x2a > syscallenter() at syscallenter+0x1aa > syscall() at syscall+0x4c > Xfast_syscall() at Xfast_syscall+0xdd > --- syscall (188, FreeBSD ELF64, stat), rip =3D 0x800dc7ecc, rsp =3D > 0x7fffffffd6a8, rbp =3D 0x801441190 --- > lock order reversal: > 1st 0xffffff80e9bf59f8 bufwait (bufwait) @ > /usr/src/sys/kern/vfs_bio.c:2658 > 2nd 0xfffffe00051a7a00 dirhash (dirhash) @ > /usr/src/sys/ufs/ufs/ufs_dirhash.c:284 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x2a > kdb_backtrace() at kdb_backtrace+0x37 > _witness_debugger() at _witness_debugger+0x2e > witness_checkorder() at witness_checkorder+0x807 > _sx_xlock() at _sx_xlock+0x55 > ufsdirhash_acquire() at ufsdirhash_acquire+0x33 > ufsdirhash_add() at ufsdirhash_add+0x19 > ufs_direnter() at ufs_direnter+0x909 > ufs_mkdir() at ufs_mkdir+0x44d > VOP_MKDIR_APV() at VOP_MKDIR_APV+0x93 > kern_mkdirat() at kern_mkdirat+0x290 > syscallenter() at syscallenter+0x1aa > syscall() at syscall+0x4c > Xfast_syscall() at Xfast_syscall+0xdd > --- syscall (136, FreeBSD ELF64, mkdir), rip =3D 0x800933eec, rsp =3D > 0x7fffffffd768, rbp =3D 0x800c07050 --- > lock order reversal: > 1st 0xfffffe000514f818 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2134 > 2nd 0xffffff80e9bf59f8 bufwait (bufwait) @ > /usr/src/sys/ufs/ffs/ffs_vnops.c:260 > 3rd 0xfffffe0005706278 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2134 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x2a > kdb_backtrace() at kdb_backtrace+0x37 > _witness_debugger() at _witness_debugger+0x2e > witness_checkorder() at witness_checkorder+0x807 > __lockmgr_args() at __lockmgr_args+0xdc6 > ffs_lock() at ffs_lock+0x8c > VOP_LOCK1_APV() at VOP_LOCK1_APV+0x9b > _vn_lock() at _vn_lock+0x47 > vget() at vget+0x7b > vfs_hash_get() at vfs_hash_get+0xd5 > ffs_vgetf() at ffs_vgetf+0x48 > softdep_sync_buf() at softdep_sync_buf+0x393 > ffs_syncvnode() at ffs_syncvnode+0x2b3 > ffs_truncate() at ffs_truncate+0x477 > ufs_direnter() at ufs_direnter+0x73b > ufs_mkdir() at ufs_mkdir+0x44d > VOP_MKDIR_APV() at VOP_MKDIR_APV+0x93 > kern_mkdirat() at kern_mkdirat+0x290 > syscallenter() at syscallenter+0x1aa > syscall() at syscall+0x4c > Xfast_syscall() at Xfast_syscall+0xdd > --- syscall (136, FreeBSD ELF64, mkdir), rip =3D 0x800933eec, rsp =3D > 0x7fffffffdbb8, rbp =3D 0x7fffffffdee6 --- >=20 > Thanks, >=20 > -Harry >=20 > >> cpuid =3D 0 > >> KDB: enter: panic > >> [ thread pid 1445 tid 100126 ] > >> Stopped at kbd_enter+0x2b: movq $0,0x918a52(%rip) > >> db> bt > >> Tracing pid 1445 tid 100126 td 0xfffffe000510d460 > >> kdb_enter() at kbd_enter+0x3b > >> panic() at panic+0x180 > >> vn_isdisk() at vn_isdisk > >> ufs_accessx() at ufs_accessx+0x188 > >> vop_stdaccess() at vop_stdaccess+0x43 > >> unionfs_access() at unionfs_access+0x1c4 > >> vn_open_cred() at vn_open_cred+0x547 > >> kern_opneat() at kern_openat+0x1f9 > >> syscallenter() at syscallenter+0x1aa > >> syscall() at syscall+0x4c > >> Xfast_syscall() at Xfast_syscall+0xdd > >> --- syscall (5, FreeBSD ELF64, open), rip =3D 0x801799f2c, rsp =3D > >> 0x7fffffffb388, rbp =3D 0x8 --- ------=_Part_2381204_1245153590.1317508786435 Content-Type: text/x-patch; name=vappend.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=vappend.patch LS0tIGZzL3VuaW9uZnMvdW5pb25fdm5vcHMuYy5zYXYJMjAxMS0xMC0wMSAxODoyODowMi4wMDAw MDAwMDAgLTA0MDAKKysrIGZzL3VuaW9uZnMvdW5pb25fdm5vcHMuYwkyMDExLTEwLTAxIDE4OjI4 OjU0LjAwMDAwMDAwMCAtMDQwMApAQCAtNzQ4LDcgKzc0OCw3IEBAIHVuaW9uZnNfYWNjZXNzKHN0 cnVjdCB2b3BfYWNjZXNzX2FyZ3MgKmEKIAkJCQkJCXJldHVybiAoZXJyb3IpOwogCQkJCX0KIAkJ CX0KLQkJCWFjY21vZGUgJj0gflZXUklURTsKKwkJCWFjY21vZGUgJj0gfihWV1JJVEUgfCBWQVBQ RU5EKTsKIAkJCWFjY21vZGUgfD0gVlJFQUQ7IC8qIHdpbGwgY29weSB0byB1cHBlciAqLwogCQl9 CiAJCWVycm9yID0gVk9QX0FDQ0VTUyhsdnAsIGFjY21vZGUsIGFwLT5hX2NyZWQsIHRkKTsK ------=_Part_2381204_1245153590.1317508786435--