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.