Date: Thu, 18 Jun 2009 19:59:34 -0700 From: Kip Macy <kmacy@freebsd.org> To: Artem Belevich <fbsdlist@src.cx> Cc: freebsd-current@freebsd.org Subject: Re: Crash in ZFS during vnode sync Message-ID: <3c1674c90906181959m7cf149ccpabb78fa7c0c8247b@mail.gmail.com> In-Reply-To: <ed91d4a80906161510w2d005868ya090261decf82629@mail.gmail.com> References: <ed91d4a80906161510w2d005868ya090261decf82629@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
It looks like you tried to lock a destroyed vnode. Did you get a core? Cheers, Kip On Tue, Jun 16, 2009 at 3:10 PM, Artem Belevich<fbsdlist@src.cx> wrote: > Got a new crash on fresh (as of yesterday) -current/amd64 while the > box was pretty much idle. Haven't seen this one before. > > Fatal trap 12: page fault while in kernel mode > cpuid =3D 3; apic id =3D 03 > fault virtual address =A0 =3D 0xd8 > fault code =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D supervisor write data, page not= present > instruction pointer =A0 =A0 =3D 0x20:0xffffffff80360a35 > stack pointer =A0 =A0 =A0 =A0 =A0 =3D 0x28:0xffffff842cfc8900 > frame pointer =A0 =A0 =A0 =A0 =A0 =3D 0x28:0xffffff842cfc8910 > code segment =A0 =A0 =A0 =A0 =A0 =A0=3D base 0x0, limit 0xfffff, type 0x1= b > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D DPL 0, pres 1, long 1,= def32 0, gran 1 > processor eflags =A0 =A0 =A0 =A0=3D interrupt enabled, resume, IOPL =3D 0 > current process =A0 =A0 =A0 =A0 =3D 48 (syncer) > [thread pid 48 tid 100076 ] > Stopped at =A0 =A0 =A0_mtx_lock_flags+0x15: =A0 lock cmpxchgq =A0 %rsi,0x= 18(%rdi) > db> where > Tracing pid 48 tid 100076 td 0xffffff0007b0a390 > _mtx_lock_flags() at _mtx_lock_flags+0x15 > vn_rele_async() at vn_rele_async+0x31 > zfs_get_data() at zfs_get_data+0xd0 > zil_commit() at zil_commit+0x532 > zfs_sync() at zfs_sync+0xa6 > sync_fsync() at sync_fsync+0x184 > VOP_FSYNC_APV() at VOP_FSYNC_APV+0x4a > sync_vnode() at sync_vnode+0x16b > sched_sync() at sched_sync+0x1c9 > fork_exit() at fork_exit+0x118 > fork_trampoline() at fork_trampoline+0xe > --- trap 0, rip =3D 0, rsp =3D 0xffffff842cfc8d40, rbp =3D 0 --- > > db> show lockedbufs > buf at 0xffffff83c11d8550 > b_flags =3D 0xa00200a0<remfree,vmio,clusterok,delwri,cache> > b_error =3D 0, b_bufsize =3D 4096, b_bcount =3D 4096, b_resid =3D 0 > b_bufobj =3D (0xffffff0012c7a2f0), b_data =3D 0xffffff83da5fa000, b_blkno > =3D 19214240, b_dep =3D 0 > b_npages =3D 1, pages(OBJ, IDX, PA): (0xffffff003d5b47d0, 0x0, 0x3c082000= ) > lock type bufwait: EXCL by thread 0xffffff0010e85720 (pid 886) > > db> show lockedvnods > Locked vnodes > > 0xffffff0012c7a1d8: tag ufs, type VREG > =A0 =A0usecount 1, writecount 1, refcount 3 mountedhere 0 > =A0 =A0flags () > =A0 =A0v_object 0xffffff003d5b47d0 ref 0 pages 1 > =A0 =A0lock type ufs: EXCL by thread 0xffffff0010e85720 (pid 886) > =A0 =A0 =A0 =A0ino 1201240, on dev ad4s1a > > 0xffffff0007db9ce8: tag syncer, type VNON > =A0 =A0usecount 1, writecount 0, refcount 2 mountedhere 0 > =A0 =A0flags () > =A0 =A0lock type syncer: EXCL by thread 0xffffff0007b0a390 (pid 48) > db> show vnodebufs > usage: show vnodebufs <addr> > db> show vnodebufs 0xffffff0007db9ce8 > Clean buffers: > Dirty buffers: > db> show vnodebufs 0xffffff0012c7a1d8 > Clean buffers: > Dirty buffers: > buf at 0xffffff83c11d8550 > b_flags =3D 0xa00200a0<remfree,vmio,clusterok,delwri,cache> > b_error =3D 0, b_bufsize =3D 4096, b_bcount =3D 4096, b_resid =3D 0 > b_bufobj =3D (0xffffff0012c7a2f0), b_data =3D 0xffffff83da5fa000, b_blkno > =3D 19214240, b_dep =3D 0 > b_npages =3D 1, pages(OBJ, IDX, PA): (0xffffff003d5b47d0, 0x0, 0x3c082000= ) > lock type bufwait: EXCL by thread 0xffffff0010e85720 (pid 886) > > db> bt 886 > Tracing pid 886 tid 100183 td 0xffffff0010e85720 > cpustop_handler() at cpustop_handler+0x3b > ipi_nmi_handler() at ipi_nmi_handler+0x30 > trap() at trap+0x195 > nmi_calltrap() at nmi_calltrap+0x8 > --- trap 0x13, rip =3D 0xffffffff803605ca, rsp =3D 0xffffff800001bfe0, rb= p > =3D 0xffffff842f52b7f0 --- > _mtx_lock_sleep() at _mtx_lock_sleep+0x11a > bdwrite() at bdwrite+0x313 > ffs_write() at ffs_write+0x634 > VOP_WRITE_APV() at VOP_WRITE_APV+0xc6 > vn_write() at vn_write+0x188 > dofilewrite() at dofilewrite+0x85 > kern_writev() at kern_writev+0x60 > writev() at writev+0x41 > syscall() at syscall+0x28f > Xfast_syscall() at Xfast_syscall+0xd0 > --- syscall (121, FreeBSD ELF64, writev), rip =3D 0x80083501c, rsp =3D > 0x7fffffffcaf8, rbp =3D 0 --- > db> bt 48 > Tracing pid 48 tid 100076 td 0xffffff0007b0a390 > _mtx_lock_flags() at _mtx_lock_flags+0x15 > vn_rele_async() at vn_rele_async+0x31 > zfs_get_data() at zfs_get_data+0xd0 > zil_commit() at zil_commit+0x532 > zfs_sync() at zfs_sync+0xa6 > sync_fsync() at sync_fsync+0x184 > VOP_FSYNC_APV() at VOP_FSYNC_APV+0x4a > sync_vnode() at sync_vnode+0x16b > sched_sync() at sched_sync+0x1c9 > fork_exit() at fork_exit+0x118 > fork_trampoline() at fork_trampoline+0xe > --- trap 0, rip =3D 0, rsp =3D 0xffffff842cfc8d40, rbp =3D 0 --- > > > > --Artem > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org= " > --=20 When bad men combine, the good must associate; else they will fall one by one, an unpitied sacrifice in a contemptible struggle. Edmund Burke
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3c1674c90906181959m7cf149ccpabb78fa7c0c8247b>