kern/134883: kernel panic, superpages, vfs.lookup_shared, 7.2-STABLE

Dmitriy Demidov dima_bsd at inbox.lv
Sat May 23 23:30:01 UTC 2009


>Number:         134883
>Category:       kern
>Synopsis:       kernel panic, superpages, vfs.lookup_shared, 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:   Sat May 23 23:30:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Dmitriy Demidov
>Release:        FreeBSD 7.2-STABLE #0
>Organization:
home
>Environment:
FreeBSD hius.local.home 7.2-STABLE FreeBSD 7.2-STABLE #0: Sat May 23 20:08:30 EEST 2009     terminus at hius.local.home:/usr/obj/usr/src/sys/STABLE  i386
>Description:
I'm using FreeBSD 7.2-STABLE. Sources have been csup'ed a couple of days ago. System rebuilded and installed as usual (make world + make kernel + etc). I'm using new 7.2 features - Superpages and "The shared vnode locking for pathname lookups in the VFS(9) subsystem".

Today, while running portupgrade -a, I got two kernel panics. First panic (12) I got using kernel without DEBUG options in, but second panic (13) with DEBUG - so I can provide kgdb bt to only last panic.

Information about panics:

=====================
[root at hius /var/crash]# cat ./info.12
Dump header from device /dev/ad1s1b
  Architecture: i386
  Architecture Version: 2
  Dump Length: 213475328B (203 MB)
  Blocksize: 512
  Dumptime: Sat May 23 19:27:06 2009
  Hostname: hius.local.home
  Magic: FreeBSD Kernel Dump
  Version String: FreeBSD 7.2-STABLE #0: Fri May 22 23:35:54 EEST 2009
    terminus at hius.local.home:/usr/obj/usr/src/sys/STABLE
  Panic String: vm_fault: fault on nofault entry, addr: c2a86000
  Dump Parity: 3592659239
  Bounds: 12
  Dump Status: good

[root at hius /var/crash]# cat ./info.13
Dump header from device /dev/ad1s1b
  Architecture: i386
  Architecture Version: 2
  Dump Length: 200384512B (191 MB)
  Blocksize: 512
  Dumptime: Sun May 24 01:38:33 2009
  Hostname: hius.local.home
  Magic: FreeBSD Kernel Dump
  Version String: FreeBSD 7.2-STABLE #0: Sat May 23 20:08:30 EEST 2009
    terminus at hius.local.home:/usr/obj/usr/src/sys/STABLE
  Panic String: vm_fault: fault on nofault entry, addr: c2a86000
  Dump Parity: 4088918836
  Bounds: 13
  Dump Status: good
=====================

=====================
[root at hius /usr/home/terminus]# cd /usr/obj/usr/src/sys/STABLE/
[root at hius /usr/obj/usr/src/sys/STABLE]# kgdb kernel.debug /var/crash/vmcore.13
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 "i386-marcel-freebsd"...

Unread portion of the kernel message buffer:
panic: vm_fault: fault on nofault entry, addr: c2a86000
cpuid = 0
Uptime: 5h4m30s
Physical memory: 1007 MB
Dumping 191 MB: 176 160 144 128 112 96 80 64 48 32 16

Reading symbols from /boot/modules/nvidia.ko...done.
Loaded symbols for /boot/modules/nvidia.ko
Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/acpi.ko...Reading symbols from /boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:244
244             dumptid = curthread->td_tid;
(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:244
#1  0xc066b688 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc066bac0 in panic (fmt=Could not find the frame base for "panic".
) at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xc09515ae in vm_fault (map=0xc1871000, vaddr=3265814528, fault_type=1 '\001', fault_flags=0) at /usr/src/sys/vm/vm_fault.c:277
#4  0xc09c809b in trap_pfault (frame=0xe6cfc95c, usermode=0, eva=3265815912) at /usr/src/sys/i386/i386/trap.c:841
#5  0xc09c7a2b in trap (frame=0xe6cfc95c) at /usr/src/sys/i386/i386/trap.c:530
#6  0xc09a51fb in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#7  0xc0971c0f in vm_reserv_level_iffullpop (m=0xc65fd048) at /usr/src/sys/vm/vm_reserv.c:512
#8  0xc09c115b in pmap_enter (pmap=0xc4497d74, va=817876992, access=1 '\001', m=0xc65fd048, prot=7 '\a', wired=0) at /usr/src/sys/i386/i386/pmap.c:3182
#9  0xc0953373 in vm_fault (map=0xc4497ce8, vaddr=817876992, fault_type=1 '\001', fault_flags=0) at /usr/src/sys/vm/vm_fault.c:891
#10 0xc09c7f74 in trap_pfault (frame=0xe6cfcd38, usermode=1, eva=817881068) at /usr/src/sys/i386/i386/trap.c:829
#11 0xc09c7892 in trap (frame=0xe6cfcd38) at /usr/src/sys/i386/i386/trap.c:397
#12 0xc09a51fb in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#13 0x282ec73e in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) quit
[root at hius /usr/obj/usr/src/sys/STABLE]#
=====================


