Package: xen-utils-common Version: 4.4.0-5 Severity: important Tags: patch Hello,
xen-init-list fails to parse output of xen list -l when using XM toolstack. Therefore, /etc/init.d/xendomains stop fails to shutdown any guests still running on shutdown. xen-init-list fails with the following message: /usr/lib/xen-common/bin/xen-init-list Traceback (most recent call last): File "/usr/lib/xen-common/bin/xen-init-list", line 70, in <module> d = DataSXP(p) File "/usr/lib/xen-common/bin/xen-init-list", line 52, in __init__ s = SXPParser()(p) TypeError: 'SXPParser' object is not callable The following patch fixes the problem: diff -ur a/usr/lib/xen-common/bin/xen-init-list b/usr/lib/xen-common/bin/xen- init-list --- a/usr/lib/xen-common/bin/xen-init-list 2014-09-06 22:39:31.000000000 +0200 +++ b/usr/lib/xen-common/bin/xen-init-list 2014-09-27 19:55:20.244357777 +0200 @@ -11,7 +11,7 @@ tokenizer_re = re.compile(tokenizer_rules, re.X) @classmethod - def loads(cls, input): + def loads(self, input): data = [] stack = [] for match in self.tokenizer_re.finditer(input): @@ -49,7 +49,7 @@ class DataSXP(Data): def __init__(self, p): - s = SXPParser()(p) + s = SXPParser().loads(p) self.data = d = {} for i in s: if i and i[0] == 'domain': The problem also exists in sid's version 4.4.1-2. Cheers, Volker P.S. This output from xen list -l with XM toolstack can be used for testing (xen-init-list should return "3 qetesh"): (domain (domid 0) (cpu_weight 512) (cpu_cap 0) (pool_name Pool-0) (bootloader '') (vcpus 4) (cpus ((0) (2) (4) (6))) (on_poweroff destroy) (on_crash restart) (uuid 00000000-0000-0000-0000-000000000000) (bootloader_args '') (name Domain-0) (on_reboot restart) (maxmem 16777215) (memory 12288) (shadow_memory 0) (features '') (on_xend_start ignore) (on_xend_stop ignore) (cpu_time 479.112308917) (online_vcpus 4) (image (linux (kernel '') (superpages 0) (nomigrate 0) (tsc_mode 0))) (status 2) (state r-----) ) (domain (domid 3) (cpu_weight 256) (cpu_cap 0) (pool_name Pool-0) (bootloader '') (vcpus 4) (cpus ((1) (3) (5) (7))) (on_poweroff destroy) (description '') (on_crash restart) (uuid 5d8e65d6-f11e-77da-d79b-765fa6b0dc06) (bootloader_args '') (name qetesh) (on_reboot restart) (maxmem 12288) (memory 12288) (shadow_memory 100) (features '') (on_xend_start ignore) (on_xend_stop ignore) (start_time 1411841408.09) (cpu_time 9.818178594) (online_vcpus 4) (image (hvm (kernel '') (superpages 0) (videoram 4) (hpet 0) (stdvga 0) (loader /usr/lib/xen-4.1/boot/hvmloader) (xen_platform_pci 1) (rtc_timeoffset 0) (pci ((0x0000 0x00 0x1d 0x0 0x100 ()) (0x0000 0x01 0x00 0x0 0x100 ()) (0x0000 0x01 0x00 0x1 0x100 ()) (0x0000 0x04 0x04 0x0 0x100 ()) ) ) (hap 1) (localtime 1) (timer_mode 1) (pci_msitranslate 1) (oos 1) (apic 1) (usbdevice tablet) (display :0) (vpt_align 1) (vncunused 1) (boot c) (pae 1) (viridian 1) (acpi 1) (vnc 1) (nographic 0) (nomigrate 0) (usb 0) (tsc_mode 0) (guest_os_type default) (device_model /usr/lib/xen-4.1/bin/qemu-dm) (pci_power_mgmt 0) (xauthority /root/.Xauthority) (isa 0) (notes (SUSPEND_CANCEL 1)) ) ) (status 2) (state r-----) (store_mfn 1044476) (device (vif (mac 02:16:3e:c8:29:36) (script /etc/xen/scripts/vif-bridge) (uuid 98f5a455-ed36-2963-7629-96539fdce3ac) (backend 0) ) ) (device (console (protocol vt100) (location 6) (uuid 77a4eccc-6494-e907-a10f-06a0f68da193) ) ) (device (vbd (uuid 631da4bd-c9e4-c735-3204-cf744fd1e3a0) (bootable 1) (dev hda:disk) (uname phy:/dev/vg00/qetesh) (mode w) (backend 0) (VDI '') ) ) (device (vbd (uuid 18632961-8819-2502-b545-92e133464a1a) (bootable 0) (dev hdb:disk) (uname phy:/dev/vg01/qetesh2) (mode w) (backend 0) (VDI '') ) ) (device (vbd (uuid 4ed12806-b0bf-4a4e-f9c6-0cf19f60823c) (bootable 0) (dev hdc:cdrom) (uname file:/etc/xen/empty.iso) (mode r) (backend 0) (VDI '') ) ) (device (vfb (vncunused 1) (vnc 1) (uuid b9b91105-4738-b6d6-8b7e-bfb645bb55db) (location 127.0.0.1:5900) ) ) (device (pci (dev (slot 0x1d) (domain 0x0000) (key 0000:00:1d.0) (bus 0x00) (vdevfn 0x28) (func 0x0) (opts (msitranslate 1)) (opts (power_mgmt 0)) (uuid 420c4d30-dd05-25d0-eb25-d013c846b6ef) ) (dev (slot 0x00) (domain 0x0000) (key 0000:01:00.0) (bus 0x01) (vdevfn 0x30) (func 0x0) (opts (msitranslate 1)) (opts (power_mgmt 0)) (uuid 3556a674-24af-79b7-4c59-bff5b18c1a62) ) (dev (slot 0x00) (domain 0x0000) (key 0000:01:00.1) (bus 0x01) (vdevfn 0x38) (func 0x1) (opts (msitranslate 1)) (opts (power_mgmt 0)) (uuid 80d00048-a88c-5ed7-2cde-8f1f1028d3f8) ) (dev (slot 0x04) (domain 0x0000) (key 0000:04:04.0) (bus 0x04) (vdevfn 0x40) (func 0x0) (opts (msitranslate 1)) (opts (power_mgmt 0)) (uuid 528b813d-b89a-dbe2-164f-f98df0a3a9df) ) (uuid d9cebcdb-9dd0-5190-29f6-2b16d8a44fb8) (backend 0) ) ) ) -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.14-2-amd64 (SMP w/4 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages xen-utils-common depends on: ii lsb-base 4.1+Debian13 ii python 2.7.8-1 ii ucf 3.0030 ii udev 208-8 ii xenstore-utils 4.4.0-5 xen-utils-common recommends no packages. xen-utils-common suggests no packages. -- Configuration Files: /etc/default/xendomains changed [not included] /etc/init.d/xendomains changed [not included] /etc/xen/scripts/qemu-ifup changed [not included] /etc/xen/xend-config.sxp changed [not included] -- no debconf information
diff -ur a/usr/lib/xen-common/bin/xen-init-list b/usr/lib/xen-common/bin/xen-init-list --- a/usr/lib/xen-common/bin/xen-init-list 2014-09-06 22:39:31.000000000 +0200 +++ b/usr/lib/xen-common/bin/xen-init-list 2014-09-27 19:55:20.244357777 +0200 @@ -11,7 +11,7 @@ tokenizer_re = re.compile(tokenizer_rules, re.X) @classmethod - def loads(cls, input): + def loads(self, input): data = [] stack = [] for match in self.tokenizer_re.finditer(input): @@ -49,7 +49,7 @@ class DataSXP(Data): def __init__(self, p): - s = SXPParser()(p) + s = SXPParser().loads(p) self.data = d = {} for i in s: if i and i[0] == 'domain':