Subject: port-xen/34514: kernel panic on XEN3 domain 0 with file-backed domain U
To: None <port-xen-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <kawamoto@netbsd.org>
List: netbsd-bugs
Date: 09/13/2006 05:30:00
>Number: 34514
>Category: port-xen
>Synopsis: kernel panic on XEN3 domain 0 with file-backed domain U
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-xen-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Sep 13 05:30:00 +0000 2006
>Originator: KAWAMOTO Yosihisa
>Release: NetBSD 4.99.1
>Organization:
tenjin.org
>Environment:
Domain 0 System:
NetBSD lucy.tenjin.org 4.99.1 NetBSD 4.99.1 (LUCY0) #1: Fri Sep 1 18:41:02 JST 2006 kawamoto@lucy.tenjin.org:/var/obj/usr/src/sys/arch/i386/compile/LUCY0 i386
Domain U System:
NetBSD small-01.net.tenjin.org 4.99.1 NetBSD 4.99.1 (LUCYU) #2: Sat Sep 2 14:34:11 JST 2006 kawamoto@lucy.tenjin.org:/var/obj/usr/src/sys/arch/i386/compile/LUCYU i386
Architecture: i386
Machine: i386
>Description:
A domain 0 NetBSD/xen kernel panics with a running domain U kernel.
panic: kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/kern/kern_synch.c", line 469
Stopped at netbsd:cpu_Debugger+0x4: popl %ebp
db> bt
cpu_Debugger(...) at netbsd:cpu_Debugger+0x4
panic(...) at netbsd:panic+0x155
__assert(...) at netbsd:__assert+0x2e
ltsleep(...) at netbsd:ltsleep+0x6af
vndstrategy(...) at netbsd:vndstrategy+0x21a
xbdback_co_flush_done(...) at netbsd:xbdback_co_flush_done+0x7c
xbdback_trampoline(...) at netbsd:xbdback_trampoline+0x36
xbdback_evthandler(..) at netbsd:xbdback_evthandler+0x25
evtchn_do_event(...) at netbsd:evtchn_do_event+0xbd
do_hypervisor_callback(...) at netbsd:do_hypervisor_callback+0x64
ltsleep(...) at netbsd:ltsleep+0x57c
uvm_scheduler(...) at netbsd:uvm_scheduler+0x159
main(...) at netbsd:main+0x58f
db>
Details:
I setup a Xen-3 kernel. And I run the NetBSD/xen XEN3_DOM0 kernel
on that. After this, I run a NetBSD/xen XEN3_DOMU kernel with
following config. Note that this domain U uses a file-backed disk.
(disk = [ 'file:/xenhd/vm00hd,0x03,w' ])
/@lucy$ cat /etc/xen/small-01
kernel = "/home/i386/xen/netbsd-domu"
memory = 32
name = "small-01"
cpus = "" # leave to Xen to pick
vif = [ 'mac=00:16:3e:3d:93:10, bridge=bridge1' ]
disk = [ 'file:/xenhd/vm00hd,0x03,w' ]
root = "/dev/xbd0d"
In this domain U, some action(writing data to disk?) causes a
domain 0 kernel panic.
With almost same configuration instead of disk line like this:
disk = [ 'phy:/dev/sd0o,0x03,w' ]
this domain U kernel do not causes any panics.
>How-To-Repeat:
Use file-backed disks on domain U.
>Fix:
Sorry, I don't know.