My configuraton:

=====================
/sys/i386/conf/STABLE

cpu             I686_CPU
ident           STABLE

options         IPFIREWALL              #firewall
options         IPFIREWALL_VERBOSE      #enable logging to syslogd(8)
options         IPFIREWALL_VERBOSE_LIMIT=10    #limit verbosity
options         IPFIREWALL_NAT          #ipfw kernel nat support
options         LIBALIAS                # libalias library, performing NAT
options         DUMMYNET
options         HZ="1000"
options         SC_DISABLE_REBOOT       # disable reboot key sequence

device          sound
device          snd_emu10k1
device          vlan                    #VLAN support (needs miibus)
device          atapicam        # emulate ATAPI devices as SCSI ditto via CAM

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         INET6                   # IPv6 communications protocols
options         SCTP                    # Stream Control Transmission Protocol
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         NFSCLIENT               # Network Filesystem Client
options         NFSSERVER               # Network Filesystem Server
options         NFSLOCKD                # Network Lock Manager
options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         MSDOSFS                 # MSDOS Filesystem
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_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         STACK                   # stack(9) 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

options         SMP                     # Symmetric MultiProcessor Kernel
device          apic                    # I/O APIC

device          cpufreq

device          eisa
device          pci

device          fdc

device          ata
device          atadisk         # ATA disk drives
device          ataraid         # ATA RAID drives
device          atapicd         # ATAPI CDROM drives
options         ATA_STATIC_ID   # Static device numbering

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)

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

device          sc

device          agp             # support several AGP chipsets

device          pmtimer

device          sio             # 8250, 16[45]50 based serial ports
device          uart            # Generic UART driver

device          ppc
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
device          plip            # TCP/IP over parallel
device          ppi             # Parallel port interface device

device          em              # Intel PRO/1000 Gigabit Ethernet Family

device          miibus          # MII bus support
device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)

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          bpf             # Berkeley packet filter

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
device          ulpt            # Printer
device          umass           # Disks/Mass storage - Requires scbus and da
device          ums             # Mouse
device          uscanner        # Scanners
device          ucom            # Generic com ttys
device          uark            # Technologies ARK3116 based serial adapters
device          ubsa            # Belkin F5U103 and compatible serial adapters
device          ubser           # BWCT console serial adapters
device          uftdi           # For FTDI usb serial adapters
device          uipaq           # Some WinCE based devices
device          uplcom          # Prolific PL-2303 serial adapters
device          uslcom          # SI Labs CP2101/CP2102 serial adapters
device          uvisor          # Visor and Palm devices
device          uvscom          # USB serial support for DDI pocket's PHS
device          aue             # ADMtek USB Ethernet
device          axe             # ASIX Electronics USB Ethernet
device          cdce            # Generic USB over Ethernet
device          cue             # CATC USB Ethernet
device          kue             # Kawasaki LSI USB Ethernet
device          rue             # RealTek RTL8150 USB Ethernet
device          firewire        # FireWire bus code
device          sbp             # SCSI over FireWire (Requires scbus and da)
device          fwe             # Ethernet over FireWire (non-standard!)
device          fwip            # IP over FireWire (RFC 2734,3146)
device          dcons           # Dumb console driver
device          dcons_crom      # Configuration ROM for dcons
=====================

=====================
/boot/loader.conf

nvidia_load="YES"
vm.pmap.pg_ps_enabled="1"
=====================

=====================
/etc/sysctl.conf

net.inet.ip.fw.one_pass=0
vfs.usermount=1
compat.linux.osrelease=2.6.16
net.inet.ip.fw.dyn_udp_lifetime=30
vfs.lookup_shared=1
=====================

>How-To-Repeat:
I dont't know. It appears two times on heawy load while portupgrade running.
>Fix:


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


More information about the freebsd-bugs mailing list