Subject: kern/24544: Lots of MULTIPROCESSOR panic trap 6 lock/unlock
To: None <gnats-bugs@gnats.NetBSD.org>
From: Claudio M.Camacho <claudiocamacho@vodafone.es>
List: netbsd-bugs
Date: 02/24/2004 12:16:55
>Number: 24544
>Category: kern
>Synopsis: Lots of MP panic traps (type 6) locking/unlocking
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Feb 24 11:18:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:
>Release: NetBSD 1.6ZK (2004190000 releng.netbsd.org binaries)
>Organization:
>Environment:
System: NetBSD Insomnia 1.6ZK NetBSD 1.6ZK (MYKERNEL) #0:
Mon Feb 23 10:11:40 CET 2004
root@Insomnia:/usr/src/sys/arch/i386/compile/MYKERNEL i386
Architecture: i386 (Intel)
Machine: i386 (Pentium4 2.6GHz HyperThreading 2-Logical CPUs)
Kernel conf file:
# MYKERNEL
include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE
ident "MYKERNEL"
maxusers 64
options MULTIPROCESSOR
options COM_MPLOCK
options LOCKDEBUG
options MPDEBUG
options I686_CPU
# CPU-related options.
options MATH_EMULATE # floating point emulation
options VM86 # virtual 8086 emulation
options USER_LDT # user-settable LDT; used by WINE
options MTRR # memory-type range register syscall support
# Standard system options
options INSECURE # disable kernel security levels - X needs this
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
options SYSTRACE # system call vetting via systrace(1)
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
options P1003_1B_SEMAPHORE # p1003.1b semaphore support
options LKM # loadable kernel modules
options USERCONF # userconf(4) support
# Enable experimental buffer queue strategy for better responsiveness under
# high disk I/O load. Use it with caution - it's not proven to be stable yet.
options NEW_BUFQ_STRATEGY
# Compatibility options
options COMPAT_NOMID # NetBSD 0.8, 386BSD, and BSDI
options COMPAT_09 # NetBSD 0.9
options COMPAT_10 # NetBSD 1.0
options COMPAT_11 # NetBSD 1.1
options COMPAT_12 # NetBSD 1.2, 386BSD, and BSDI
options COMPAT_13 # NetBSD 1.3, 386BSD, and BSDI
options COMPAT_14 # NetBSD 1.4
options COMPAT_15 # NetBSD 1.5
options COMPAT_16 # NetBSD 1.6
options COMPAT_43 # 4.3BSD, 386BSD, and BSDI
options COMPAT_386BSD_MBRPART # recognize old partition ID
options COMPAT_LINUX # binary compatibility with Linux
# File systems
file-system FFS # UFS
file-system EXT2FS # second extended file system (linux)
file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NFS # Network File System client
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # MS-DOS file system
file-system FDESC # /dev/fd
file-system KERNFS # /kern
file-system NULLFS # loopback file system
file-system PROCFS # /proc
# File system options
options QUOTA # UFS quotas
options SOFTDEP # FFS soft updates support.
# Networking options
options INET # IP + ICMP + TCP + UDP
options ISO,TPIP # OSI
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
# wscons options
options WSEMUL_VT100 # VT100 / VT220 emulation
options WS_KERNEL_FG=WSCOL_GREEN
options WS_KERNEL_BG=WSCOL_BLACK
options WSDISPLAY_COMPAT_PCVT # emulate some ioctls
options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls
options WSDISPLAY_COMPAT_USL # VT handling
options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
options WSDISPLAY_DEFAULTSCREENS=1
options PCDISPLAY_SOFTCURSOR
options VGA_CONSOLE_ATI_BROKEN_FONTSEL
# Kernel root file system and dump configuration.
config netbsd root on wd0a type ffs
# Device configuration
mainbus0 at root
cpu* at mainbus?
ioapic* at mainbus? apid ?
apm0 at mainbus0 # Advanced power management
options APM_NO_IDLE # Don't call BIOS CPU idle function
# Basic Bus Support
options MPBIOS # configure CPUs and APICs using MPBIOS
options MPACPI # configure CPUs and APICs using ACPI
acpi0 at mainbus0
options ACPI_PCI_FIXUP # PCI interrupt routing via ACPI
options ACPI_ACTIVATE_DEV # If set, activate inactive devices
# PCI bus support
pci* at mainbus? bus ?
pci* at pchb? bus ?
pci* at ppb? bus ?
# PCI bridges
pchb* at pci? dev ? function ? # PCI-Host bridges
pcib* at pci? dev ? function ? # PCI-ISA bridges
ppb* at pci? dev ? function ? # PCI-PCI bridges
agp* at pchb?
# ISA bus support
isa0 at mainbus?
# Coprocessor Support
# Math Coprocessor support
npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# Console Devices
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
pms* at pckbc? # PS/2 mouse for wsmouse
vga0 at isa?
vga* at pci? dev ? function ?
pcdisplay0 at isa? # CGA, MDA, EGA, HGA
wsdisplay* at vga? console ?
wsdisplay* at pcdisplay? console ?
wskbd* at pckbd? console ?
wsmouse* at pms? mux 0
pcppi0 at isa?
sysbeep0 at pcppi?
# Serial Devices
com0 at isa? port 0x3f8 irq 4 # Standard PC serial ports
com1 at isa? port 0x2f8 irq 3
com2 at isa? port 0x3e8 irq 5
# Parallel Printer Interfaces
lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports
# IDE and related devices
piixide* at pci? dev ? function ? flags 0x0001 # Intel DMA
atabus* at ata?
# IDE drives
wd* at atabus? drive ? flags 0x0000
atapibus* at atapi?
# ATAPI devices
cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
# Miscellaneous mass storage devices
fdc0 at isa? port 0x3f0 irq 6 drq 2 # standard PC floppy controllers
fd* at fdc? drive ? # the drives themselves
# Network Interfaces
rtk* at pci? dev ? function ? # Realtek 8129/8139
ukphy* at mii? phy ? # generic unknown PHYs
# USB Controller and Devices
uhci* at pci? dev ? function ? # Universal Host Controller (Intel)
usb* at uhci?
uhub* at usb?
ugen* at uhub? port ?
# Audio Devices
auich* at pci? dev ? function ? # Intel ICH integrated AC'97 Audio
audio* at audiobus?
# Mice
wsmouse* at pms?
# Pull in optional local configuration
include "arch/i386/conf/GENERIC.local"
# Pseudo-Devices
pseudo-device ccd 4 # concatenated/striped disk devices
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop # network loopback
pseudo-device tun 2 # network tunneling over tty
pseudo-device gre 2 # generic L3 over IP tunnel
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
pseudo-device vlan # IEEE 802.1q encapsulation
pseudo-device bridge # simple inter-network bridging
pseudo-device pty # pseudo-terminals
pseudo-device tb 1 # tablet line discipline
pseudo-device sequencer 1 # MIDI sequencer
pseudo-device rnd # /dev/random and in-kernel generator
pseudo-device clockctl # user control of clock subsystem
# wscons pseudo-devices
pseudo-device wsmux # mouse & keyboard multiplexor
pseudo-device wsfont
pseudo-device ksyms # /dev/ksyms
>Description:
Since yesterday (20040203), i'm getting a lot of crashes in
my box due to MP and vfs system (locks and unlocks). I use
UFS for /, and LFS (without running lfs_cleanerd) in /var
/usr and /home. I also use MFS in /tmp.
I can't explain how but i live the system just 2 hours and when
i come back it is stopped, and the green letters speaks out
the kernel panic due to trap type 6.
The kernel exactly says:
simple_lock: uninitialized lock
lock: 0x...., currently at: ../../../../kern/vfs_cache.c:222
on CPU 0
uvm_fault(0x..., 0, 0, 1) -> 0xe
fatal page fault in supervisor mode
trap type 6 code 0 eip c021b41a cs 8 eflags 10246 cr2 14 ilevel d
panic=trap
syncing disks... LK_SPIN spinout, excl 2, share 0
held by CPU 0
last locked at ../../../../kern_lock.c:1355
last unlocked at ../../../../kern_lock.c:1364
syncing disks... LK_SPIN spinout, excl 2, share 0
held by CPU 0
last locked at ../../../../kern_lock.c:1355
last unlocked at ../../../../kern_lock.c:1364
syncing disks... LK_SPIN spinout, excl 2, share 0
held by CPU 0
last locked at ../../../../kern_lock.c:1355
last unlocked at ../../../../kern_lock.c:1364
..and those 4 last lines indefinitely.
>How-To-Repeat:
I don't know, it happens randomly, but I'm usually building
some pkgsrc sources (not too heavy loads, just one package
at time).
>Fix:
N/A
>Release-Note:
>Audit-Trail:
>Unformatted:
syssrc from 2004/02/23 at 10:00 pm aprox