From owner-freebsd-bugs Sun Jul 23 23:38:48 1995 Return-Path: bugs-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id XAA05300 for bugs-outgoing; Sun, 23 Jul 1995 23:38:48 -0700 Received: from blob.best.net (blob.best.net [204.156.128.88]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id XAA05294 for ; Sun, 23 Jul 1995 23:38:47 -0700 Received: (dillon@localhost) by blob.best.net (8.6.12/8.6.5) id XAA02219; Sun, 23 Jul 1995 23:38:46 -0700 Date: Sun, 23 Jul 1995 23:38:46 -0700 From: Matt Dillon Message-Id: <199507240638.XAA02219@blob.best.net> To: bugs@freebsd.org Subject: brelse() panic in nfs_read()/nfs_bioread() Sender: bugs-owner@freebsd.org Precedence: bulk Here's another one. I traced it out a bit to try to give you guys as much info as possible. I am keeping the crash dump around (all 134MB of it) as well. The mount point for the vp in question is /var/log/www, which is an NFS mount to some other machine. I printed out the vp->v_data's nfsnode down below as well. I can't quite tell which file caused the error, but judging by the data and the size of the file, I believe it is my 30-minute WWW log. Every 30 minutes, this file is truncated to 0 by a process on the NFS server. It is possible that this truncation may be related to the crash, and it is possible that it is not related. This is the first time we have gotten this particular panic. -Matt GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc... IdlePTD 1e0000 current pcb at 1c6894 panic: brelse: page missing #0 boot (arghowto=256) at ../../i386/i386/machdep.c:867 ../../i386/i386/machdep.c:867: No such file or directory. (kgdb) back #0 boot (arghowto=256) at ../../i386/i386/machdep.c:867 #1 0xf01104a3 in panic (fmt=0xf01214ea "brelse: page missing\n") at ../../kern/subr_prf.c:128 #2 0xf012167b in brelse (bp=0xf3c745f8) at ../../kern/vfs_bio.c:434 #3 0xf01426bd in nfs_bioread (vp=0xf2718900, uio=0xefbfff38, ioflag=0, cred=0xf2d76380) at ../../nfs/nfs_bio.c:389 #4 0xf0166d4a in nfs_read (ap=0xefbffef4) at ../../nfs/nfs_vnops.c:936 #5 0xf012a96e in vn_read (fp=0xf2af2940, uio=0xefbfff38, cred=0xf2d76380) at ./vnode_if.h:211 #6 0xf011171f in read (p=0xf2844200, uap=0xefbfff94, retval=0xefbfff8c) at ../../kern/sys_generic.c:112 #7 0xf01a1427 in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = 2, tf_esi = 94208, tf_ebp = -272639480, tf_isp = -272629788, tf_ebx = -1, tf_edx = 102400, tf_ecx = 135168, tf_eax = 3, tf_trapno = 518, tf_err = 518, tf_eip = 134404437, tf_cs = 31, tf_eflags = 518, tf_esp = -272639508, tf_ss = 39}) at ../../i386/i386/trap.c:858 #8 0xf0199dab in Xsyscall () #9 0x69a6 in ?? () #10 0x7420 in ?? () #11 0x10e8 in ?? () (kgdb) frame 3 #3 0xf01426bd in nfs_bioread (vp=0xf2718900, uio=0xefbfff38, ioflag=0, cred=0xf2d76380) at ../../nfs/nfs_bio.c:389 ../../nfs/nfs_bio.c:389: No such file or directory. (kgdb) print *vp $1 = {v_flag = 8192, v_usecount = 2, v_writecount = 0, v_holdcnt = 95, v_lastr = 138, v_id = 6164301, v_mount = 0xf21bc200, v_op = 0xf2057600, v_freelist = {tqe_next = 0xf2786380, tqe_prev = 0xdeadb}, v_mntvnodes = { le_next = 0xf21bf480, le_prev = 0xf235f9a4}, v_cleanblkhd = { lh_first = 0xf3c745f8}, v_dirtyblkhd = {lh_first = 0x0}, v_numoutput = 0, v_type = VREG, v_un = {vu_mountedhere = 0x0, vu_socket = 0x0, vu_specinfo = 0x0, vu_fifoinfo = 0x0}, v_lease = 0x0, v_lastw = 0, v_cstart = 0, v_lasta = 0, v_clen = 0, v_ralen = 0, v_maxra = 0, v_object = 0xf217e880, v_tag = VT_NFS, v_data = 0xf2f21600} (kgdb) print *uio $2 = {uio_iov = 0xefbfff30, uio_iovcnt = 1, uio_offset = 0x0000000000115193, uio_resid = 11885, uio_segflg = UIO_USERSPACE, uio_rw = UIO_READ, uio_procp = 0xf2844200} (kgdb) print biosize $3 = 8192 (kgdb) print *np $11 = {n_hash = {le_next = 0x0, le_prev = 0xf2a5f400}, n_timer = { cqe_next = 0x0, cqe_prev = 0x0}, n_size = 1134995, n_brev = 0, n_lrev = 0, n_vattr = {va_type = VREG, va_mode = 420, va_nlink = 1, va_uid = 0, va_gid = 7, va_fsid = 5380, va_fileid = 13, va_size = 1134995, va_blocksize = 8192, va_atime = {ts_sec = 806537391, ts_nsec = 0}, va_mtime = {ts_sec = 806537391, ts_nsec = 0}, va_ctime = { ts_sec = 806537391, ts_nsec = 0}, va_gen = 0, va_flags = 0, va_rdev = 1080, va_bytes = 1146880, va_filerev = 0, va_vaflags = 0, va_spare = 0}, n_attrstamp = 806537390, n_mtime = 806537389, n_ctime = 806537388, n_expiry = 0, n_fhp = 0xf2f216c0, n_vnode = 0xf2718900, n_lockf = 0x0, n_error = 0, n_un1 = {nf_atim = {ts_sec = 0, ts_nsec = 0}, nd_cookieverf = {nfsuquad = {0, 0}}}, n_un2 = {nf_mtim = {ts_sec = 0, ts_nsec = 0}, nd_direof = 0x0000000000000000}, n_un3 = {nf_silly = 0x0, nd_cook = {lh_first = 0x0}}, n_fhsize = 32, n_flag = 0, n_fh = { fh_generic = {fh_fsid = {val = {1029, 1}}, fh_fid = {fid_len = 12, fid_reserved = 0, fid_data = "\r\000\000\000\037·Õ/\000\000\000\000\000\000\000"}}, fh_bytes = "\005\004\000\000\001\000\000\000\f\000\000\000\r\000\000\000\037·Õ/", '\000' }} (kgdb) print *bp $9 = {b_hash = {le_next = 0xf3c75b18, le_prev = 0xf01d7334}, b_vnbufs = { le_next = 0xf3c98ef8, le_prev = 0xf271892c}, b_freelist = {tqe_next = 0x0, tqe_prev = 0xf3c98f08}, b_actf = 0x0, b_actb = 0x0, b_proc = 0x0, b_flags = 537920016, b_qindex = 0, b_error = 0, b_bufsize = 4608, b_bcount = 4608, b_resid = 109, b_dev = 4294967295, b_un = { b_addr = 0xf461f000 ".html HTTP/1.0\" 200 2327\nslip074.FortNet.org /home/ftpadmin/root/pub/bhunter/public_html - [23/Jul/1995:15:09:49 -0700] \"GET /wildpsyc.htm HTTP/1.0\" 200 4051\nwww-d4.proxy.aol.com /home/ftpadmin/root/p"...}, b_saveaddr = 0x0, b_lblkno = 138, b_blkno = 2208, b_iodone = 0, b_iodone_chain = 0x0, b_vp = 0xf2718900, b_pfcent = 0, b_dirtyoff = 0, b_dirtyend = 0, b_rcred = 0xffffffff, b_wcred = 0xffffffff, b_validoff = 0, b_validend = 4499, b_pblkno = 1203663, b_savekva = 0x0, b_driver1 = 0x0, b_driver2 = 0x0, b_spc = 0x0, b_pages = {0xf0256ba8, 0xf03d9670, 0x0 }, b_npages = 2} (kgdb) (kgdb) print *(struct nfsnode *)vp->v_data $29 = {n_hash = {le_next = 0x0, le_prev = 0xf2a5f400}, n_timer = { cqe_next = 0x0, cqe_prev = 0x0}, n_size = 1134995, n_brev = 0, n_lrev = 0, n_vattr = {va_type = VREG, va_mode = 420, va_nlink = 1, va_uid = 0, va_gid = 7, va_fsid = 5380, va_fileid = 13, va_size = 1134995, va_blocksize = 8192, va_atime = {ts_sec = 806537391, ts_nsec = 0}, va_mtime = {ts_sec = 806537391, ts_nsec = 0}, va_ctime = { ts_sec = 806537391, ts_nsec = 0}, va_gen = 0, va_flags = 0, va_rdev = 1080, va_bytes = 1146880, va_filerev = 0, va_vaflags = 0, va_spare = 0}, n_attrstamp = 806537390, n_mtime = 806537389, n_ctime = 806537388, n_expiry = 0, n_fhp = 0xf2f216c0, n_vnode = 0xf2718900, n_lockf = 0x0, n_error = 0, n_un1 = {nf_atim = {ts_sec = 0, ts_nsec = 0}, nd_cookieverf = {nfsuquad = {0, 0}}}, n_un2 = {nf_mtim = {ts_sec = 0, ts_nsec = 0}, nd_direof = 0x0000000000000000}, n_un3 = {nf_silly = 0x0, nd_cook = {lh_first = 0x0}}, n_fhsize = 32, n_flag = 0, n_fh = { fh_generic = {fh_fsid = {val = {1029, 1}}, fh_fid = {fid_len = 12, fid_reserved = 0, fid_data = "\r\000\000\000\037·Õ/\000\000\000\000\000\000\000"}}, fh_bytes = "\005\004\000\000\001\000\000\000\f\000\000\000\r\000\000\000\037·Õ/", '\000' }} -------------- (kgdb) frame 2 #2 0xf012167b in brelse (bp=0xf3c745f8) at ../../kern/vfs_bio.c:434 ../../kern/vfs_bio.c:434: No such file or directory. (kgdb) print *bp $12 = {b_hash = {le_next = 0xf3c75b18, le_prev = 0xf01d7334}, b_vnbufs = { le_next = 0xf3c98ef8, le_prev = 0xf271892c}, b_freelist = {tqe_next = 0x0, tqe_prev = 0xf3c98f08}, b_actf = 0x0, b_actb = 0x0, b_proc = 0x0, b_flags = 537920016, b_qindex = 0, b_error = 0, b_bufsize = 4608, b_bcount = 4608, b_resid = 109, b_dev = 4294967295, b_un = { b_addr = 0xf461f000 ".html HTTP/1.0\" 200 2327\nslip074.FortNet.org /home/ftpadmin/root/pub/bhunter/public_html - [23/Jul/1995:15:09:49 -0700] \"GET /wildpsyc.htm HTTP/1.0\" 200 4051\nwww-d4.proxy.aol.com /home/ftpadmin/root/p"...}, b_saveaddr = 0x0, b_lblkno = 138, b_blkno = 2208, b_iodone = 0, b_iodone_chain = 0x0, b_vp = 0xf2718900, b_pfcent = 0, b_dirtyoff = 0, b_dirtyend = 0, b_rcred = 0xffffffff, b_wcred = 0xffffffff, b_validoff = 0, b_validend = 4499, b_pblkno = 1203663, b_savekva = 0x0, b_driver1 = 0x0, b_driver2 = 0x0, b_spc = 0x0, b_pages = {0xf0256ba8, 0xf03d9670, 0x0 }, b_npages = 2} (kgdb) (kgdb) print i $14 = 0 (kgdb) print bp->b_pages[0] $15 = (struct vm_page *) 0xf0256ba8 (kgdb) print bogus_page $19 = (struct vm_page *) 0xf0256ba8 (kgdb) print *bp->b_pages[0] $16 = {pageq = {tqe_next = 0xf0256bdc, tqe_prev = 0xf01c5c08}, hashq = { tqe_next = 0x0, tqe_prev = 0xf02442b8}, listq = {tqe_next = 0xf0256e80, tqe_prev = 0xf02566d8}, object = 0xf01c45a0, offset = 138936320, phys_addr = 6369280, wire_count = 0, flags = 80, hold_count = 0, act_count = 0, bmapped = 0, busy = 0, valid = 0, dirty = 0} (kgdb) (kgdb) print foff $18 = 1130496