Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Jul 2008 17:27:16 +0200
From:      "Attilio Rao" <attilio@freebsd.org>
To:        "Lothar Braun" <lothar@lobraun.de>
Cc:        freebsd-current@freebsd.org
Subject:   Re: panic: __lockmgr_args: unknown lockmgr request 0x0
Message-ID:  <3bbf2fe10807190827k24c738c9s4f258ac006035b75@mail.gmail.com>
In-Reply-To: <4880921C.10700@lobraun.de>
References:  <487F32C6.5030502@lobraun.de> <3bbf2fe10807171306y59d30b13y868c1e27697412a7@mail.gmail.com> <48805EEE.90109@lobraun.de> <48806684.4000908@FreeBSD.org> <4880921C.10700@lobraun.de>

next in thread | previous in thread | raw e-mail | index | archive | help
2008/7/18, Lothar Braun <lothar@lobraun.de>:
> Hi,
>
>  Kris Kennaway wrote:
>
> >
> > > dmesg says:
> > >
> > > SGI XFS with large block numbers, tracing, no debug enabled
> > > fsname '/dev/ad8s4' logname '' rtname ''
> > > flags 0x200000 sunit 0 swidth 0 logbufs -1 logbufsize -1
> > > xfs_setsize_buftarg NI 0xc692d420
> > > XFS mounting filesystem /dev/ad8s4
> > > Ending clean XFS mount for filesystem: /dev/ad8s4
> > > xfs_iunpin: REC RECABLE ip 0xc6f89d38
> > > xfs_iunpin: REC RECABLE ip 0xc6f8a000
> > > xfs_iflush: ip 0xc6f89d38 i_ino 131
> > >
> > >
> > > I'll recompile the kernel with INVARIANTS and WITNESS enabled in order
> to get more information about the problem.
> > >
> >
> > And DEBUG_LOCKS and DEBUG_VFS_LOCKS please :)
> >
>
>  I now have
>
>  makeoptions     DEBUG=-g
>  options         KDB                     # Enable kernel debugger support.
>  options         KDB_UNATTENDED
>  options         DDB                     # Support DDB.
>  options         GDB                     # Support remote GDB.
>  options         INVARIANTS              # Enable calls of extra sanity
> checking
>  options         INVARIANT_SUPPORT       # Extra sanity checks of internal
> structures, required by INVARIANTS
>  options         WITNESS                 # Enable checks to detect deadlocks
> and cycles
>  options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks
> for speed
>  options         DEBUG_LOCKS
>  options         DEBUG_VFS_LOCKS
>
>  enabled and got the following output in /var/log/messages:
>
>  Jul 18 12:28:14 finch kernel: SGI XFS with large block numbers, tracing, no
> debug enabled
>  Jul 18 12:28:14 finch kernel: fsname '/dev/ad8s4' logname '' rtname ''
>  Jul 18 12:28:14 finch kernel: flags 0x200000 sunit 0 swidth 0 logbufs -1
> logbufsize -1
>  Jul 18 12:28:14 finch kernel: xfs_setsize_buftarg NI 0xc6773a60
>  Jul 18 12:28:14 finch kernel: XFS mounting filesystem /dev/ad8s4
>  Jul 18 12:28:15 finch kernel: Ending clean XFS mount for filesystem:
> /dev/ad8s4
>  Jul 18 12:28:20 finch kernel: lock order reversal:
>  Jul 18 12:28:20 finch kernel: 1st 0xc6dd95b8 xfs (xfs) @
> /usr/src/sys/kern/vfs_lookup.c:432
>  Jul 18 12:28:20 finch kernel: 2nd 0xc6f9e090 xfsino (xfsino) @
> /usr/src/sys/modules/xfs/../../gnu/fs/xfs/xfs_iget.c:881
>  Jul 18 12:28:20 finch kernel: 3rd 0xc6fa1058 xfs (xfs) @
> /usr/src/sys/modules/xfs/../../gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c:393
>  Jul 18 12:28:20 finch kernel: KDB: stack backtrace:
>  Jul 18 12:28:20 finch kernel:
> db_trace_self_wrapper(c0b2f902,e8fc2760,c07ce8ee,c0b32188,c6fa1058,...)
> at db_trace_self_wrapper+0x26
>  Jul 18 12:28:20 finch kernel:
> kdb_backtrace(c0b32188,c6fa1058,c6ee0df9,c6ee0df9,c6ee0d4e,...)
> at kdb_backtrace+0x29
>  Jul 18 12:28:20 finch kernel:
> witness_checkorder(c6fa1058,9,c6ee0d4e,189,4,...) at
> witness_checkorder+0x6de
>  Jul 18 12:28:20 finch kernel:
> __lockmgr_args(c6fa1058,80400,c6fa10c0,0,0,...) at
> __lockmgr_args+0x777
>  Jul 18 12:28:20 finch kernel:
> vop_stdlock(e8fc2860,c6fa10f4,c6fa1000,80400,c6fa1000,...)
> at vop_stdlock+0x65
>  Jul 18 12:28:20 finch kernel:
> VOP_LOCK1_APV(c6eea5c0,e8fc2860,c0c3a2a0,c6fa1000,80400,...)
> at VOP_LOCK1_APV+0xa5
>  Jul 18 12:28:20 finch kernel:
> _vn_lock(c6fa1000,80400,c6ee0d4e,189,e8fc28dc,...) at
> _vn_lock+0x5e
>  Jul 18 12:28:20 finch kernel:
> xfs_iget(c6926800,c6fa3000,83,0,1,...) at xfs_iget+0x27b
>  Jul 18 12:28:20 finch kernel:
> xfs_trans_iget(c6926800,c6fa3000,83,0,1,...) at
> xfs_trans_iget+0x256
>  Jul 18 12:28:20 finch kernel:
> xfs_ialloc(c6fa3000,c6f9e000,41ed,2,0,...) at
> xfs_ialloc+0xda
>  Jul 18 12:28:20 finch kernel:
> xfs_dir_ialloc(e8fc2a78,c6f9e000,41ed,2,0,...) at
> xfs_dir_ialloc+0x82
>  Jul 18 12:28:20 finch kernel:
> xfs_mkdir(c6f9e020,e8fc2c04,e8fc2ab4,e8fc2b28,c69dd700,...)
> at xfs_mkdir+0x457
>  Jul 18 12:28:20 finch kernel:
> _xfs_mkdir(e8fc2c28,c0b6262e,0,e8fc2c28,e8fc2bd8,...) at
> _xfs_mkdir+0xb0
>  Jul 18 12:28:20 finch kernel:
> VOP_MKDIR_APV(c6eea5c0,e8fc2c28,e97,e95,1,...) at
> VOP_MKDIR_APV+0xc5
>  Jul 18 12:28:20 finch kernel:
> kern_mkdirat(c67778c0,ffffff9c,bfbfee32,0,1ff,...) at
> kern_mkdirat+0x276
>  Jul 18 12:28:20 finch kernel:
> kern_mkdir(c67778c0,bfbfee32,0,1ff,e8fc2d2c,...) at
> kern_mkdir+0x2e
>  Jul 18 12:28:20 finch kernel:
> mkdir(c67778c0,e8fc2cf8,8,c,c0c003e0,...) at mkdir+0x29
>  Jul 18 12:28:20 finch kernel: syscall(e8fc2d38) at syscall+0x2a3
>  Jul 18 12:28:20 finch kernel: Xint0x80_syscall() at Xint0x80_syscall+0x20
>  Jul 18 12:28:20 finch kernel: --- syscall (136, FreeBSD ELF32, mkdir), eip
> = 0x28159cd3, esp = 0xbfbfec5c, ebp = 0xbfbfed28 ---
>  Jul 18 12:28:23 finch kernel: xfs_iunpin: REC RECABLE ip 0xc6f9dd80
>  Jul 18 12:28:23 finch kernel: xfs_iunpin: REC RECABLE ip 0xc6f9e000
>  Jul 18 12:28:25 finch kernel: System call stat returning with the following
> locks held:
>  Jul 18 12:28:25 finch kernel: exclusive lockmgr xfs r = 0 (0xc6fa1058)
> locked @ /usr/src/sys/modules/xfs/../.

Hello Lothar,
can you please try this on the top of -CURRENT:
http://www.freebsd.org/~attilio/xfs2.diff

(it is a perforce patch, so just use -p6 as patching level).

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein



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