[Pkg-xen-devel] Bug#601271: xen-utils-4.0: domain fails to reboot (AttributeError: 'NoneType' object has no attribute 'getBitSize')

Sergio Gelato Sergio.Gelato at astro.su.se
Sun Oct 24 18:47:55 UTC 2010


Package: xen-utils-4.0
Version: 4.0.1-1
Severity: important

I'm running a 32-bit Ubuntu 10.04 domU on a 32-bit Debian squeeze dom0.
xm create works fine, but whenever I try to reboot this domU it fails with
the following traceback in xend.log:

[2010-10-23 17:48:58 1679] INFO (XendDomainInfo:2088) Domain has shutdown: name=
onini id=2 reason=reboot.
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:3053) XendDomainInfo.destroy: d
omid=2
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:2411) Destroying device model
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:2418) Releasing devices
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:2424) Removing vif/0
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:1286) XendDomainInfo.destroyDev
ice: deviceClass = vif, device = vif/0
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:2424) Removing vbd/51712
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:1286) XendDomainInfo.destroyDev
ice: deviceClass = vbd, device = vbd/51712
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:2424) Removing console/0
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:1286) XendDomainInfo.destroyDev
ice: deviceClass = console, device = console/0
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:123) XendDomainInfo.create_from
_dict({'vcpus_params': {'cap': 0, 'weight': 256}, 'PV_args': '', 'other_config':
 {}, 'features': '', 'cpus': [[]], 'paused': 0, 'use_tmp_kernel': True, 'domid':
 2, 'memory_sharing': 0, 'superpages': 0, 'VCPUs_live': 1, 'PV_bootloader': '', 
'actions_after_crash': 'restart', 'vbd_refs': ['7fbf7b8c-5145-f7df-7a13-8bc64d24381b'], 'PV_ramdisk': '', 'memory_dynamic_min': 268435456, '_temp_ramdisk': '/var/run/xend/boot/boot_ramdisk.f9RnrM', 'name_label': 'XXXXX', 'VCPUs_at_startup': 1, 'HVM_boot_params': {}, 'platform': {'tsc_mode': 0, 'videoram': 4, 'pci': [], 'nomigrate': 0}, 'PV_kernel': '', 'console_refs': ['dc4d58f3-baa7-3475-ad9c-9fb9043b152e'], 'online_vcpus': 1, 'vif_refs': ['cd0c77fe-5f67-d607-d846-b93853e31ff8'], 'blocked': 0, 'on_xend_stop': 'ignore', 'shutdown': 0, 'HVM_boot_policy': '', 'description': '', 'shutdown_reason': 1, 'VCPUs_max': 1, 'start_time': 1287701000.5065911, 'memory_static_max': 268435456, 'actions_after_shutdown': 'destroy', 'use_tmp_ramdisk': True, 'on_xend_start': 'ignore', 'crashed': 0, 'memory_dynamic_max': 268435456, 'actions_after_suspend': '', 'is_a_template': False, 'PV_bootloader_args': '-q', 'is_control_domain': False, '_temp_args': 'root=UUID=c480d611-e3b6-43b0-a79c-2b85b69816cc ro console=hvc0  splash quiet ', 'cpu_time': 2591.0569370620001, 'shadow_memory': 0, 'memory_static_min': 0, 'dying': 0, 'vcpu_avail': 1, 'notes': {'HV_START_LOW': 4118806528L, 'FEATURES': '!writable_page_tables|pae_pgdir_above_4gb', 'VIRT_BASE': 3221225472L, 'GUEST_VERSION': '2.6', 'PADDR_OFFSET': 0, 'GUEST_OS': 'linux', 'HYPERCALL_PAGE': 3222282240L, 'LOADER': 'generic', 'SUSPEND_CANCEL': 1, 'PAE_MODE': 'yes', 'ENTRY': 3229499392L, 'XEN_VERSION': 'xen-3.0'}, '_temp_kernel': '/var/run/xend/boot/boot_kernel.v9LEU4', 'auto_power_on': False, 'uuid': '82d3f357-3124-3e3f-9149-b640e4f428b9', 'actions_after_reboot': 'restart', 'Description': '', '_temp_using_bootloader': '1', 'target': 0, 'running': 0, 'vtpm_refs': [], 's3_integrity': 1, 'devices': {'dc4d58f3-baa7-3475-ad9c-9fb9043b152e': ('console', {'other_config': {}, 'protocol': 'vt100', 'uuid': 'dc4d58f3-baa7-3475-ad9c-9fb9043b152e', 'location': '2'}), '7fbf7b8c-5145-f7df-7a13-8bc64d24381b': ('vbd', {'uuid': '7fbf7b8c-5145-f7df-7a13-8bc64d24381b', 'bootable': 1, 'devid': 51712, 'driver': 'paravirtualised', 'dev': 'xvda', 'uname': 'phy:/dev/YYYYY/XXXXX-a', 'mode': 'w'}), 'cd0c77fe-5f67-d607-d846-b93853e31ff8': ('vif', {'bridge': 'eth0', 'mac': '00:16:3e:XX:XX:XX', 'devid': 0, 'uuid': 'cd0c77fe-5f67-d607-d846-b93853e31ff8'})}})
[2010-10-23 17:48:58 1679] DEBUG (XendDomainInfo:2508) XendDomainInfo.constructDomain
[2010-10-23 17:48:58 1679] ERROR (XendDomainInfo:483) VM start failed
Traceback (most recent call last):
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomainInfo.py", line 468, in start
    XendTask.log_progress(0, 30, self._constructDomain)
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendTask.py", line 209, in log_progress
    retval = func(*args, **kwds)
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomainInfo.py", line 2528, in _constructDomain
    balloon.free(16*1024, self) # 16MB should be plenty
  File "/usr/lib/xen-4.0/lib/python/xen/xend/balloon.py", line 112, in free
    guest_size = dominfo.image.getBitSize()
