Subject: port-xen/34514: kernel panic on XEN3 domain 0 with file-backed domain U
To: None <,,>
From: None <>
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
Domain 0 System:
NetBSD 4.99.1 NetBSD 4.99.1 (LUCY0) #1: Fri Sep  1 18:41:02 JST 2006 i386
Domain U System:
NetBSD 4.99.1 NetBSD 4.99.1 (LUCYU) #2: Sat Sep  2 14:34:11 JST 2006 i386

Architecture: i386
Machine: i386
	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

	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.

	Use file-backed disks on domain U.

	Sorry, I don't know.