Public bug reported:

The dom0 host is a fresh install of Ubuntu Lucid

ii  qemu-kvm                            0.12.3+noroms-0ubuntu4                  
ii  libvirt-bin                         0.7.5-5ubuntu17                         
ii  libvirt0                            0.7.5-5ubuntu17                         

kernel 2.6.32-18-generic-pae

The domU is a Ubuntu Lucid created with ubuntu-vm-builder:

ubuntu-vm-builder kvm lucid \
  --domain vm2 --dest vm2 --hostname vm2 \
  --mem 256 --user user --pass password \
  --ip 10.0.24.200 --mask 255.255.255.0 --net 10.0.24.0 \
  --bcast 10.0.24.255 --gw 10.0.24.253 --dns 10.0.5.220 --bridge=br0 \
  --libvirt qemu:///system \
  --addpkg openssh-server \
  --addpkg acpid \
  --addpkg acpi-support \
  --addpkg screen

virsh suspend/restore works ok.
virsh save domain /tmp/domain.state works ok
virsh restore /tmp/domain.state claims to work, but then connect via vnc, or 
serial console reveals a "hung" guest, unsreponsive to any input.

This is different than a previously reported kernel panic in the guest.

The kvm process on dom0 is consuming 100% of cpu.

Stracing the process reveals...

