Date: Sat, 8 Aug 2009 18:48:53 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: pluknet <pluknet@gmail.com> Cc: freebsd-stable <freebsd-stable@freebsd.org> Subject: Re: panic in vgonel() Message-ID: <20090808154853.GZ1884@deviant.kiev.zoral.com.ua> In-Reply-To: <a31046fc0908070548q2dc21411i18aa3e353a8027fa@mail.gmail.com> References: <a31046fc0908070437p2b1c96denf24268ce52107a34@mail.gmail.com> <20090807115309.GW1884@deviant.kiev.zoral.com.ua> <a31046fc0908070537h713d412cm870878c116ba2ee4@mail.gmail.com> <20090807124609.GX1884@deviant.kiev.zoral.com.ua> <a31046fc0908070548q2dc21411i18aa3e353a8027fa@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--h1d7ksSqXDyyuV0m Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Aug 07, 2009 at 04:48:37PM +0400, pluknet wrote: > 2009/8/7 Kostik Belousov <kostikbel@gmail.com>: > > On Fri, Aug 07, 2009 at 04:37:07PM +0400, pluknet wrote: > >> 2009/8/7 Kostik Belousov <kostikbel@gmail.com>: > >> > On Fri, Aug 07, 2009 at 03:37:11PM +0400, pluknet wrote: > >> >> This is on 7.2-R amd64. > >> >> > >> >> I'm curious if it might be due to glusterfs on it. > >> >> > >> >> Fatal trap 12: page fault while in kernel mode > >> >> cpuid =3D 3; apic id =3D 03 > >> >> fault virtual address =9A =3D 0x0 > >> >> fault code =9A =9A =9A =9A =9A =9A =9A=3D supervisor write data, pa= ge not present > >> >> instruction pointer =9A =9A =3D 0x8:0xffffffff805a52ba > >> >> stack pointer =9A =9A =9A =9A =9A =3D 0x10:0xfffffffefc3474a0 > >> >> frame pointer =9A =9A =9A =9A =9A =3D 0x10:0xfffffffefc347510 > >> >> code segment =9A =9A =9A =9A =9A =9A=3D base 0x0, limit 0xfffff, ty= pe > >> >> =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =9A =3D DPL 0, pres 1, = long 1, def32 0, gran 1 > >> >> processor eflags =9A =9A =9A =9A=3D interrupt enabled, resume, IOPL= =3D 0 > >> >> current process =9A =9A =9A =9A =3D 35425 (find) > >> >> > >> >> db> bt > >> >> Tracing pid 35425 tid 100194 td 0xffffff003c165370 > >> >> vgonel() at vgonel+0x1aa > >> >> vnlru_free() at vnlru_free+0x36c > >> >> getnewvnode() at getnewvnode+0x281 > >> >> ffs_vgetf() at ffs_vgetf+0xdf > >> >> ufs_lookup() at ufs_lookup+0x2dd > >> >> vfs_cache_lookup() at vfs_cache_lookup+0xf3 > >> >> VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x40 > >> >> lookup() at lookup+0x598 > >> >> namei() at namei+0x33e > >> >> kern_lstat() at kern_lstat+0x5e > >> >> lstat() at lstat+0x2a > >> >> syscall() at syscall+0x256 > >> >> Xfast_syscall() at Xfast_syscall+0xab > >> >> --- syscall (190, FreeBSD ELF64, lstat), rip =3D 0x80071063c, rsp = =3D > >> >> 0x7fffffffea48, rbp =3D 0x800a06910 --- > >> > > >> > Did you got the vmcore ? If yes, please find the value for vgonel() > >> > argument, vp, and print the vnode content. > >> > >> I didn't. Same problem as in my another mail. :( > >> > >> > > >> > Regardless of this, look up the source line for vgonel+0x1aa. > >> > > >> > >> I could resolve only address which belongs to instruction pointer > >> =3D 0x8:0xffffffff805a52ba > >> (eh, I don't know if I should sum these numbers, so I did this for bot= h cases): > >> > >> dev2# addr2line -e /boot/kernel/kernel.symbols 0xffffffff805a52ba > >> /usr/src/sys/kern/vfs_subr.c:979 > >> delmntque(): =9A =9A =9A =9ATAILQ_REMOVE(&mp->mnt_nvnodelist, vp, v_nm= ntvnodes); > >> > >> dev2# addr2line -e /boot/kernel/kernel.symbols 0xffffffff805a52c2 > >> /usr/src/sys/kern/vfs_subr.c:981 > >> delmntque(): =9A =9A =9A =9AMNT_REL(mp); > > > > load kernel.debug into gdb, and then do "list *(vgonel+0x1aa)" > > >=20 > Ah, of course. Sorry. >=20 > (gdb) list *(vgonel+0x1aa) > 0xffffffff805a52ba is in vgonel (/usr/src/sys/kern/vfs_subr.c:979). > 974 return; > 975 MNT_ILOCK(mp); > 976 vp->v_mount =3D NULL; > 977 VNASSERT(mp->mnt_nvnodelistsize > 0, vp, > 978 ("bad mount point vnode list size")); > 979 TAILQ_REMOVE(&mp->mnt_nvnodelist, vp, v_nmntvnodes); > 980 mp->mnt_nvnodelistsize--; > 981 MNT_REL(mp); > 982 MNT_IUNLOCK(mp); > 983 } If you can reproduce the issue at will, please try to do reproduce it on the kernel with INVARIANTS and possibly DEBUG_VFS_LOCKS on. --h1d7ksSqXDyyuV0m Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAkp9nmUACgkQC3+MBN1Mb4jVEQCePrkxYLu2/zzXtin4otUSCeO0 4j0AoIHMUwFSljUt/qsI8mu0qwH/QsUl =uNaY -----END PGP SIGNATURE----- --h1d7ksSqXDyyuV0m--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090808154853.GZ1884>