kern/78384: Reproducible panic with port iplog and -current
Mike Jakubik
mikej at rogers.com
Fri Mar 4 01:40:23 GMT 2005
>Number: 78384
>Category: kern
>Synopsis: Reproducible panic with port iplog and -current
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Mar 04 01:40:21 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Mike Jakubik
>Release: FreeBSD 6.0-CURRENT
>Organization:
n/a
>Environment:
FreeBSD fbsd.wettoast.net 6.0-CURRENT FreeBSD 6.0-CURRENT #1: Wed Mar 2 19:46:30 EST 2005 root at fbsd.wettoast.net:/usr/obj/usr/src/sys/DP i386
>Description:
Hello,
It seems that the port iplog, causes a panic when it is stopped. Oddly
enough it works fine when running. Below is the information i gathered, i dont know what commands to feed the debugger to provide useful info, so instructions are welcome. I have also defined dumpdev in rc.conf and makeoptions DEBUG=-g" in kernel, but the system does not dump. I dont understand why, even dmesg reports its setup.
kernel dumps on /dev/ad0s1b
swapon: adding /dev/ad0s1b as swap device
It just sits there after the panic message. And yes, the swap partition is larger than physical memory. Anyways, here is what i gathered. This happens on a 1 month old kernel, as well as a recently cvsuped one.
---
root at fbsd:~# sync
root at fbsd:~# /usr/local/etc/rc.d/iplog.sh stop
iplogroot at fbsd:~# kernel trap 12 with interrupts disabled
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x4
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc051274f
stack pointer = 0x10:0xd8a55b04
frame pointer = 0x10:0xd8a55b2c
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 526 (iplog)
[thread pid 526 tid 100105 ]
Stopped at propagate_priority+0x13f: movl 0x4(%eax),%eax
db> trace
Tracing pid 526 tid 100105 td 0xc1b85730
propagate_priority(c1b85730,0,c0649a96,254,c0698620) at
propagate_priority+0x13f
turnstile_wait(c19a7858,c1b878a0,c0645f57,216,c19a7858) at
turnstile_wait+0x38b
_mtx_lock_sleep(c19a7858,c1b85730,0,c06495f9,206) at _mtx_lock_sleep+0x134
_mtx_lock_flags(c19a7858,0,c06495f9,206,1) at _mtx_lock_flags+0xbf
sleepq_calc_signal_retval(0,0,c0647242,da,0) at
sleepq_calc_signal_retval+0x38
msleep(c19ab400,c19ab468,11a,c064fdf9,0) at msleep+0x3de
bpfread(c19abd00,d8a55c80,0,3a2,8000) at bpfread+0x1bc
devfs_read_f(c1a16a20,d8a55c80,c1551d00,0,c1b85730) at devfs_read_f+0xa6
dofileread(c1b85730,c1a16a20,7,807d000,8000) at dofileread+0x9b
read(c1b85730,d8a55d14,c,3ff,3) at read+0x6b
syscall(2f,2f,2f,808f600,0) at syscall+0x245
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (3, FreeBSD ELF32, read), eip = 0x281133cf, esp = 0xbfabde0c,
ebp = 0xbfabde28 ---
db> continue
panic: blockable sleep lock (sleep mutex) process lock @
/usr/src/sys/i386/i386/trap.c:696
KDB: enter: panic
[thread pid 526 tid 100105 ]
Stopped at kdb_enter+0x30: leave
db> trace
Tracing pid 526 tid 100105 td 0xc1b85730
kdb_enter(c0646b1d,c06937e0,c064a32c,d8a559f0,100) at kdb_enter+0x30
panic(c064a32c,c0657a46,c06461d5,c065d5e6,2b8) at panic+0xcc
witness_checkorder(c19a7858,9,c065d5e6,2b8,0) at witness_checkorder+0xc7
_mtx_lock_flags(c19a7858,0,c065d5e6,2b8,c1b85730) at _mtx_lock_flags+0x8a
trap_pfault(d8a55ac4,0,4,1ce,4) at trap_pfault+0xa1
trap(18,10,10,c1b86540,c1b85730) at trap+0x34d
calltrap() at calltrap+0x5
--- trap 0xc, eip = 0xc051274f, esp = 0xd8a55b04, ebp = 0xd8a55b2c ---
propagate_priority(c1b85730,0,c0649a96,254,c0698620) at
propagate_priority+0x13f
turnstile_wait(c19a7858,c1b878a0,c0645f57,216,c19a7858) at
turnstile_wait+0x38b
_mtx_lock_sleep(c19a7858,c1b85730,0,c06495f9,206) at _mtx_lock_sleep+0x134
_mtx_lock_flags(c19a7858,0,c06495f9,206,1) at _mtx_lock_flags+0xbf
sleepq_calc_signal_retval(0,0,c0647242,da,0) at
sleepq_calc_signal_retval+0x38
msleep(c19ab400,c19ab468,11a,c064fdf9,0) at msleep+0x3de
bpfread(c19abd00,d8a55c80,0,3a2,8000) at bpfread+0x1bc
devfs_read_f(c1a16a20,d8a55c80,c1551d00,0,c1b85730) at devfs_read_f+0xa6
dofileread(c1b85730,c1a16a20,7,807d000,8000) at dofileread+0x9b
read(c1b85730,d8a55d14,c,3ff,3) at read+0x6b
syscall(2f,2f,2f,808f600,0) at syscall+0x245
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (3, FreeBSD ELF32, read), eip = 0x281133cf, esp = 0xbfabde0c,
ebp = 0xbfabde28 ---
db> continue
Uptime: 33m37s
---
And here is my kernel config:
---
machine i386
cpu I686_CPU
ident DP
options SCHED_4BSD # 4BSD scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_DIRHASH # Improve performance on big
directories
options COMPAT_43 # Compatible with BSD 4.3 [KEEP
THIS!]
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
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.
# Bus support. Do not remove isa, even if you have no isa slots
device isa
device pci
# Floppy drives
device fdc
# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
options ATA_STATIC_ID # Static device numbering
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device vga # VGA video card driver
# syscons is the default console driver, resembling an SCO console
device sc
device agp # support several AGP chipsets
# Floating point support - do not disable.
device npx
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
# Parallel port
device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
# PCI Ethernet NICs.
device em # Intel PRO/1000 adapter Gigabit Ethernet
Card
# 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 fxp # Intel EtherExpress PRO/100B (82557, 82558)
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# Pseudo devices.
device loop # Network loopback
device mem # Memory and kernel memory devices
device io # I/O device
device random # Entropy device
device ether # Ethernet support
device pty # Pseudo-ttys (telnet etc)
device bpf # Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device pf
options ALTQ
options ALTQ_PRIQ
# Debugging
makeoptions DEBUG=-g
options INVARIANTS
options INVARIANT_SUPPORT
options WITNESS
options WITNESS_SKIPSPIN
---
Thanks.
>How-To-Repeat:
Install /usr/ports/net/iplog. Configure and run. Stop iplog (/usr/local/etc/rc.d/iplog.sh stop).
>Fix:
Dont use iplog :)
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list