Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 May 1997 16:10:02 -0700 (PDT)
From:      Tor Egge <Tor.Egge@idi.ntnu.no>
To:        freebsd-bugs
Subject:   Re: kern/3438: Use of NFS v3 might cause a trap 12
Message-ID:  <199705112310.QAA17412@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/3438; it has been noted by GNATS.

From: Tor Egge <Tor.Egge@idi.ntnu.no>
To: freebsd-gnats-submit@FreeBSD.ORG
Cc:  Subject: Re: kern/3438: Use of NFS v3 might cause a trap 12
Date: Mon, 12 May 1997 01:06:59 +0200

 I managed to catch this error at an earlier stage by adding a sanity 
 check to relpbuf.
 
 This trace is consistent with the scenario mentioned in the
 original bug report.
 
 ----
 Current directory is /sys/compile/TEGGE_SMP/
 GDB is free software and you are welcome to distribute copies of it
  under certain conditions; type "show copying" to see the conditions.
 There is absolutely no warranty for GDB; type "show warranty" for details.
 GDB 4.16 (i386-unknown-freebsd), 
 Copyright 1996 Free Software Foundation, Inc...
 IdlePTD 274000
 current pcb at 21e414
 panic: relpbuf: physical buffer on vnode clean/dirty list
 #0  boot (howto=256) at ../../kern/kern_shutdown.c:265
 (kgdb) where
 #0  boot (howto=256) at ../../kern/kern_shutdown.c:265
 #1  0xe01196b6 in panic (
     fmt=0xe01bff5f "relpbuf: physical buffer on vnode clean/dirty list")
     at ../../kern/kern_shutdown.c:393
 #2  0xe01bffaf in relpbuf (bp=0xe6feebbc) at ../../vm/vm_pager.c:350
 #3  0xe01361f3 in cluster_callback (bp=0xe6feebbc)
     at ../../kern/vfs_cluster.c:474
 #4  0xe01348e8 in biodone (bp=0xe6feebbc) at ../../kern/vfs_bio.c:1559
 #5  0xe01610c3 in nfs_doio (bp=0xe6feebbc, cr=0xe50dc780, p=0x0)
     at ../../nfs/nfs_bio.c:1020
 #6  0xe01802eb in nfssvc_iod (p=0xe3160c00) at ../../nfs/nfs_syscalls.c:804
 #7  0xe017ef9e in nfssvc (p=0xe3160c00, uap=0xe94d3f94, retval=0xe94d3f84)
     at ../../nfs/nfs_syscalls.c:206
 #8  0xe01d4967 in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = -541073792, 
       tf_esi = 0, tf_ebp = -541073840, tf_isp = -380813340, tf_ebx = 2, 
       tf_edx = 0, tf_ecx = 1, tf_eax = 155, tf_trapno = 12, tf_err = 7, 
       tf_eip = 8917, tf_cs = 31, tf_eflags = 598, tf_esp = -541073900, 
       tf_ss = 39}) at ../../i386/i386/trap.c:907
 #9  0x22d5 in ?? ()
 #10 0x107e in ?? ()
 (kgdb) up 2
 #2  0xe01bffaf in relpbuf (bp=0xe6feebbc) at ../../vm/vm_pager.c:350
 (kgdb) print/x *bp
 $1 = {b_hash = {le_next = 0x0, le_prev = 0x0}, b_vnbufs = {le_next = 0x0, 
     le_prev = 0xe385fdb4}, b_freelist = {tqe_next = 0x0, 
     tqe_prev = 0xe47ea5e8}, b_act = {tqe_next = 0x0, tqe_prev = 0x0}, 
   b_proc = 0x0, b_flags = 0x60020296, b_qindex = 0x0, b_usecount = 0x0, 
   b_error = 0x0, b_bufsize = 0x2000, b_bcount = 0x2000, b_resid = 0x0, 
   b_dev = 0xffffffff, b_un = {b_addr = 0xe8210000}, b_kvabase = 0xe8210000, 
   b_kvasize = 0x2000, b_lblkno = 0x5, b_blkno = 0x50, b_iodone = 0xe0136180, 
   b_iodone_chain = 0x0, b_vp = 0xe385fd80, b_dirtyoff = 0x0, 
   b_dirtyend = 0x2000, b_rcred = 0x0, b_wcred = 0xe50dc780, b_validoff = 0x0, 
   b_validend = 0x0, b_pblkno = 0x0, b_saveaddr = 0x0, b_savekva = 0x0, 
   b_driver1 = 0x0, b_driver2 = 0x0, b_spc = 0x0, b_cluster = {cluster_head = {
       tqh_first = 0xe703911c, tqh_last = 0xe70391ac}, cluster_entry = {
       tqe_next = 0xe703911c, tqe_prev = 0xe70391ac}}, b_pages = {0xe0816a18, 
     0xe07fd74c, 0x0 <repeats 14 times>}, b_npages = 0x2}
 (kgdb) print/x *bp->b_vp
 $2 = {v_flag = 0x2000, v_usecount = 0x2, v_writecount = 0x1, v_holdcnt = 0xc, 
   v_lastr = 0x7, v_id = 0x10c6370, v_mount = 0xe45e4200, v_op = 0xe2fe7300, 
   v_freelist = {tqe_next = 0xe3a3e200, tqe_prev = 0xe3516620}, v_mntvnodes = {
     le_next = 0xe5154580, le_prev = 0xe36ab9a8}, v_cleanblkhd = {
     lh_first = 0xe7043464}, v_dirtyblkhd = {lh_first = 0xe6feebbc}, 
   v_numoutput = 0x2, v_type = 0x1, v_un = {vu_mountedhere = 0x0, 
     vu_socket = 0x0, vu_specinfo = 0x0, vu_fifoinfo = 0x0}, v_lease = 0x0, 
   v_lastw = 0x0, v_cstart = 0x0, v_lasta = 0x0, v_clen = 0x0, v_usage = 0x4, 
   v_object = 0xe4f64d00, v_interlock = {lock_data = 0x0}, 
   v_vnlock = 0xe3691680, v_tag = 0x2, v_data = 0xe36d4d00}
 (kgdb) print bp
 $3 = (struct buf *) 0xe6feebbc
 (kgdb) print swbuf
 $4 = (struct buf *) 0xe6fed7f8
 (kgdb) print bp-swbuf
 $5 = 23
 (kgdb) print nswbuf
 $6 = 128
 ---



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