[Pkg-libvirt-maintainers] Bug#675059: libvirt-bin: libvirtd doesn't start on >65KiB long dmidecode output

Vlastimil Holer vlastimil.holer at gmail.com
Tue May 29 15:21:31 UTC 2012


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

We have a large SMP systems with 80 cores and 512GiB memory and still many
empty memory slots. Libvirtd from squeeze-backports executes on start
binary "/usr/sbin/dmidecode -q -t 0,1,4,17" which generates a 75KiB long
output on such system. Unfortunately such long output causes problems
to libvirtd which is able to read only a 65KiB. The libvirtd process then
just freezes on startup, leaving rest of dmidecode output unread.

I'm attaching a dmidecode-fake script which generates same output as we get.
Script should be stored as dmidecode on PATH resolved before the usual
/usr/sbin/dmidecode is found.

Only the package 0.9.8 from squeze-backports is affected, stable package
0.8.3 works fine and even testing 0.9.11 looks OK to me.

Look on process list:
24217 pts/4    S+     0:00      \_ strace -fff libvirtd
24218 pts/4    Sl+    0:00          \_ libvirtd
24234 pts/4    S+     0:00              \_ /usr/sbin/dmidecode -q -t 0,1,4,17

End of strace:
$ strace -fff libvirtd
..
[pid 24234] execve("/usr/sbin/dmidecode", ["/usr/sbin/dmidecode", "-q", "-t", "0,1,4,17"], [/* 15 vars */]) = 0
[pid 24234] brk(0)                      = 0x688000
[pid 24234] access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
[pid 24234] mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fea655eb000
[pid 24234] access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
[pid 24234] open("/etc/ld.so.cache", O_RDONLY) = 3
[pid 24234] fstat(3, {st_mode=S_IFREG|0644, st_size=39883, ...}) = 0
[pid 24234] mmap(NULL, 39883, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fea655e1000
[pid 24234] close(3)                    = 0
[pid 24234] access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
[pid 24234] open("/lib/libc.so.6", O_RDONLY) = 3
[pid 24234] read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\355\1\0\0\0\0\0"..., 832) = 832
[pid 24234] fstat(3, {st_mode=S_IFREG|0755, st_size=1437064, ...}) = 0
[pid 24234] mmap(NULL, 3545160, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fea6506e000
[pid 24234] mprotect(0x7fea651c7000, 2093056, PROT_NONE) = 0
[pid 24234] mmap(0x7fea653c6000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x158000) = 0x7fea653c6000
[pid 24234] mmap(0x7fea653cb000, 18504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fea653cb000
[pid 24234] close(3)                    = 0
[pid 24234] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fea655e0000
[pid 24234] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fea655df000
[pid 24234] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fea655de000
[pid 24234] arch_prctl(ARCH_SET_FS, 0x7fea655df700) = 0
[pid 24234] mprotect(0x7fea653c6000, 16384, PROT_READ) = 0
[pid 24234] mprotect(0x7fea655ed000, 4096, PROT_READ) = 0
[pid 24234] munmap(0x7fea655e1000, 39883) = 0
[pid 24234] brk(0)                      = 0x688000
[pid 24234] brk(0x6a9000)               = 0x6a9000
[pid 24234] open("/sys/firmware/efi/systab", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 24234] open("/proc/efi/systab", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 24234] open("/dev/mem", O_RDONLY)  = 3
[pid 24234] mmap(NULL, 65536, PROT_READ, MAP_SHARED, 3, 0xf0000) = 0x7fea655ce000
[pid 24234] munmap(0x7fea655ce000, 65536) = 0
[pid 24234] close(3)                    = 0
[pid 24234] open("/dev/mem", O_RDONLY)  = 3
[pid 24234] mmap(NULL, 27113, PROT_READ, MAP_SHARED, 3, 0x7eba2000) = 0x7fea655d7000
[pid 24234] munmap(0x7fea655d7000, 27113) = 0
[pid 24234] close(3)                    = 0
[pid 24234] fstat(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
[pid 24234] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fea655dd000
[pid 24234] write(1, "Processor Information\n\tSocket De"..., 4096) = 4096
[pid 24229] <... poll resumed> )        = 1 ([{fd=15, revents=POLLIN}])
[pid 24234] write(1, " monitor supported)\n\t\tPBE (Pendi"..., 4096) = 4096
[pid 24229] read(15,  <unfinished ...>
[pid 24234] write(1, "OV (Conditional move instruction"..., 4096 <unfinished ...>
[pid 24229] <... read resumed> "Processor Information\n\tSocket De"..., 1024) = 1024
[pid 24234] <... write resumed> )       = 4096
[pid 24229] read(17,  <unfinished ...>
[pid 24234] write(1, "586\n\tAsset Tag: Unknown\n\tPart Nu"..., 4096) = 4096
[pid 24234] write(1, "Factor: DIMM\n\tSet: 7\n\tLocator: D"..., 4096) = 4096
[pid 24234] write(1, "ous\n\tSpeed: 1333 MHz (0.8 ns)\n\tM"..., 4096) = 4096
[pid 24234] write(1, "M393B5273CH0-YH9  \n\nMemory Devic"..., 4096) = 4096
[pid 24234] write(1, "Set: 27\n\tLocator: DIMM 3\n\tBank L"..., 4096) = 4096
[pid 24234] write(1, "\tSpeed: 1333 MHz (0.8 ns)\n\tManuf"..., 4096) = 4096
[pid 24234] write(1, " Device\n\tTotal Width: 72 bits\n\tD"..., 4096) = 4096
[pid 24234] write(1, " Node 2 Bank 9 MemCard 3\n\tType: "..., 4096) = 4096
[pid 24234] write(1, " Samsung\n\tSerial Number: 53B59D8"..., 4096) = 4096
[pid 24234] write(1, "th: 72 bits\n\tData Width: 64 bits"..., 4096) = 4096
[pid 24234] write(1, " 2 Bank 32 MemCard 8\n\tType: <OUT"..., 4096) = 4096
[pid 24234] write(1, " Detail: Unknown\n\tSpeed: Unknown"..., 4096) = 4096
[pid 24234] write(1, " Unknown\n\tSpeed: Unknown\n\tManufa"..., 4096) = 4096
[pid 24234] write(1, "peed: Unknown\n\tManufacturer: Not"..., 4096   

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

Kernel: Linux 2.6.32-5-amd64 (SMP w/80 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.3-3              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.12.19-1             GNU TLS library - runtime library
ii  libnl1             1.1-6                 library for dealing with netlink s
ii  libnuma1           2.0.8~rc3-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.25.dfsg1-4        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+squeeze4 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 
pn  dnsmasq-base       <none>                (no description available)
pn  ebtables           <none>                (no description available)
pn  gawk               <none>                (no description available)
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+squeeze4 XML utilities
pn  netcat-openbsd     <none>                (no description available)
ii  parted             2.3-5                 The GNU Parted disk partition resi
pn  qemu-kvm | qemu    <none>                (no description available)

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

-- Configuration Files:
/etc/libvirt/libvirtd.conf changed:
unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
listen_tls = 1
listen_tcp = 0
listen_addr = "192.168.0.1"
auth_tcp = "sasl"


-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmidecode-fake
Type: text/x-shellscript
Size: 77289 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-libvirt-maintainers/attachments/20120529/e7cf192e/attachment-0001.bin>


More information about the Pkg-libvirt-maintainers mailing list