AttributeError: 'NoneType' object has no attribute 'getBitSize'
[2010-10-23 17:48:59 1679] DEBUG (XendDomainInfo:3053) XendDomainInfo.destroy: domid=2
[2010-10-23 17:48:59 1679] ERROR (XendDomainInfo:128) Domain construction failed
Traceback (most recent call last):
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomainInfo.py", line 126, in create_from_dict
    vm.start()
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomainInfo.py", line 468, in start
    XendTask.log_progress(0, 30, self._constructDomain)
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendTask.py", line 209, in log_progress
    retval = func(*args, **kwds)
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomainInfo.py", line 2528, in _constructDomain
    balloon.free(16*1024, self) # 16MB should be plenty
  File "/usr/lib/xen-4.0/lib/python/xen/xend/balloon.py", line 112, in free
    guest_size = dominfo.image.getBitSize()
AttributeError: 'NoneType' object has no attribute 'getBitSize'
[2010-10-23 17:48:59 1679] DEBUG (XendDomainInfo:3053) XendDomainInfo.destroy: domid=2
[2010-10-23 17:48:59 1679] ERROR (XendDomainInfo:2244) Failed to restart domain 2.
Traceback (most recent call last):
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomainInfo.py", line 2227, in _restart
    new_dom_info)
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomain.py", line 998, in domain_create_from_dict
    dominfo = XendDomainInfo.create_from_dict(config_dict)
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomainInfo.py", line 126, in create_from_dict
    vm.start()
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomainInfo.py", line 468, in start
    XendTask.log_progress(0, 30, self._constructDomain)
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendTask.py", line 209, in log_progress
    retval = func(*args, **kwds)
  File "/usr/lib/xen-4.0/lib/python/xen/xend/XendDomainInfo.py", line 2528, in _constructDomain
    balloon.free(16*1024, self) # 16MB should be plenty
  File "/usr/lib/xen-4.0/lib/python/xen/xend/balloon.py", line 112, in free
    guest_size = dominfo.image.getBitSize()
AttributeError: 'NoneType' object has no attribute 'getBitSize'

I'm under the impression that the problem is that on reboot, domid is still
set while the .image component of the XenDomainInfo object has been reset.
On create, on the other hand, domid isn't set until a later stage so the
condition at line 107 of balloon.py evaluates to false and the getBitSize()
method call is not attempted. I don't consider myself sufficiently familiar
with the code to suggest a solution.





More information about the Pkg-xen-devel mailing list