7.0 RELEASE panic: zero vnode ref count (with VFS_BIO_DEBUG on)

Cheng Jin chengjin at fastsoft.com
Thu Jun 18 04:57:26 UTC 2009


All,
 
While I was testing various kernel debug options, I ran into the kernel panic.  I am not
much of filesystem/vm person.  I also didn't find any recent report of a similar crash so I
am hoping one of you would provide some pointers on what this is.
 
I am running 7.0 Release on a Dell 860 with a WD 80G SATA disk using the following kernel
config file.  I do have a few other debug option turned on, but as far as fs is concerned,
VFS_BIO_DEBUG is the only thing.
 
I do have the core file (about 181 MB) so if anyone needs additional information, please let me
know.
 
cpu     HAMMER
ident   NOFP
options     IPFIREWALL
options     DUMMYNET
options     IPFIREWALL_DEFAULT_TO_ACCEPT
options     KDB
options     KDB_TRACE
options     KDB_UNATTENDED
options     GDB
options     DDB
options     INVARIANTS
options     INVARIANT_SUPPORT
options     WITNESS
options     WITNESS_KDB
options     VFS_BIO_DEBUG
options     HZ=1000
makeoptions DEBUG=-g        # Build kernel with gdb(1) debug symbols
options     SCHED_ULE       # ULE scheduler
options     PREEMPTION      # Enable kernel thread preemption
options     INET            # InterNETworking
options     FFS         # Berkeley Fast Filesystem
options     SOFTUPDATES     # Enable FFS soft updates support
options     UFS_ACL         # Support for access control lists
options     UFS_DIRHASH     # Improve performance on big directories
options     UFS_GJOURNAL        # Enable gjournal-based UFS journaling
options     MD_ROOT         # MD is a potential root device
options     CD9660          # ISO 9660 Filesystem
options     PROCFS          # Process filesystem (requires PSEUDOFS)
options     PSEUDOFS        # Pseudo-filesystem framework
options     GEOM_PART_GPT       # GUID Partition Tables.
options     GEOM_LABEL      # Provides labelization
options     COMPAT_43TTY        # BSD 4.3 TTY compat [KEEP THIS!]
options     COMPAT_IA32     # Compatible with i386 binaries
options     COMPAT_FREEBSD4     # Compatible with FreeBSD4
options     COMPAT_FREEBSD5     # Compatible with FreeBSD5
options     COMPAT_FREEBSD6     # Compatible with FreeBSD6
options     SCSI_DELAY=5000     # Delay (in ms) before probing SCSI
options     KTRACE          # ktrace(1) support
options     SYSVSHM         # SYSV-style shared memory
options     SYSVMSG         # SYSV-style message queues
options     SYSVSEM         # SYSV-style semaphores
options     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options     KBD_INSTALL_CDEV    # install a CDEV entry in /dev
options     ADAPTIVE_GIANT      # Giant mutex is adaptive.
options     STOP_NMI        # Stop CPUS using NMI instead of IPI
options     AUDIT           # Security event auditing

# Make an SMP-capable kernel by default
options     SMP         # Symmetric MultiProcessor Kernel
# Bus support.
device      acpi
device      pci
# Floppy drives
#device     fdc
# ATA and ATAPI devices
device      ata
device      atadisk     # ATA disk drives
device      ataraid     # ATA RAID drives
device      atapicd     # ATAPI CDROM drives
#device     atapifd     # ATAPI floppy drives
#device     atapist     # ATAPI tape drives
options     ATA_STATIC_ID   # Static device numbering
# SCSI Controllers
device      ahc     # AHA2940 and onboard AIC7xxx devices
options     AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                    # output.  Adds ~128k to driver.
device      ahd     # AHA39320/29320 and onboard AIC79xx devices
options     AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                    # output.  Adds ~215k to driver.
device      amd     # AMD 53C974 (Tekram DC-390(T))
device      hptiop      # Highpoint RocketRaid 3xxx series
device      isp     # Qlogic family
device      mpt     # LSI-Logic MPT-Fusion
device      sym     # NCR/Symbios Logic (newer chipsets + those of `ncr')
device      trm     # Tekram DC395U/UW/F DC315U adapters
device      adv     # Advansys SCSI adapters
device      adw     # Advansys wide SCSI adapters
device      aic     # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device      bt      # Buslogic/Mylex MultiMaster SCSI adapters

