Subject: Is restarting xend supposed to panic the system?
To: None <port-xen@NetBSD.org>
From: Jed Davis <jdev@panix.com>
List: port-xen
Date: 06/23/2005 19:46:54
I was under the impression that it should be possible to stop and start
xend, with unprivileged domains running, and not have the system fall
over. And even if that shouldn't be done, it probably shouldn't fail
in the manner that it does.
My dom0 kernel is from the netbsd-3 branch (either with or without my
xbdback patch from the other thread; the same thing happens either way),
with xentools-2.0.6nb1. "/etc/rc.d/xend stop" stops xend, with no output
to its log; starting it again gives this, in xend.log:
[2005-06-23 12:17:02 xend] INFO (SrvDaemon:610) Xend Daemon started
[2005-06-23 12:17:02 xend] INFO (console:94) Created console id=14 domain=1 port=9601
[2005-06-23 12:17:02 xend] DEBUG (XendDomainInfo:1130) Creating vbd dom=1 uname=phy:/dev/ccd0i
[2005-06-23 12:17:02 xend] DEBUG (XendDomainInfo:1130) Creating vbd dom=1 uname=phy:/dev/wd0g
[2005-06-23 12:17:02 xend] DEBUG (XendDomainInfo:1107) Creating vif dom=1 vif=0 mac=aa:00:00:5f:ce:de
[2005-06-23 12:17:02 xend] DEBUG (XendDomainInfo:665) Destroying vifs for domain 1
[2005-06-23 12:17:02 xend] DEBUG (XendDomainInfo:674) Destroying vbds for domain 1
[2005-06-23 12:17:02 xend] DEBUG (blkif:552) Destroying blkif domain=1
[2005-06-23 12:17:02 xend] DEBUG (blkif:408) Destroying vbd domain=1 idx=0
[2005-06-23 12:17:02 xend] DEBUG (blkif:408) Destroying vbd domain=1 idx=1
[2005-06-23 12:17:02 xend] DEBUG (XendDomainInfo:634) Closing console, domain 1
[2005-06-23 12:17:02 xend] DEBUG (XendDomainInfo:622) Closing channel to domain 1
And this on the console:
xbd backend: detach device ccd0h for domain 1
xbd backend: detach device wd0g for domain 1
and xend exits. Trying to start xend again yields, in xend.log:
[2005-06-23 12:17:47 xend] INFO (SrvDaemon:610) Xend Daemon started
and, on the console, this panic:
panic: kernel diagnostic assertion "pmap->pm_obj.uo_npages == 0" failed: file "../../../../arch/xen/i386/pmap.c", line 2091
Stopped in pid 891.1 (python2.3) at netbsd:cpu_Debugger+0x4: leave
cpu_Debugger(cae61298,cae5d804,0,c9be96d4,0) at netbsd:cpu_Debugger+0x4
panic(c05eaca0,c0569b9d,c057ee75,c05c8c40,82b) at netbsd:panic+0x121
__main(c0569b9d,c05c8c40,82b,c057ee75,c072b000) at netbsd:__main
pmap_destroy(c9be96d4,0,cae87dc8,c03c9666,1) at netbsd:pmap_destroy+0x8b
pmap_load(c04afcb2,cae87e04,bfbfe4ec,70,cae87ef4) at netbsd:pmap_load+0x2d9
copyout(cae87ef4,cae5d92c,cae87ecc,ca9df800,ca9d8d00) at netbsd:copyout+0xe
kpsendsig(cae61298,cae87ef4,cae5d92c,cae87f20,c066b700) at netbsd:kpsendsig+0xbe
postsig(14,cae87f64,cae87f5c,0,c06256a0) at netbsd:postsig+0x22d
syscall_plain() at netbsd:syscall_plain+0xec
--- syscall (number 4) ---
0xbd9728df:
ds 0x11
es 0x11
fs 0x31
gs 0x11
edi 0x1
esi 0x100
ebp 0xcae87d28
ebx 0x1
edx 0
ecx 0xfffffffe
eax 0x20ae
eip 0xc03c1bf0 cpu_Debugger+0x4
cs 0x9
eflags 0x1202
esp 0xcae87d28
ss 0x11
netbsd:cpu_Debugger+0x4: leave
Stopped in pid 891.1 (python2.3) at netbsd:cpu_Debugger+0x4: leave
I can make this a PR, but I thought I'd see if anyone on the list had any ideas first.
--
(let ((C call-with-current-continuation)) (apply (lambda (x y) (x y)) (map
((lambda (r) ((C C) (lambda (s) (r (lambda l (apply (s s) l)))))) (lambda
(f) (lambda (l) (if (null? l) C (lambda (k) (display (car l)) ((f (cdr l))
(C k))))))) '((#\J #\d #\D #\v #\s) (#\e #\space #\a #\i #\newline)))))