From owner-freebsd-questions Thu Jun 24 5:55:55 1999 Delivered-To: freebsd-questions@freebsd.org Received: from mailgate.program-products.co.uk (samson.program-products.co.uk [212.240.242.226]) by hub.freebsd.org (Postfix) with ESMTP id 4103C14F00 for ; Thu, 24 Jun 1999 05:55:48 -0700 (PDT) (envelope-from terry@program-products.co.uk) Received: by mailgate.program-products.co.uk via smap (V2.1) id xma010454; Thu, 24 Jun 99 13:55:46 +0100 To: Greg Lehey Cc: freebsd-questions@freebsd.org Subject: Re: Multiple panics in ufs_vnoperate (3.2-STABLE) References: <9906231415.AA16160@program-products.co.uk> <19990624100339.F417@freebie.lemis.com> From: Terry Glanfield Date: 24 Jun 1999 13:55:44 +0100 In-Reply-To: Greg Lehey's message of "Thu, 24 Jun 1999 10:03:40 +0930" Message-Id: Lines: 137 X-Mailer: Gnus v5.6.44/Emacs 19.34 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Greg Lehey writes: > Do you still have the dumps? The obvious thing to do here is to look > at what's going on there. A "page fault" under these circumstances > suggests an uninitialized pointer (the fault address is 0x0 in one > case and 0x63746572 in the other; the latter is interesting because it > is the text "retc"). I've half a dozen dumps available still. > The first thing you want to do is look at the stack frame where the > problem occurred. Do this: > > (kgdb) f 5 > (kgdb) p *ap > > This will be an iterative effort; it'll take a while to find it, but > I'd guess you have a corrupted file on disk. Thanks for the help Greg. I assume we're looking for the inode of the file. Here's what I've found so far. Cheers, Terry. PS Would you rather take this offline. case 1: Fatal trap 12: page fault while in kernel mode fault virtual address = 0x63746572 fault code = supervisor read, page not present instruction pointer = 0x8:0xc0220658 stack pointer = 0x10:0xc33eae5c frame pointer = 0x10:0xc33eae5c code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 50328 (plug-gw) interrupt mask = trap number = 12 panic: page fault #5 0xc0220658 in ufs_vnoperate (ap=0xc33eae74) at ../../ufs/ufs/ufs_vnops.c:2299 #6 0xc0180ce8 in vn_stat (vp=0xc34dfc00, sb=0xc33eaf00, p=0xc335f260) at vnode_if.h:247 #7 0xc014fb79 in fstat (p=0xc335f260, uap=0xc33eaf94) at ../../kern/kern_descrip.c:585 (kgdb) f 5 #5 0xc0220658 in ufs_vnoperate (ap=0xc33eae74) at ../../ufs/ufs/ufs_vnops.c:2299 2299 return (VOCALL(ufs_vnodeop_p, ap->a_desc->vdesc_offset, ap)); (kgdb) p *ap Cannot access memory at address 0x0. (kgdb) p ap $1 = (struct vop_generic_args *) 0x0 (kgdb) p *(struct vop_generic_args *)0xc33eae74 $2 = {a_desc = 0xc02aa254} (kgdb) print $2.a_desc $3 = (struct vnodeop_desc *) 0xc02aa254 (kgdb) print *$2.a_desc $4 = {vdesc_offset = 5, vdesc_name = 0xc02686a0 "vop_getattr", vdesc_flags = 0, vdesc_vp_offsets = 0xc02aa24c, vdesc_vpp_offset = -1, vdesc_cred_offset = 12, vdesc_proc_offset = 16, vdesc_componentname_offset = -1, vdesc_transports = 0x0} (kgdb) case 2: IdlePTD 3399680 initial pcb at 2c5670 panicstr: vm_fault: fault on nofault entry, addr: c1454000 panic messages: #5 0xc0220656 in ufs_vnoperate (ap=0xc3454dc4) at ../../ufs/ufs/ufs_vnops.c:2298 #6 0xc01b2b7f in nqsrv_getlease (vp=0xc34d2740, duration=0xc3454e8c, flags=6, slp=0xffffffff, procp=0xc3429200, nam=0x0, cachablep=0xc3454e88, frev=0xc3454e80, cred=0xc08b9f80) at vnode_if.h:247 #7 0xc01b2fb0 in nqnfs_vop_lease_check (ap=0xc3454ec8) at ../../nfs/nfs_nqlease.c:363 (kgdb) f 5 #5 0xc0220656 in ufs_vnoperate (ap=0xc3454dc4) at ../../ufs/ufs/ufs_vnops.c:2298 2298 { (kgdb) p *ap Cannot access memory at address 0x0. (kgdb) p ap $1 = (struct vop_generic_args *) 0x0 (kgdb) p *(struct vop_generic_args *)0xc3454dc4 $2 = {a_desc = 0xc02aa254} (kgdb) print $2.a_desc $3 = (struct vnodeop_desc *) 0xc02aa254 (kgdb) print *$2.a_desc $4 = {vdesc_offset = 5, vdesc_name = 0xc02686a0 "vop_getattr", vdesc_flags = 0, vdesc_vp_offsets = 0xc02aa24c, vdesc_vpp_offset = -1, vdesc_cred_offset = 12, vdesc_proc_offset = 16, vdesc_componentname_offset = -1, vdesc_transports = 0x0} case 3: Fatal trap 12: page fault while in kernel mode fault virtual address = 0x0 fault code = supervisor read, page not present instruction pointer = 0x8:0xc0220658 stack pointer = 0x10:0xc342ce5c frame pointer = 0x10:0xc342ce5c code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 1146 (inetd) interrupt mask = trap number = 12 panic: page fault #5 0xc0220658 in ufs_vnoperate (ap=0xc342ce74) at ../../ufs/ufs/ufs_vnops.c:2299 #6 0xc0180ce8 in vn_stat (vp=0xc33d5640, sb=0xc342cf00, p=0xc3429e60) at vnode_if.h:247 #7 0xc014fb79 in fstat (p=0xc3429e60, uap=0xc342cf94) at ../../kern/kern_descrip.c:585 (kgdb) f 5 #5 0xc0220658 in ufs_vnoperate (ap=0xc342ce74) at ../../ufs/ufs/ufs_vnops.c:2299 2299 return (VOCALL(ufs_vnodeop_p, ap->a_desc->vdesc_offset, ap)); (kgdb) p *(struct vop_generic_args *)0xc342ce74 $1 = {a_desc = 0xc02aa254} (kgdb) print *$1.a_desc $2 = {vdesc_offset = 5, vdesc_name = 0xc02686a0 "vop_getattr", vdesc_flags = 0, vdesc_vp_offsets = 0xc02aa24c, vdesc_vpp_offset = -1, vdesc_cred_offset = 12, vdesc_proc_offset = 16, vdesc_componentname_offset = -1, vdesc_transports = 0x0} (kgdb) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message