[Pkg-libvirt-maintainers] Bug#656075: libvirt-bin: Virsh segfaults on communication with Xen hyp.

Vlastimil Holer vlastimil.holer at gmail.com
Mon Jan 16 09:52:50 UTC 2012


Package: libvirt-bin
Version: 0.9.8-2~bpo60+2
Severity: important


Virsh segfaults on connect to (at least) Xen hypervisor.
Gdb output attached below. Same connect to qemu:///session or
lxc:/// works fine. Older 0.9.2 from sq. backports worked fine
too, no configuration change was done.

-- System Information:
Debian Release: 6.0.3
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-xen-amd64 (SMP w/24 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libvirt-bin depends on:
ii  adduser            3.112+nmu2            add and remove users and groups
ii  gettext-base       0.18.1.1-3            GNU Internationalization utilities
ii  libavahi-client3   0.6.27-2+squeeze1     Avahi client library
ii  libavahi-common3   0.6.27-2+squeeze1     Avahi common library
ii  libblkid1          2.17.2-9              block device id library
ii  libc6              2.11.2-10             Embedded GNU C Library: Shared lib
ii  libcap-ng0         0.6.4-1               An alternate posix capabilities li
ii  libdevmapper1.02.1 2:1.02.48-5           The Linux Kernel Device Mapper use
ii  libgcrypt11        1.4.5-2               LGPL Crypto library - runtime libr
ii  libgnutls26        2.8.6-1               the GNU TLS library - runtime libr
ii  libnl1             1.1-6                 library for dealing with netlink s
ii  libnuma1           2.0.5-1               Libraries for controlling NUMA pol
ii  libparted0debian1  2.3-5                 The GNU Parted disk partitioning s
ii  libpcap0.8         1.1.1-2+squeeze1      system interface for user-level pa
ii  libpciaccess0      0.12.0-1              Generic PCI access library for X
ii  libreadline6       6.1-3                 GNU readline and history libraries
ii  libsasl2-2         2.1.23.dfsg1-7        Cyrus SASL - authentication abstra
ii  libudev0           164-3                 libudev shared library
ii  libuuid1           2.17.2-9              Universally Unique ID library
ii  libvirt0           0.9.8-2~bpo60+2       library for interfacing with diffe
ii  libxenstore3.0     4.0.1-4               Xenstore communications library fo
ii  libxml2            2.7.8.dfsg-2+squeeze1 GNOME XML library
ii  libyajl1           1.0.8-1               Yet Another JSON Library
ii  logrotate          3.7.8-6               Log rotation utility

Versions of packages libvirt-bin recommends:
ii  bridge-utils      1.4-5                  Utilities for configuring the Linu
ii  dmidecode         2.9-1.2                Dump Desktop Management Interface 
ii  dnsmasq-base      2.55-2                 A small caching DNS proxy and DHCP
ii  ebtables          2.0.9.2-2              Ethernet bridge frame table admini
ii  gawk              1:3.1.7.dfsg-5         GNU awk, a pattern scanning and pr
ii  iproute           20100519-3             networking and traffic control too
ii  iptables          1.4.8-3                administration tools for packet fi
ii  libxml2-utils     2.7.8.dfsg-2+squeeze1  XML utilities
ii  netcat-openbsd    1.89-4                 TCP/IP swiss army knife
ii  parted            2.3-5                  The GNU Parted disk partition resi
ii  qemu              0.12.5+dfsg-3squeeze1  fast processor emulator
ii  qemu-kvm          0.12.5+dfsg-5+squeeze6 Full virtualization on x86 hardwar

Versions of packages libvirt-bin suggests:
pn  policykit-1                   <none>     (no description available)
pn  radvd                         <none>     (no description available)

-- Configuration Files:
/etc/default/libvirt-bin changed:
start_libvirtd="yes"
libvirtd_opts="-d -l"

/etc/default/libvirt-guests changed:
SHUTDOWN_TIMEOUT=0

/etc/libvirt/libvirtd.conf changed:
listen_tls = 0
listen_tcp = 1
listen_addr = "192.168.0.2"
unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"
auth_tls = "none"


-- no debconf information

-- GDB output:
# gdb -- /usr/bin/virsh
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/virsh...Reading symbols from /usr/lib/debug/usr/bin/virsh...done.
(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/virsh 
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff38b7700 (LWP 18477)]
Welcome to virsh, the virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit

virsh # connect xen:///
[New Thread 0x7ffff287f700 (LWP 18483)]

Program received signal SIGSEGV, Segmentation fault.
virNodeSuspendGetTargetMask (bitmask=0x20) at /tmp/buildd/libvirt-0.9.8/./src/util/virnodesuspend.c:324
324	/tmp/buildd/libvirt-0.9.8/./src/util/virnodesuspend.c: No such file or directory.
	in /tmp/buildd/libvirt-0.9.8/./src/util/virnodesuspend.c
(gdb) bt
#0  virNodeSuspendGetTargetMask (bitmask=0x20) at /tmp/buildd/libvirt-0.9.8/./src/util/virnodesuspend.c:324
#1  0x00007ffff7aa4734 in xenHypervisorMakeCapabilities (conn=0x694140)
    at /tmp/buildd/libvirt-0.9.8/./src/xen/xen_hypervisor.c:2747
#2  0x00007ffff7aa9c9c in xenUnifiedOpen (conn=0x694140, auth=0x7ffff7dd7e40, flags=0)
    at /tmp/buildd/libvirt-0.9.8/./src/xen/xen_driver.c:386
#3  0x00007ffff7a465ab in do_open (name=<value optimized out>, auth=0x7ffff7dd7e40, flags=0)
    at /tmp/buildd/libvirt-0.9.8/./src/libvirt.c:1196
#4  0x00007ffff7a47746 in virConnectOpenAuth (name=0x68ab30 "xen:///", auth=0x7ffff7dd7e40, flags=0)
    at /tmp/buildd/libvirt-0.9.8/./src/libvirt.c:1422
#5  0x0000000000428c4a in cmdConnect (ctl=0x7fffffffea10, cmd=0x68ab10) at /tmp/buildd/libvirt-0.9.8/./tools/virsh.c:766
#6  0x0000000000415513 in vshCommandRun (ctl=0x7fffffffea10, cmd=0x68ab10)
    at /tmp/buildd/libvirt-0.9.8/./tools/virsh.c:16364
#7  0x0000000000428083 in main (argc=<value optimized out>, argv=<value optimized out>)
    at /tmp/buildd/libvirt-0.9.8/./tools/virsh.c:17897
(gdb)

-- Installed Xen packages:
ii  libxenstore3.0                      4.0.1-4                      Xenstore communications library for Xen
ii  linux-image-2.6.32-5-xen-amd64      2.6.32-39                    Linux 2.6.32 for 64-bit PCs, Xen dom0 support
ii  xen-hypervisor-4.0-amd64            4.0.1-4                      The Xen Hypervisor on AMD64
ii  xen-linux-system-2.6-xen-amd64      2.6.32+29                    Xen system with Linux 2.6 for 64-bit PCs (meta-package)
ii  xen-linux-system-2.6.32-5-xen-amd64 2.6.32-39                    Xen system with Linux 2.6.32 on 64-bit PCs (meta-package)
ii  xen-qemu-dm-4.0                     4.0.1-2                      Xen Qemu Device Model virtual machine hardware emulator
ii  xen-tools                           4.2-1                        Tools to manage Xen virtual servers
ii  xen-utils-4.0                       4.0.1-4                      XEN administrative tools
ii  xen-utils-common                    4.0.0-1                      XEN administrative tools - common files
ii  xenstore-utils                      4.0.1-4                      Xenstore utilities for Xen

-- End of strace output:
[pid 18769] write(12, "/xend/node/", 11 <unfinished ...>
[pid 18770] rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7fc53c35ff60}, {0x40b7e0, [], SA_RESTORER|SA_SIGINFO, 0x7fc53c35ff60}, 8) = 0
[pid 18769] <... write resumed> )       = 11
[pid 18770] write(7, "\2\0\0\0\0\0\0\0\0\0\0\0\27\0\0\0", 16 <unfinished ...>
[pid 18769] write(12, " HTTP/1.1\r\n", 11 <unfinished ...>
[pid 18770] <... write resumed> )       = 16
[pid 18769] <... write resumed> )       = 11
[pid 18770] write(7, "/local/domain/717/name\0", 23 <unfinished ...>
[pid 18769] write(12, "Host: localhost:8000\r\nAccept-Enc"..., 100 <unfinished ...>
[pid 18772] <... read resumed> "\2\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0", 16) = 16
[pid 18770] <... write resumed> )       = 23
[pid 18769] <... write resumed> )       = 100
[pid 18772] read(7,  <unfinished ...>
[pid 18770] futex(0x93da64, FUTEX_WAIT_PRIVATE, 17, NULL <unfinished ...>
[pid 18772] <... read resumed> "c1-i1", 5) = 5
[pid 18769] read(12,  <unfinished ...>
[pid 18772] futex(0x93da64, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x93da60, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
[pid 18770] <... futex resumed> )       = 0
[pid 18772] read(7,  <unfinished ...>
[pid 18770] futex(0x93da38, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 18770] rt_sigaction(SIGPIPE, {0x40b7e0, [], SA_RESTORER|SA_SIGINFO, 0x7fc53c35ff60}, NULL, 8) = 0
[pid 18770] rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7fc53c35ff60}, {0x40b7e0, [], SA_RESTORER|SA_SIGINFO, 0x7fc53c35ff60}, 8) = 0
[pid 18770] write(7, "\2\0\0\0\0\0\0\0\0\0\0\0\25\0\0\0", 16) = 16
[pid 18770] write(7, "/local/domain/717/vm\0", 21) = 21
[pid 18772] <... read resumed> "\2\0\0\0\0\0\0\0\0\0\0\0*\0\0\0", 16) = 16
[pid 18772] read(7,  <unfinished ...>
[pid 18770] futex(0x93da64, FUTEX_WAIT_PRIVATE, 19, NULL <unfinished ...>
[pid 18772] <... read resumed> "/vm/814df7eb-b741-8bed-e772-ccc9"..., 42) = 42
[pid 18772] futex(0x93da64, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x93da60, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
[pid 18770] <... futex resumed> )       = 0
[pid 18772] read(7,  <unfinished ...>
[pid 18770] futex(0x93da38, FUTEX_WAKE_PRIVATE, 1) = 0
[pid 18770] rt_sigaction(SIGPIPE, {0x40b7e0, [], SA_RESTORER|SA_SIGINFO, 0x7fc53c35ff60}, NULL, 8) = 0
[pid 18770] gettid()                    = 18770
[pid 18770] clock_gettime(CLOCK_REALTIME, {1326707277, 49445767}) = 0
[pid 18770] nanosleep({0, 100000000},  <unfinished ...>
[pid 18769] <... read resumed> "H", 1)  = 1
[pid 18769] read(12, "T", 1)            = 1
[pid 18769] read(12, "T", 1)            = 1
[pid 18769] read(12, "P", 1)            = 1
[pid 18769] read(12, "/", 1)            = 1
[pid 18769] read(12, "1", 1)            = 1
[pid 18769] read(12, ".", 1)            = 1
[pid 18769] read(12, "1", 1)            = 1
[pid 18769] read(12, " ", 1)            = 1
[pid 18769] read(12, "2", 1)            = 1
[pid 18769] read(12, "0", 1)            = 1
[pid 18769] read(12, "0", 1)            = 1
[pid 18769] read(12, " ", 1)            = 1
[pid 18769] read(12, "O", 1)            = 1
[pid 18769] read(12, "K", 1)            = 1
[pid 18769] read(12, "\r", 1)           = 1
[pid 18769] read(12, "\n", 1)           = 1
[pid 18769] read(12, "C", 1)            = 1
[pid 18769] read(12, "o", 1)            = 1
[pid 18769] read(12, "n", 1)            = 1
[pid 18769] read(12, "t", 1)            = 1
[pid 18769] read(12, "e", 1)            = 1
[pid 18769] read(12, "n", 1)            = 1
[pid 18769] read(12, "t", 1)            = 1
[pid 18769] read(12, "-", 1)            = 1
[pid 18769] read(12, "l", 1)            = 1
[pid 18769] read(12, "e", 1)            = 1
[pid 18769] read(12, "n", 1)            = 1
[pid 18769] read(12, "g", 1)            = 1
[pid 18769] read(12, "t", 1)            = 1
[pid 18769] read(12, "h", 1)            = 1
[pid 18769] read(12, ":", 1)            = 1
[pid 18769] read(12, " ", 1)            = 1
[pid 18769] read(12, "1", 1)            = 1
[pid 18769] read(12, "0", 1)            = 1
[pid 18769] read(12, "7", 1)            = 1
[pid 18769] read(12, "2", 1)            = 1
[pid 18769] read(12, "\r", 1)           = 1
[pid 18769] read(12, "\n", 1)           = 1
[pid 18769] read(12, "E", 1)            = 1
[pid 18769] read(12, "x", 1)            = 1
[pid 18769] read(12, "p", 1)            = 1
[pid 18769] read(12, "i", 1)            = 1
[pid 18769] read(12, "r", 1)            = 1
[pid 18769] read(12, "e", 1)            = 1
[pid 18769] read(12, "s", 1)            = 1
[pid 18769] read(12, ":", 1)            = 1
[pid 18769] read(12, " ", 1)            = 1
[pid 18769] read(12, "-", 1)            = 1
[pid 18769] read(12, "1", 1)            = 1
[pid 18769] read(12, "\r", 1)           = 1
[pid 18769] read(12, "\n", 1)           = 1
[pid 18769] read(12, "C", 1)            = 1
[pid 18769] read(12, "o", 1)            = 1
[pid 18769] read(12, "n", 1)            = 1
[pid 18769] read(12, "t", 1)            = 1
[pid 18769] read(12, "e", 1)            = 1
[pid 18769] read(12, "n", 1)            = 1
[pid 18769] read(12, "t", 1)            = 1
[pid 18769] read(12, "-", 1)            = 1
[pid 18769] read(12, "t", 1)            = 1
[pid 18769] read(12, "y", 1)            = 1
[pid 18769] read(12, "p", 1)            = 1
[pid 18769] read(12, "e", 1)            = 1
[pid 18769] read(12, ":", 1)            = 1
[pid 18769] read(12, " ", 1)            = 1
[pid 18769] read(12, "a", 1)            = 1
[pid 18769] read(12, "p", 1)            = 1
[pid 18769] read(12, "p", 1)            = 1
[pid 18769] read(12, "l", 1)            = 1
[pid 18769] read(12, "i", 1)            = 1
[pid 18769] read(12, "c", 1)            = 1
[pid 18769] read(12, "a", 1)            = 1
[pid 18769] read(12, "t", 1)            = 1
[pid 18769] read(12, "i", 1)            = 1
[pid 18769] read(12, "o", 1)            = 1
[pid 18769] read(12, "n", 1)            = 1
[pid 18769] read(12, "/", 1)            = 1
[pid 18769] read(12, "s", 1)            = 1
[pid 18769] read(12, "x", 1)            = 1
[pid 18769] read(12, "p", 1)            = 1
[pid 18769] read(12, "\r", 1)           = 1
[pid 18769] read(12, "\n", 1)           = 1
[pid 18769] read(12, "P", 1)            = 1
[pid 18769] read(12, "r", 1)            = 1
[pid 18769] read(12, "a", 1)            = 1
[pid 18769] read(12, "g", 1)            = 1
[pid 18769] read(12, "m", 1)            = 1
[pid 18769] read(12, "a", 1)            = 1
[pid 18769] read(12, ":", 1)            = 1
[pid 18769] read(12, " ", 1)            = 1
[pid 18769] read(12, "n", 1)            = 1
[pid 18769] read(12, "o", 1)            = 1
[pid 18769] read(12, "-", 1)            = 1
[pid 18769] read(12, "c", 1)            = 1
[pid 18769] read(12, "a", 1)            = 1
[pid 18769] read(12, "c", 1)            = 1
[pid 18769] read(12, "h", 1)            = 1
[pid 18769] read(12, "e", 1)            = 1
[pid 18769] read(12, "\r", 1)           = 1
[pid 18769] read(12, "\n", 1)           = 1
[pid 18769] read(12, "C", 1)            = 1
[pid 18769] read(12, "a", 1)            = 1
[pid 18769] read(12, "c", 1)            = 1
[pid 18769] read(12, "h", 1)            = 1
[pid 18769] read(12, "e", 1)            = 1
[pid 18769] read(12, "-", 1)            = 1
[pid 18769] read(12, "c", 1)            = 1
[pid 18769] read(12, "o", 1)            = 1
[pid 18769] read(12, "n", 1)            = 1
[pid 18769] read(12, "t", 1)            = 1
[pid 18769] read(12, "r", 1)            = 1
[pid 18769] read(12, "o", 1)            = 1
[pid 18769] read(12, "l", 1)            = 1
[pid 18769] read(12, ":", 1)            = 1
[pid 18769] read(12, " ", 1)            = 1
[pid 18769] read(12, "n", 1)            = 1
[pid 18769] read(12, "o", 1)            = 1
[pid 18769] read(12, "-", 1)            = 1
[pid 18769] read(12, "c", 1)            = 1
[pid 18769] read(12, "a", 1)            = 1
[pid 18769] read(12, "c", 1)            = 1
[pid 18769] read(12, "h", 1)            = 1
[pid 18769] read(12, "e", 1)            = 1
[pid 18769] read(12, "\r", 1)           = 1
[pid 18769] read(12, "\n", 1)           = 1
[pid 18769] read(12, "\r", 1)           = 1
[pid 18769] read(12, "\n", 1)           = 1
[pid 18769] read(12, "(node (system Linux) (host cerih"..., 1072) = 1072
[pid 18769] close(12)                   = 0
[pid 18769] open("/usr/share/locale/locale.alias", O_RDONLY) = 12
[pid 18769] fstat(12, {st_mode=S_IFREG|0644, st_size=2570, ...}) = 0
[pid 18769] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc53eaab000
[pid 18769] read(12, "# Locale name alias data base.\n#"..., 4096) = 2570
[pid 18769] read(12, "", 4096)          = 0
[pid 18769] close(12)                   = 0
[pid 18769] munmap(0x7fc53eaab000, 4096) = 0
[pid 18769] open("/usr/share/locale/en_US/LC_MESSAGES/libvirt.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 18769] open("/usr/share/locale/en/LC_MESSAGES/libvirt.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 18769] gettid()                    = 18769
[pid 18769] clock_gettime(CLOCK_REALTIME, {1326707277, 58946809}) = 0
[pid 18769] gettid()                    = 18769
[pid 18769] clock_gettime(CLOCK_REALTIME, {1326707277, 59051321}) = 0
[pid 18769] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid 18772] <... ???? resumed> )        = ? <unavailable>
[pid 18770] +++ killed by SIGSEGV +++
[pid 18772] +++ killed by SIGSEGV +++





More information about the Pkg-libvirt-maintainers mailing list