WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

Re: [Xen-users] Bug or PEBCAK ? Rebooting DomU with PCI-Device fails in

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-users] Bug or PEBCAK ? Rebooting DomU with PCI-Device fails in Xen 3
From: Sebastian Himberger <sebastian.himberger@xxxxxx>
Date: Sat, 08 Jul 2006 20:21:07 +0200
Delivery-date: Sat, 08 Jul 2006 11:21:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <449ADF4F.7060801@xxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
References: <449ADF4F.7060801@xxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.8 (X11/20060502)

Hi List,

so far i didn't got any further with my issue. I'm not sure if it is a bug but i tried to track down the problem. First: I applied the patch located under: http://lists.xensource.com/archives/html/xen-users/2006-05/msg00224.html and also used the newest pciif.py from xen-unstable. No effect. I then did the following. I debugged the pciif.py and printed the config value in:

def get_param(config, field, default=None):

and compared them during startup and reboot. This revealed a huge difference. During the startup the config had the following values:

sxp:(dev (domain 0x0) (bus 0x02) (slot 0x05) (func 0x0))

but during restart everything was empty. So i walked up the stack and looked into XendDomainInfo.py which was next in the stacktrace. Here the method:

def restart(self, rename = False):

which seems responsible for creating the 'config' (but i'm not 100% sure) through a call to:

config = self.sxpr()

So the method 'sxpr()' seems to be in charge. sxpr() seems to round trip the old config values and overwrite some with new values from the config file (at least IMHO). But the pci configuration seems neither to be round tripped nor to be read in again. So this seems to be the cause of my problem. Now the question: Am i right or am i wrong? I'm no xen expert so there's a big chance I'm just missing the point.

please enlighten me.

best regards
Sebastian


Sebastian Himberger schrieb:

Hi Mike,

thanks very much for the help but unfortunatly it didn't worked out. I
have tried the the 3-item value for the pci-option and get the same error.

But now i found out that "xm info" will give a very detailed info of my
environment. So here it is:

release                : 2.6.16-2-xen-686
version                : #1 SMP Tue May 23 05:46:45 CEST 2006
machine                : i686
nr_cpus                : 1
nr_nodes               : 1
sockets_per_node       : 1
cores_per_socket       : 1
threads_per_core       : 1
cpu_mhz                : 2394
hw_caps                : bfebfbff:00000000:00000000:00000080:00004400
total_memory           : 479
free_memory            : 9
xen_major              : 3
xen_minor              : 0
xen_extra              : .2-2
xen_caps               : xen-3.0-x86_32
platform_params        : virt_start=0xfc000000
xen_changeset          : Tue May 16 19:52:53 2006 +0100
cc_compiler            : gcc version 3.3.5 (Debian 1:3.3.5-13)
cc_compile_by          : ultrotter@debia
cc_compile_domain      :
cc_compile_date        : Sat Jun 10 10:54:23 CEST 2006

Thanks very much

Sebastian

list user schrieb:

Sebastian Himberger wrote:

Hi List,




Hi Sebastian,


i have the Xen-kernel from backports.org running on my debian stable
machine. It works quite well but as i reboot a DomU with a physical NIC
assigned to it (using the "pci="-option) it won't restart. I did a
little googling and came across the following error:

http://lists.xensource.com/archives/html/xen-users/2006-05/msg00107.html

But this don't seem to be my exact problem since the error message in
xend.log is different. Is this a bug in xen or am i missing something.
Any hint's or help would be greatly appreciated. Maybe i'm just too dumb to get it right. I've attached my config file and a stacktrace to this mail.

Thanks very much in advance

Sebastian

------------- config file -------------

kernel = "/boot/vmlinuz-2.6.16-2-xen-686"
ramdisk="/boot/initrd.img-2.6.16-2-xen-686"
memory = 64
name = "wwwserver"
#vif = [ '' ]
pci = ['0000:02:05.0']




I seem to remember that, at that time, the python code was looking for a list of 3 items. That pci option has 4. Try "pci = ['02:05.0']" instead.

Hope that helps,

Mike Wright

disk = [
'phy:/dev/vg0/wwwserver,hda1,w','phy:/dev/vg0/wwwdata,hda2,w','phy:/dev/vg0/wwwswap,hda5,w'
]
root = "/dev/hda1 ro"
extra = "4"

--------------- /config file -----------


-------------- stacktrace ------------

[2006-06-21 19:15:45 xend.XendDomainInfo] INFO (XendDomainInfo:836)
Domain has shutdown: name=wwwserver id=1 reason=reboot.
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:1335)
XendDomainInfo.destroyDomain(1)
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:178)
XendDomainInfo.create(['domain', ['domid', 1], ['uuid',
'd252a115-a29a-6a47-8bb0-62820eca17db'], ['ssidref', 0
], ['vcpus', 1], ['vcpu_avail', 1], ['cpu_weight', 1.0], ['memory', 64],
['maxmem', 64], ['name', 'wwwserver'], ['on_poweroff', 'destroy'],
['on_reboot', 'restart'], ['on_crash',
'restart'], ['image', ['linux', ['kernel',
'/boot/vmlinuz-2.6.16-2-xen-686'], ['ramdisk',
'/boot/initrd.img-2.6.16-2-xen-686'], ['root', '/dev/hda1 ro'], ['args',
'4']]], ['device
', ['vbd', ['backend', 0], ['dev', 'hda1'], ['uname',
'phy:/dev/vg0/wwwserver'], ['mode', 'w']]], ['device', ['vbd',
['backend', 0], ['dev', 'hda2'], ['uname', 'phy:/dev/vg0/wwwda
ta'], ['mode', 'w']]], ['device', ['vbd', ['backend', 0], ['dev',
'hda5'], ['uname', 'phy:/dev/vg0/wwwswap'], ['mode', 'w']]], ['device',
['pci', ['backend', 0]]], ['state', '---s
--'], ['shutdown_reason', 'reboot'], ['cpu_time', 9.1634053200000007],
['online_vcpus', 1], ['up_time', '53.5487999916'], ['start_time',
'1150910092.39'], ['store_mfn', 69747], ['
console_mfn', 69746]])
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:284)
parseConfig: config is ['domain', ['domid', 1], ['uuid',
'd252a115-a29a-6a47-8bb0-62820eca17db'], ['ssidref',
0], ['vcpus', 1], ['vcpu_avail', 1], ['cpu_weight', 1.0], ['memory',
64], ['maxmem', 64], ['name', 'wwwserver'], ['on_poweroff', 'destroy'],
['on_reboot', 'restart'], ['on_crash',
'restart'], ['image', ['linux', ['kernel',
'/boot/vmlinuz-2.6.16-2-xen-686'], ['ramdisk',
'/boot/initrd.img-2.6.16-2-xen-686'], ['root', '/dev/hda1 ro'], ['args',
'4']]], ['devic
e', ['vbd', ['backend', 0], ['dev', 'hda1'], ['uname',
'phy:/dev/vg0/wwwserver'], ['mode', 'w']]], ['device', ['vbd',
['backend', 0], ['dev', 'hda2'], ['uname', 'phy:/dev/vg0/wwwd
ata'], ['mode', 'w']]], ['device', ['vbd', ['backend', 0], ['dev',
'hda5'], ['uname', 'phy:/dev/vg0/wwwswap'], ['mode', 'w']]], ['device',
['pci', ['backend', 0]]], ['state', '---
s--'], ['shutdown_reason', 'reboot'], ['cpu_time', 9.1634053200000007],
['online_vcpus', 1], ['up_time', '53.5487999916'], ['start_time',
'1150910092.39'], ['store_mfn', 69747], [
'console_mfn', 69746]]
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:380)
parseConfig: result is {'ssidref': 0, 'uuid':
'd252a115-a29a-6a47-8bb0-62820eca17db', 'on_crash': 'restart', '
on_reboot': 'restart', 'image': ['linux', ['kernel',
'/boot/vmlinuz-2.6.16-2-xen-686'], ['ramdisk',
'/boot/initrd.img-2.6.16-2-xen-686'], ['root', '/dev/hda1 ro'], ['args',
'4']],
'on_poweroff': 'destroy', 'cpus': None, 'name': 'wwwserver', 'backend':
[], 'vcpus': 1, 'cpu_weight': 1.0, 'vcpu_avail': 1, 'memory': 64,
'device': [('vbd', ['vbd', ['backend', 0
], ['dev', 'hda1'], ['uname', 'phy:/dev/vg0/wwwserver'], ['mode',
'w']]), ('vbd', ['vbd', ['backend', 0], ['dev', 'hda2'], ['uname',
'phy:/dev/vg0/wwwdata'], ['mode', 'w']]), ('vb
d', ['vbd', ['backend', 0], ['dev', 'hda5'], ['uname',
'phy:/dev/vg0/wwwswap'], ['mode', 'w']]), ('pci', ['pci', ['backend',
0]])], 'bootloader': None, 'cpu': None, 'maxmem': 64}
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:1164)
XendDomainInfo.construct: None 0
[2006-06-21 19:15:45 xend.XendDomainInfo] DEBUG (XendDomainInfo:1196)
XendDomainInfo.initDomain: 2 1.0
[2006-06-21 19:15:46 xend] DEBUG (balloon:130) Balloon: free 6; need 65.
[2006-06-21 19:15:46 xend] DEBUG (balloon:139) Balloon: setting dom0
target to 337.
[2006-06-21 19:15:46 xend.XendDomainInfo] DEBUG (XendDomainInfo:945)
Setting memory target of domain Domain-0 (0) to 337 MiB.
[2006-06-21 19:15:46 xend] DEBUG (balloon:126) Balloon: free 87; need
65; done.
[2006-06-21 19:15:46 xend] INFO (image:135) buildDomain os=linux dom=2
vcpus=1
[2006-06-21 19:15:46 xend] DEBUG (image:173) dom            = 2
[2006-06-21 19:15:46 xend] DEBUG (image:174) image          =
/boot/vmlinuz-2.6.16-2-xen-686
[2006-06-21 19:15:46 xend] DEBUG (image:175) store_evtchn   = 1
[2006-06-21 19:15:46 xend] DEBUG (image:176) console_evtchn = 2
[2006-06-21 19:15:46 xend] DEBUG (image:177) cmdline        =
root=/dev/hda1 ro 4
[2006-06-21 19:15:46 xend] DEBUG (image:178) ramdisk        =
/boot/initrd.img-2.6.16-2-xen-686
[2006-06-21 19:15:46 xend] DEBUG (image:179) vcpus          = 1
[2006-06-21 19:15:46 xend] DEBUG (image:180) features       =
[2006-06-21 19:15:46 xend] DEBUG (DevController:103) DevController:
writing {'virtual-device': '769', 'backend-id': '0', 'state': '1',
'backend': '/local/domain/0/backend/vbd/2/76
9'} to /local/domain/2/device/vbd/769.
[2006-06-21 19:15:46 xend] DEBUG (DevController:105) DevController:
writing {'domain': 'wwwserver', 'frontend':
'/local/domain/2/device/vbd/769', 'dev': 'hda1', 'state': '1', 'par
ams': '/dev/vg0/wwwserver', 'mode': 'w', 'frontend-id': '2', 'type':
'phy'} to /local/domain/0/backend/vbd/2/769.
[2006-06-21 19:15:46 xend] DEBUG (DevController:103) DevController:
writing {'virtual-device': '770', 'backend-id': '0', 'state': '1',
'backend': '/local/domain/0/backend/vbd/2/77
0'} to /local/domain/2/device/vbd/770.
[2006-06-21 19:15:46 xend] DEBUG (DevController:105) DevController:
writing {'domain': 'wwwserver', 'frontend':
'/local/domain/2/device/vbd/770', 'dev': 'hda2', 'state': '1', 'par
ams': '/dev/vg0/wwwdata', 'mode': 'w', 'frontend-id': '2', 'type':
'phy'} to /local/domain/0/backend/vbd/2/770.
[2006-06-21 19:15:46 xend] DEBUG (DevController:103) DevController:
writing {'virtual-device': '770', 'backend-id': '0', 'state': '1',
'backend': '/local/domain/0/backend/vbd/2/77
0'} to /local/domain/2/device/vbd/770.
[2006-06-21 19:15:46 xend] DEBUG (DevController:105) DevController:
writing {'domain': 'wwwserver', 'frontend':
'/local/domain/2/device/vbd/770', 'dev': 'hda2', 'state': '1', 'par
ams': '/dev/vg0/wwwdata', 'mode': 'w', 'frontend-id': '2', 'type':
'phy'} to /local/domain/0/backend/vbd/2/770.
[2006-06-21 19:15:46 xend] DEBUG (DevController:103) DevController:
writing {'virtual-device': '773', 'backend-id': '0', 'state': '1',
'backend': '/local/domain/0/backend/vbd/2/77
3'} to /local/domain/2/device/vbd/773.
[2006-06-21 19:15:46 xend] DEBUG (DevController:105) DevController:
writing {'domain': 'wwwserver', 'frontend':
'/local/domain/2/device/vbd/773', 'dev': 'hda5', 'state': '1', 'par
ams': '/dev/vg0/wwwswap', 'mode': 'w', 'frontend-id': '2', 'type':
'phy'} to /local/domain/0/backend/vbd/2/773.
[2006-06-21 19:15:46 xend.XendDomainInfo] ERROR (XendDomainInfo:190)
Domain construction failed
Traceback (most recent call last):
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 183, in create
   vm.initDomain()
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1233, in initDomain
   self.createDevices()
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1393, in createDevices
   self.createDevice(n, c)
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1009, in createDevice
   return self.getDeviceController(deviceClass).createDevice(devconfig)
 File
"/usr/lib/python2.3/site-packages/xen/xend/server/DevController.py",
line 80, in createDevice
   (devid, back, front) = self.getDeviceDetails(config)
 File "/usr/lib/python2.3/site-packages/xen/xend/server/pciif.py", line
98, in getDeviceDetails
   bus  = get_param(config, 'bus')
 File "/usr/lib/python2.3/site-packages/xen/xend/server/pciif.py", line
71, in get_param
   raise VmError('pci: Invalid config setting %s: %s' %
VmError: pci: Invalid config setting bus: None
[2006-06-21 19:15:47 xend.XendDomainInfo] DEBUG (XendDomainInfo:1327)
XendDomainInfo.destroy: domid=2
[2006-06-21 19:15:47 xend.XendDomainInfo] DEBUG (XendDomainInfo:1335)
XendDomainInfo.destroyDomain(2)
[2006-06-21 19:15:47 xend.XendDomainInfo] ERROR (XendDomainInfo:1499)
Failed to restart domain 1.
Traceback (most recent call last):
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1488, in restart
   new_dom = XendDomain.instance().domain_create(config)
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomain.py", line
227, in domain_create
   dominfo = XendDomainInfo.create(config)
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 183, in create
   vm.initDomain()
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1233, in initDomain
   self.createDevices()
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1393, in createDevices
   self.createDevice(n, c)
 File "/usr/lib/python2.3/site-packages/xen/xend/XendDomainInfo.py",
line 1009, in createDevice
   return self.getDeviceController(deviceClass).createDevice(devconfig)
 File
"/usr/lib/python2.3/site-packages/xen/xend/server/DevController.py",
line 80, in createDevice
   (devid, back, front) = self.getDeviceDetails(config)
 File "/usr/lib/python2.3/site-packages/xen/xend/server/pciif.py", line
98, in getDeviceDetails
   bus  = get_param(config, 'bus')
 File "/usr/lib/python2.3/site-packages/xen/xend/server/pciif.py", line
71, in get_param
   raise VmError('pci: Invalid config setting %s: %s' %
VmError: pci: Invalid config setting bus: None
[2006-06-21 22:09:44 xend] INFO (SrvDaemon:185) Xend stopped due to
signal 15.

-------------- /stacktrace ------------




_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users



_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users







_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users






_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

<Prev in Thread] Current Thread [Next in Thread>