8949  ioctl(13, 0xae80, 0)              = 0
8938  <... select resumed> )            = 1 (in [18], left {0, 970198})
8949  ioctl(13, 0xae80 <unfinished ...>
8938  read(18,  <unfinished ...>
8949  <... ioctl resumed> , 0)          = 0
8938  <... read resumed> "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\
0\0\0\0\0\0\0\0\0\0"..., 128) = 128
8949  futex(0x825f804, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
8938  rt_sigaction(SIGALRM, NULL, {0x80524e0, ~[KILL STOP RTMIN RT_1], 0}, 8) = 
0
8938  write(8, "\0", 1)                 = 1
8938  write(17, "\1\0\0\0\0\0\0\0", 8)  = 8
8938  read(18, 0xbfc53adc, 128)         = -1 EAGAIN (Resource temporarily 
unavailable)
8938  gettimeofday({1270498070, 605367}, NULL) = 0
8938  clock_gettime(CLOCK_MONOTONIC, {351575, 67115276}) = 0
8938  timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0
8938  timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0
8938  clock_gettime(CLOCK_MONOTONIC, {351575, 67249930}) = 0
8938  clock_gettime(CLOCK_MONOTONIC, {351575, 67289879}) = 0
8938  clock_gettime(CLOCK_MONOTONIC, {351575, 67329828}) = 0
8938  gettimeofday({1270498070, 605665}, NULL) = 0
8938  clock_gettime(CLOCK_MONOTONIC, {351575, 67409796}) = 0
8938  timer_gettime(0, {it_interval={0, 0}, it_value={0, 13378}}) = 0
8938  gettimeofday({1270498070, 605791}, NULL) = 0
8938  futex(0x825f804, FUTEX_WAKE_PRIVATE, 1) = 1
8949  <... futex resumed> )             = 0
8938  select(67, [7 10 14 15 16 18 19 66], [], [], {1, 0} <unfinished ...>
8949  futex(0x825f804, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
8938  <... select resumed> )            = 3 (in [7 16 18], left {0, 999996})
8949  <... futex resumed> )             = 0
8938  read(18,  <unfinished ...>
8949  ioctl(13, 0xae80 <unfinished ...>
8938  <... read resumed> 
"\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 
128) = 128
8949  <... ioctl resumed> , 0)          = 0
8938  rt_sigaction(SIGALRM, NULL,  <unfinished ...>
8949  futex(0x825f804, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
8938  <... rt_sigaction resumed> {0x80524e0, ~[KILL STOP RTMIN RT_1], 0}, 8) = 0
8938  write(8, "\0", 1)                 = 1
8938  write(17, "\1\0\0\0\0\0\0\0", 8)  = 8
8938  read(18, 0xbfc53adc, 128)         = -1 EAGAIN (Resource temporarily 
unavailable)
8938  read(16, "\2\0\0\0\0\0\0\0", 4096) = 8
8938  read(16, 0xbfc52b6c, 4096)        = -1 EAGAIN (Resource temporarily 
unavailable)
8938  read(7, "\0\0", 512)              = 2
8938  read(7, 0xbfc5396c, 512)          = -1 EAGAIN (Resource temporarily 
unavailable)
8938  gettimeofday({1270498070, 606443}, NULL) = 0
8938  clock_gettime(CLOCK_MONOTONIC, {351575, 68189924}) = 0
8938  timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0
8938  timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 29000000}}, NULL) = 0
8938  clock_gettime(CLOCK_MONOTONIC, {351575, 68325486}) = 0
8938  clock_gettime(CLOCK_MONOTONIC, {351575, 68367321}) = 0
8938  gettimeofday({1270498070, 606704}, NULL) = 0
8938  futex(0x825f804, FUTEX_WAKE_PRIVATE, 1) = 1
8949  <... futex resumed> )             = 0
8938  select(67, [7 10 14 15 16 18 19 66], [], [], {1, 0} <unfinished ...>
8949  futex(0x825f804, FUTEX_WAKE_PRIVATE, 1) = 0
8949  ioctl(13, 0xae80, 0)              = 0
8949  ioctl(13, 0xae80, 0)              = 0
8949  ioctl(13, 0xae80, 0)              = 0
8949  ioctl(13, 0xae80, 0)              = 0
8949  ioctl(13, 0xae80, 0)              = 0


Those file descriptors are:


# ls -l /proc/8938/fd
total 0
lr-x------ 1 root root 64 2010-04-05 15:08 0 -> /tmp/52.state
l-wx------ 1 root root 64 2010-04-05 15:08 1 -> /var/log/libvirt/qemu/one-52.log
lrwx------ 1 root root 64 2010-04-05 15:08 10 -> anon_inode:[signalfd]
lrwx------ 1 root root 64 2010-04-05 15:08 11 -> /root/52/disk.1
lrwx------ 1 root root 64 2010-04-05 15:08 12 -> /root/52/disk.2
lrwx------ 1 root root 64 2010-04-05 15:08 13 -> anon_inode:kvm-vcpu
lrwx------ 1 root root 64 2010-04-05 15:08 14 -> socket:[3817853]
lrwx------ 1 root root 64 2010-04-05 15:08 15 -> socket:[3817861]
lrwx------ 1 root root 64 2010-04-05 15:08 16 -> anon_inode:[eventfd]
lrwx------ 1 root root 64 2010-04-05 15:08 17 -> anon_inode:[eventfd]
lrwx------ 1 root root 64 2010-04-05 15:08 18 -> anon_inode:[signalfd]
lrwx------ 1 root root 64 2010-04-05 15:08 19 -> socket:[3818303]
l-wx------ 1 root root 64 2010-04-05 15:08 2 -> /var/log/libvirt/qemu/one-52.log
lrwx------ 1 root root 64 2010-04-05 15:08 3 -> socket:[3817846]
lrwx------ 1 root root 64 2010-04-05 15:08 4 -> /dev/ptmx
lrwx------ 1 root root 64 2010-04-05 15:08 5 -> /dev/kvm
lrwx------ 1 root root 64 2010-04-05 15:08 6 -> anon_inode:kvm-vm
lrwx------ 1 root root 64 2010-04-05 15:08 66 -> /dev/net/tun
lr-x------ 1 root root 64 2010-04-05 15:08 7 -> pipe:[3817851]
l-wx------ 1 root root 64 2010-04-05 15:08 8 -> pipe:[3817851]
lrwx------ 1 root root 64 2010-04-05 15:08 9 -> /root/52/disk.0


Looks very similar to this:

http://www.mail-archive.com/k...@vger.kernel.org/msg21669.html

Same results with libvirt 0.7.7

** Affects: libvirt (Ubuntu)
     Importance: Undecided
         Status: New

-- 
Restoring KVM guest from saved state results in hung guest
https://bugs.launchpad.net/bugs/555981
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to libvirt in ubuntu.

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to