kern/141086: panic("nfs: bioread, not dir") on FreeBSD 7.2-STABLE

Weongyo Jeong weongyo at FreeBSD.org
Tue Dec 1 22:10:01 UTC 2009


>Number:         141086
>Category:       kern
>Synopsis:       panic("nfs: bioread, not dir") on FreeBSD 7.2-STABLE
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 01 22:10:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Weongyo Jeong
>Release:        7.2-STABLE
>Organization:
>Environment:
FreeBSD weongyo 7.2-STABLE FreeBSD 7.2-STABLE #0: Mon Jul 20 12:24:04 PDT 2009     root at me:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
During using NFS I encountered a panic as follows:

weongyo# kgdb /boot/kernel/kernel /var/crash/vmcore.0
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or 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.
This GDB was configured as "amd64-marcel-freebsd"...

Unread portion of the kernel message buffer:
panic: nfs: bioread, not dir
cpuid = 3
Uptime: 12d21h3m33s
Physical memory: 3952 MB
Dumping 1722 MB: 1707

Fatal trap 1: privileged instruction fault while in kernel mode
cpuid = 2; apic id = 02
instruction pointer     = 0x8:0xffffff0004d5e60e
stack pointer           = 0x10:0xffffff80000b7b50
frame pointer           = 0x10:0x0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 29 (irq18: re0 atapci*)
trap number             = 1
 1691 1675 1659 1643 1627 1611 1595 1579 1563 1547 1531 1515 1499 1483 1467 1451
 1435 1419 1403 1387 1371 1355 1339 1323 1307 1291 1275 1259 1243 1227 1211 1195
 1179 1163 1147 1131 1115 1099 1083 1067 1051 1035 1019 1003 987 971 955 939 923
 907 891 875 (CTRL-C to abort)  859 843 (CTRL-C to abort)  827 (CTRL-C to abort)
  811 (CTRL-C to abort)  795 779 763 747 731 715 699 683 667 651 635 (CTRL-C to 
abort)  619 603 587 571 555 539 523 507 491 475 459 (CTRL-C to abort)  443 427 (
CTRL-C to abort)  411 395 379 363 347 331 315 299 283 267 251 235 219 203 187 17
1 155 139 123 107 91 75 59 43 27 11

Reading symbols from /boot/kernel/snd_hda.ko...Reading symbols from /boot/kernel
/snd_hda.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/snd_hda.ko
Reading symbols from /boot/kernel/sound.ko...Reading symbols from /boot/kernel/s
ound.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/sound.ko
Reading symbols from /boot/modules/vboxdrv.ko...done.
Loaded symbols for /boot/modules/vboxdrv.ko
Reading symbols from /boot/modules/vboxnetflt.ko...done.
Loaded symbols for /boot/modules/vboxnetflt.ko
Reading symbols from /boot/kernel/netgraph.ko...Reading symbols from /boot/kerne
l/netgraph.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/netgraph.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kern
el/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/l
inux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
#0  doadump () at pcpu.h:195
195     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:195
#1  0x0000000000000004 in ?? ()
#2  0xffffffff80519f09 in boot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:418
#3  0xffffffff8051a312 in panic (fmt=0x104 <Address 0x104 out of bounds>)
    at /usr/src/sys/kern/kern_shutdown.c:574
#4  0xffffffff806aa45b in nfs_bioread (vp=0xffffff01117dbdc8, 
    uio=0xffffff8075b38ac0, ioflag=4, cred=0xffffff0004a5d700)
    at /usr/src/sys/nfsclient/nfs_bio.c:399
#5  0xffffffff805a1cf4 in kern_readlink (td=0xffffff002e35aab0, path=Variable "p
ath" is not available.
)
    at vnode_if.h:773
#6  0xffffffff807dab97 in syscall (frame=0xffffff8075b38c80)
    at /usr/src/sys/amd64/amd64/trap.c:899
#7  0xffffffff807c54bb in Xfast_syscall ()
    at /usr/src/sys/amd64/amd64/exception.S:339
#8  0x0000000803a9f3cc in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) f 4
#4  0xffffffff806aa45b in nfs_bioread (vp=0xffffff01117dbdc8, 
    uio=0xffffff8075b38ac0, ioflag=4, cred=0xffffff0004a5d700)
    at /usr/src/sys/nfsclient/nfs_bio.c:399
