Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Dec 2013 13:55:27 +0200
From:      =?ISO-8859-1?Q?=D6zkan_KIRIK?= <ozkan.kirik@gmail.com>
To:        Peter Holm <peter@holm.cc>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Re: stable/10 r258317 - UFS lock problem
Message-ID:  <CAAcX-AFKzW=tPgb5jKzNNZQazrdwhDo2SxQGuwLw71iHGezQog@mail.gmail.com>
In-Reply-To: <CAAcX-AEWiEzHaqt8=aYxHhD80astwXUJ3Q9Ub52WCv54Cd-5bw@mail.gmail.com>
References:  <CAAcX-AHM6WXmWM1aTmaRETJFSMvAGqXsrCHo9a3nxhU9%2BHQhSQ@mail.gmail.com> <20131206201329.GK59496@kib.kiev.ua> <CAAcX-AHbwsSZHREL-RpFFojMWEwLDR0sCSkPTddmZMPbuV0E5A@mail.gmail.com> <20131207183044.GA19655@x2.osted.lan> <CAAcX-AEWiEzHaqt8=aYxHhD80astwXUJ3Q9Ub52WCv54Cd-5bw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

I compiled GENERIC kernel with;

makeoptions DEBUG=3D-g
options DDB
options INVARIANTS
options INVARIANT_SUPPORT
options WITNESS
options WITNESS_SKIPSPIN
options DEBUG_LOCKS
options DEBUG_VFS_LOCKS
options DIAGNOSTIC


When I run portsnap fetch extract, I catched these situations on console:

lock order reversal:
 1st Oxfffffe0080531888 bufwait (bufwait) =95 ,usr/src/sys/kern/vfs
bio.c:3050
 2nd Oxfffff8000d48a400 dirhash (dirhash)
/usr/src/sys/ufs/ufs/ufs_dirhash.c:284
KDB: stack backtrace:
kdb_trace_self_wrapper() at db_trace_self_wrapper.0x2b/frame
Oxfffffe009aaa3700
db_backtrace() at kdb backtrace.0x39/frame Oxfffffe009aaa37b0
witness_checkorder() at witness_checkorder.Oxd23/frame Oxfffffe009aaa3840
_sx_xlock() at _sx xlock.0x75/frame Oxfffffe009aaa3880
ufsdirhash_remove() at ufsdirhash remove.0x47/frame Oxfffffe009aaa38b0
ufs_dirremove() at ufs_dirremove.0x11b/frame Oxfffffe009aaa3900
ufs_rmdir() at ufs_rmdir.Oxe3/frame Oxfffffe009aaa3940
VOP_RMDIR_APV() at VOP RHDIR APV.0x12d/frame Oxfffffe009aaa3970
kern_rmdirat() at kern rmdirat.0x1b8/frame Oxfffffe009aaa3ae0
amd64_syscall() at amd64_syscal1.0x282/frame Oxfffffe009aaa3bf0
Xfast_syscall() at Xfast_syscall.Oxfb/frame Oxfffffe009aaa3bf0
--- syscall (137. FreeBSD ELF64. sys_rmdir). rip =3D Ox80088alfa. rsp =3D
Ox7fffffffd998, rbp =3D Ox7fffffffda60 ---


"ps" output over ssh is below:

# ps ax | grep D+
29730  0  D+    0:00.00 tar -xz --numeric-owner -f
/var/db/portsnap/files/cafbda170898ff0143598e1363c08fc3ac82ba2f4d43334fc53b=
251dbcd28063.gz
-C /usr/ports/games/highmoon/ (bsdtar)





On Sun, Dec 8, 2013 at 9:38 PM, =D6zkan KIRIK <ozkan.kirik@gmail.com> wrote=
:

> Hi,
>
> You're right Peter. Now i am compiling with DDB option.
> But
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kern=
eldebug-deadlocks.html page,
> dont tell about the "DDB" option.
>
> Thank you,
>
>
> On Sat, Dec 7, 2013 at 8:30 PM, Peter Holm <peter@holm.cc> wrote:
>
>> On Sat, Dec 07, 2013 at 08:24:32AM +0200, =D6zkan KIRIK wrote:
>> > Hi,
>> >
>> > I'm trying to compile a debug kernel with these options :
>> >
>> > makeoptions DEBUG=3D-g
>> > options INVARIANTS
>> >  options INVARIANT_SUPPORT
>> > options WITNESS
>> >  options DEBUG_LOCKS
>> > options DEBUG_VFS_LOCKS
>> >  options DIAGNOSTIC
>> >
>> > While compiling; compilations fails due to this error :
>> > /usr/src/sys/kern/subr_vmem.c:1357:1: error: unused function 'vmem_dum=
p'
>> >     [-Werror, -Wunused-function]
>> >
>>
>> Did you forget "options DDB" ?
>>
>> - Peter
>>
>> >
>> > I'll comment out this function and recompiled kernel.
>> > Now, while booting, kernel panics. Error line is below;  KDB stack
>> > backtrace is attached as PNG screenshot.
>> >
>> > "panic: mtx_lock_spin: recursed on non-recursive mutex cnput_mtx @
>> > /usr/src/sys/kern/kern_cons.c:500"
>> >
>> > I think, i hit an other bug.
>> >
>> > Best wishes,
>> >
>> > Ozkan KIRIK
>> > ePati Information Technologies
>> > http://www.epati.com.tr/
>> >
>> >
>> > On Fri, Dec 6, 2013 at 10:13 PM, Konstantin Belousov <
>> kostikbel@gmail.com>wrote:
>> >
>> > > On Fri, Dec 06, 2013 at 08:10:55PM +0200, ?zkan KIRIK wrote:
>> > > > Hi,
>> > > >
>> > > > I am using FreeBSD 10.0-BETA3 r258317 GENERIC kernel.
>> > > >
>> > > > I run "portsnap fetch extract".
>> > > > While extracting files, extracting operation hangs, and i cant kil=
l
>> > > process.
>> > > >
>> > > > Output of : "ps ax | grep D+"  ( uninterruptable process list )
>> > > > % ps ax | grep D+
>> > > > 28933  0  D+    0:00.01 tar -xz --numeric-owner -f
>> > > >
>> > >
>> /var/db/portsnap/files/77d41f10d2832f8450e4e02a4db5c0a6131c97d15076ed0c7=
6e761c9ce58338d.gz
>> > > > -C /usr/ports/emulators/qemu/ (bsdtar)
>> > > > 29051  1  S+    0:00.00 grep D+
>> > > > %
>> > > >
>> > > >
>> > > > Because of D flag, process cannot be interrupted even by SIGKILL.
>> > > > I cannot remove usr/ports folder while this process on D+ state.
>> > > > If I run rm -r /usr/ports, rm process is flagged as D+ also.
>> > > >
>> > > > I tested this situation on both vmware workstation and different
>> real
>> > > > hardware installations. ( Sun Fire X4150, HP DL380G4, Sun X3
>> servers. )
>> > > >
>> > > > Problem is repeatable. If you install FreeBSD on ZFS root, problem
>> > > doesn't
>> > > > occur.
>> > > >
>> > > >
>> > > > # mount
>> > > > /dev/da0p2 on / (ufs, local, journaled soft-updates)
>> > > > devfs on /dev (devfs, local, multilabel)
>> > >
>> > > See
>> > >
>> > >
>> http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/ker=
neldebug-deadlocks.html
>> > >
>> > _______________________________________________
>>
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAcX-AFKzW=tPgb5jKzNNZQazrdwhDo2SxQGuwLw71iHGezQog>