kern/123908: panic: vinvalbuf: dirty bufs
Nejc Skoberne
nejc at skoberne.net
Thu May 22 17:40:02 UTC 2008
>Number: 123908
>Category: kern
>Synopsis: panic: vinvalbuf: dirty bufs
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu May 22 17:40:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Nejc Skoberne
>Release: RELENG_7
>Organization:
>Environment:
FreeBSD Kizej.domain.com 7.0-STABLE FreeBSD 7.0-STABLE #0: Wed May 21 09:56:39 CEST 2008 root at iFreeBSD.domain.local:/usr/src/sys/i386/compile/MYKERNEL i386
>Description:
I was trying to make devd automount my USB stick and I stumbled upon a page fault, when I tried to also automatically unmount the usb drive.
panic: vinvalbuf: dirty bufs
cpuid = 1
Uptime: 5m7s
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x0
fault code = supervisor write, page not present
instruction pointer = 0x20:0xc046e8db
stack pointer = 0x28:0xe79df3c0
frame pointer = 0x28:0xe79df3dc
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 1102 (ps)
trap number = 12
>How-To-Repeat:
Add this to /etc/devd.conf:
attach 20 {
device-name "umass0";
action "sleep 2; \
sh /etc/rc.d/devfs restart; \
/sbin/kldload msdosfs; \
/sbin/mount /dev/da0s1; \
/usr/local/sbin/usbsync";
};
detach 20 {
device-name "umass0";
action "/sbin/umount /dev/da0s1; \
/sbin/kldunload msdosfs";
};
restart devd and then plug in the USB stick device. It is nicely mounted into /mnt. Then unplug it - it is normal that this gives an error since it tries to unmount not-any-more-existing device.
If you now plug it back in, the kernel page fault happens.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list