399                                     panic("nfs: bioread, not dir");
(kgdb) list
394             mtx_lock(&np->n_mtx);
395             if (np->n_flag & NMODIFIED) {
396                     mtx_unlock(&np->n_mtx);
397                     if (vp->v_type != VREG) {
398                             if (vp->v_type != VDIR)
399                                     panic("nfs: bioread, not dir");
400                             (nmp->nm_rpcops->nr_invaldir)(vp);
401                             error = nfs_vinvalbuf(vp, V_SAVE, td, 1);
402                             if (error)
403                                     goto out;
(kgdb) p vp->v_type
$1 = VLNK
(kgdb) p *vp
$3 = {
  v_type = VLNK, 
  v_tag = 0xffffffff808cc78f "nfs", 
  v_op = 0xffffffff80acbcc0, 
  v_data = 0xffffff001750c298, 
  v_mount = 0xffffff0004a4fa80, 
  v_nmntvnodes = {
    tqe_next = 0xffffff01261fd7e0, 
    tqe_prev = 0xffffff01253a0220
  }, 
  v_un = {
    vu_mount = 0x0, 
    vu_socket = 0x0, 
    vu_cdev = 0x0, 
    vu_fifoinfo = 0x0, 
    vu_yield = 0
  }, 
  v_hashlist = {
    le_next = 0xffffff012653dbd0, 
    le_prev = 0xffffff80003a2dc0
  }, 
  v_hash = 567141703, 
  v_cache_src = {
    lh_first = 0x0
  }, 
  v_cache_dst = {
    tqh_first = 0xffffff004ff59618, 
    tqh_last = 0xffffff004ff59638
  }, 
  v_cache_dd = 0x0, 
  v_cstart = 0, 
  v_lasta = 0, 
  v_lastw = 0, 
  v_clen = 0, 
  v_lock = {
    lk_object = {
      lo_name = 0xffffffff808cc78f "nfs", 
      lo_type = 0xffffffff808cc78f "nfs", 
      lo_flags = 70844416, 
      lo_witness_data = {
        lod_list = {
          stqe_next = 0x0
        }, 
        lod_witness = 0x0
      }
    }, 
    lk_interlock = 0xffffffff80b31f60, 
    lk_flags = 262208, 
    lk_sharecount = 0, 
    lk_waitcount = 0, 
    lk_exclusivecount = 1, 
    lk_prio = 80, 
    lk_timo = 51, 
    lk_lockholder = 0xffffff002e35aab0, 
    lk_newlock = 0x0
  }, 
  v_interlock = {
    lock_object = {
      lo_name = 0xffffffff808b783a "vnode interlock", 
      lo_type = 0xffffffff808b783a "vnode interlock", 
      lo_flags = 16973824, 
      lo_witness_data = {
        lod_list = {
          stqe_next = 0x0
        }, 
        lod_witness = 0x0
      }
    }, 
    mtx_lock = 4, 
    mtx_recurse = 0
  }, 
  v_vnlock = 0xffffff01117dbe60, 
  v_holdcnt = 2, 
  v_usecount = 1, 
  v_iflag = 0, 
  v_vflag = 0, 
  v_writecount = 0, 
  v_freelist = {
    tqe_next = 0x0, 
    tqe_prev = 0x0
  }, 
  v_bufobj = {
    bo_mtx = 0xffffff01117dbeb0, 
    bo_clean = {
      bv_hd = {
        tqh_first = 0x0, 
        tqh_last = 0xffffff01117dbf20
      }, 
      bv_root = 0x0, 
      bv_cnt = 0
    }, 
    bo_dirty = {
      bv_hd = {
        tqh_first = 0x0, 
        tqh_last = 0xffffff01117dbf40
      }, 
      bv_root = 0x0, 
      bv_cnt = 0
    }, 
    bo_numoutput = 0, 
    bo_flag = 0, 
    bo_ops = 0xffffffff80acc040, 
    bo_bsize = 32768, 
    bo_object = 0xffffff009f58a360, 
    bo_synclist = {
      le_next = 0x0, 
      le_prev = 0xffffff000497e048
    }, 
    bo_private = 0xffffff01117dbdc8, 
    __bo_vnode = 0xffffff01117dbdc8
  }, 
  v_pollinfo = 0x0, 
  v_label = 0x0, 
  v_lockf = 0x0
}

>How-To-Repeat:
don't know how to repeat this problem that it's my first time to encounter this problem.

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list