# SCSI peripherals
device      scbus       # SCSI bus (required for SCSI)
device      ch      # SCSI media changers
device      da      # Direct Access (disks)
device      sa      # Sequential Access (tape etc)
device      cd      # CD
device      pass        # Passthrough device (direct SCSI access)
device      ses     # SCSI Environmental Services (and SAF-TE)
# RAID controllers interfaced to the SCSI subsystem
device      amr     # AMI MegaRAID
device      arcmsr      # Areca SATA II RAID
device      ciss        # Compaq Smart RAID 5*
device      dpt     # DPT Smartcache III, IV - See NOTES for options
device      hptmv       # Highpoint RocketRAID 182x
device      hptrr       # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
device      iir     # Intel Integrated RAID
device      ips     # IBM (Adaptec) ServeRAID
device      mly     # Mylex AcceleRAID/eXtremeRAID
device      twa     # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device      aac     # Adaptec FSA RAID
device      aacp        # SCSI passthrough for aac (requires CAM)
device      ida     # Compaq Smart RAID
device      mfi     # LSI MegaRAID SAS
device      mlx     # Mylex DAC960 family
device      twe     # 3ware ATA RAID
# atkbdc0 controls both the keyboard and the PS/2 mouse
device      atkbdc      # AT keyboard controller
device      atkbd       # AT keyboard
device      psm     # PS/2 mouse
device      kbdmux      # keyboard multiplexer
device      vga     # VGA video card driver
device      splash      # Splash screen and screen saver support
# syscons is the default console driver, resembling an SCO console
device      sc
# IPMI support
device      ipmi
# Serial (COM) ports
device      sio     # 8250, 16[45]50 based serial ports

# Parallel port
device      ppbus       # Parallel port bus (required)
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device      miibus      # MII bus support
device      bce     # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device      bge     # Broadcom BCM570xx Gigabit Ethernet
# Pseudo devices.
device      loop        # Network loopback
device      random      # Entropy device
device      ether       # Ethernet support
device      sl      # Kernel SLIP
device      ppp     # Kernel PPP
device      tun     # Packet tunnel.
device      pty     # Pseudo-ttys (telnet etc)
device      md      # Memory "disks"
device      gif     # IPv6 and IPv4 tunneling
device      faith       # IPv6-to-IPv4 relaying (translation)
device      firmware    # firmware assist module
device      if_bridge       #Bridge interface
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device      bpf     # Berkeley packet filter
# USB support
device      uhci        # UHCI PCI->USB interface
device      ohci        # OHCI PCI->USB interface
device      ehci        # EHCI PCI->USB interface (USB 2.0)
device      usb     # USB Bus (required)
device      ugen        # Generic
device      ukbd        # Keyboard
 
The backtrace of the stack is the following:
#0  doadump () at pcpu.h:194
194             __asm __volatile("movq %%gs:0,%0" : "=r" (td));
(kgdb) bt
#0  doadump () at pcpu.h:194
#1  0xffffffff80351af5 in boot (howto=260)    at ../../../kern/kern_shutdown.c:409
#2  0xffffffff80351f77 in panic (fmt=Variable "fmt" is not available.)    at ../../../kern/kern_shutdown.c:563
#3  0xffffffff803baa00 in bufdone_finish (bp=0xffffffffa0209b00)    at ../../../kern/vfs_bio.c:3202
#4  0xffffffff803baaa8 in bufdone (bp=0xffffffffa0209b00)    at ../../../kern/vfs_bio.c:3173
#5  0xffffffff8030a2b1 in g_io_schedule_up (tp=Variable "tp" is not available.)    at ../../../geom/geom_io.c:587
#6  0xffffffff8030a99f in g_up_procbody () at ../../../geom/geom_kern.c:95
#7  0xffffffff80334dca in fork_exit (callout=0xffffffff8030a930 <g_up_procbody>, arg=0x0,
    frame=0xffffffffab9fdc80) at ../../../kern/kern_fork.c:781
#8  0xffffffff804ee63e in fork_trampoline () at ../../../amd64/amd64/exception.S:415


More information about the freebsd-fs mailing list