On Wed, Jul 30, 2014 at 03:58:43PM -0700, Zetan Drableg wrote:> [00183ms] /usr/libexec/qemu-kvm \ > -global virtio-blk-pci.scsi=off \ > -nodefconfig \ > -nodefaults \ > -nographic \ > -machine accel=kvm:tcg \ > -cpu host,+kvmclock \ > -m 500 \ > -no-reboot \ > -kernel /var/tmp/.guestfs-0/kernel.47903 \ > -initrd /var/tmp/.guestfs-0/initrd.47903 \ > -device virtio-scsi-pci,id=scsi \ > -drive file=/tmp/libguestfs-test-tool-sda-Iakpwe,cache=none,format > =raw,id=hd0,if=none \ > -device scsi-hd,drive=hd0 \ > -drive file=/var/tmp/.guestfs-0/root.47903,snapshot=on,id=appliance, > if=none,cache=unsafe \ > -device scsi-hd,drive=appliance \ > -device virtio-serial \ > -serial stdio \ > -device sga \ > -chardev socket,path=/tmp/libguestfspx9994/guestfsd.sock,id=channel0 > \ > -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 > \ > -append 'panic=1 console=ttyS0 udevtimeout=600 no_timer_check > acpi=off printk.time=1 cgroup_disable=memory root=/dev/sdb selinux=0 > guestfs_verbose=1 TERM=xterm edd=off' > \x1b[1;256r\x1b[256;256H\x1b[6n > Google, Inc. > Serial Graphics Adapter 10/14/11 > SGABIOS $Id: sgabios.S 8 2010-04-22 00:03:40Z nlaredo $ (mockbuild@ > ca-build44.us.oracle.com) Fri Oct 14 20:04:36 UTC 2011 > Term: 80x24 > 4 0 > SeaBIOS (version seabios-0.6.1.2-28.el6) > \x1b[2J > > At this point it hangs forever.These hangs can be tricky to diagnose. There are a couple of things you can do however: (1) strace qemu to find out what it is doing, or: (2) [harder, but much more informative] gdb into the guest to find out where the guest hangs, or: (3) Take the command line above, and cut it down to try to isolate the problematic options. I would concentrate on the following options as being most likely to cause trouble: -cpu -machine -kernel -device sga (remove it) For (1) and (2) you can use a qemu wrapper to modify the qemu command that the test tool runs. See also: http://libguestfs.org/guestfs.3.html#qemu-wrappers http://rwmj.wordpress.com/2011/10/12/tip-debugging-the-early-boot-process-with-qemu-and-gdb/#content Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
Hi Richard thanks for the info. I took the strace approach and ran into this looping over and over again. Is it failing to get time? timer_gettime(0x8, {it_interval={0, 0}, it_value={0, 0}}) = 0 timer_settime(0x8, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0 timer_gettime(0x8, {it_interval={0, 0}, it_value={0, 204443}}) = 0 select(16, [0 6 9 13 15], [], [], {1, 0}) = 2 (in [6 13], left {0, 999998}) read(13, "\1\0\0\0\0\0\0\0", 4096) = 8 read(13, 0x7fffa2ed3f70, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(6, "\0", 512) = 1 read(6, 0x7fffa2ed4d70, 512) = -1 EAGAIN (Resource temporarily unavailable) select(16, [0 6 9 13 15], [], [], {1, 0}) = 1 (in [15], left {0, 999998}) read(15, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0"..., 128) = 128 rt_sigaction(SIGALRM, NULL, {0x7f6d8b8d17d0, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f6d8b211710}, 8) = 0 write(7, "\0", 1) = 1 write(14, "\1\0\0\0\0\0\0\0", 8) = 8 read(15, 0x7fffa2ed4ee0, 128) = -1 EAGAIN (Resource temporarily unavailable) timer_gettime(0x8, {it_interval={0, 0}, it_value={0, 0}}) = 0 timer_settime(0x8, 0, {it_interval={0, 0}, it_value={0, 988758000}}, NULL) = 0 select(16, [0 6 9 13 15], [], [], {1, 0}) = 2 (in [6 13], left {0, 999998}) read(13, "\1\0\0\0\0\0\0\0", 4096) = 8 read(13, 0x7fffa2ed3f70, 4096) = -1 EAGAIN (Resource temporarily unavailable) read(6, "\0", 512) = 1 read(6, 0x7fffa2ed4d70, 512) = -1 EAGAIN (Resource temporarily unavailable) It looks a lot like the bug you filed here. https://bugzilla.redhat.com/show_bug.cgi?id=553689 There are quite a few hits on this trace but nothing real specific. -Zetan On Thu, Jul 31, 2014 at 4:31 AM, Richard W.M. Jones <rjones@redhat.com> wrote:> On Wed, Jul 30, 2014 at 03:58:43PM -0700, Zetan Drableg wrote: >> [00183ms] /usr/libexec/qemu-kvm \ >> -global virtio-blk-pci.scsi=off \ >> -nodefconfig \ >> -nodefaults \ >> -nographic \ >> -machine accel=kvm:tcg \ >> -cpu host,+kvmclock \ >> -m 500 \ >> -no-reboot \ >> -kernel /var/tmp/.guestfs-0/kernel.47903 \ >> -initrd /var/tmp/.guestfs-0/initrd.47903 \ >> -device virtio-scsi-pci,id=scsi \ >> -drive file=/tmp/libguestfs-test-tool-sda-Iakpwe,cache=none,format >> =raw,id=hd0,if=none \ >> -device scsi-hd,drive=hd0 \ >> -drive file=/var/tmp/.guestfs-0/root.47903,snapshot=on,id=appliance, >> if=none,cache=unsafe \ >> -device scsi-hd,drive=appliance \ >> -device virtio-serial \ >> -serial stdio \ >> -device sga \ >> -chardev socket,path=/tmp/libguestfspx9994/guestfsd.sock,id=channel0 >> \ >> -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 >> \ >> -append 'panic=1 console=ttyS0 udevtimeout=600 no_timer_check >> acpi=off printk.time=1 cgroup_disable=memory root=/dev/sdb selinux=0 >> guestfs_verbose=1 TERM=xterm edd=off' >> \x1b[1;256r\x1b[256;256H\x1b[6n >> Google, Inc. >> Serial Graphics Adapter 10/14/11 >> SGABIOS $Id: sgabios.S 8 2010-04-22 00:03:40Z nlaredo $ (mockbuild@ >> ca-build44.us.oracle.com) Fri Oct 14 20:04:36 UTC 2011 >> Term: 80x24 >> 4 0 >> SeaBIOS (version seabios-0.6.1.2-28.el6) >> \x1b[2J >> >> At this point it hangs forever. > > These hangs can be tricky to diagnose. > > There are a couple of things you can do however: > > (1) strace qemu to find out what it is doing, or: > > (2) [harder, but much more informative] gdb into the guest to find out > where the guest hangs, or: > > (3) Take the command line above, and cut it down to try to isolate the > problematic options. I would concentrate on the following options as > being most likely to cause trouble: > > -cpu > -machine > -kernel > -device sga (remove it) > > For (1) and (2) you can use a qemu wrapper to modify the qemu command > that the test tool runs. > > See also: > > http://libguestfs.org/guestfs.3.html#qemu-wrappers > > http://rwmj.wordpress.com/2011/10/12/tip-debugging-the-early-boot-process-with-qemu-and-gdb/#content > > Rich. > > -- > Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones > Read my programming and virtualization blog: http://rwmj.wordpress.com > virt-builder quickly builds VMs from scratch > http://libguestfs.org/virt-builder.1.html
On Thu, Jul 31, 2014 at 12:12:26PM -0700, Zetan Drableg wrote:> Hi Richard thanks for the info. > I took the strace approach and ran into this looping over and over again. > Is it failing to get time? > > timer_gettime(0x8, {it_interval={0, 0}, it_value={0, 0}}) = 0 > timer_settime(0x8, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0 > timer_gettime(0x8, {it_interval={0, 0}, it_value={0, 204443}}) = 0 > select(16, [0 6 9 13 15], [], [], {1, 0}) = 2 (in [6 13], left {0, 999998}) > read(13, "\1\0\0\0\0\0\0\0", 4096) = 8 > read(13, 0x7fffa2ed3f70, 4096) = -1 EAGAIN (Resource > temporarily unavailable) > read(6, "\0", 512) = 1 > read(6, 0x7fffa2ed4d70, 512) = -1 EAGAIN (Resource > temporarily unavailable) > select(16, [0 6 9 13 15], [], [], {1, 0}) = 1 (in [15], left {0, 999998}) > read(15, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0"..., > 128) = 128 > rt_sigaction(SIGALRM, NULL, {0x7f6d8b8d17d0, ~[KILL STOP RTMIN RT_1], > SA_RESTORER, 0x7f6d8b211710}, 8) = 0 > write(7, "\0", 1) = 1 > write(14, "\1\0\0\0\0\0\0\0", 8) = 8 > read(15, 0x7fffa2ed4ee0, 128) = -1 EAGAIN (Resource > temporarily unavailable) > timer_gettime(0x8, {it_interval={0, 0}, it_value={0, 0}}) = 0 > timer_settime(0x8, 0, {it_interval={0, 0}, it_value={0, 988758000}}, NULL) = 0 > select(16, [0 6 9 13 15], [], [], {1, 0}) = 2 (in [6 13], left {0, 999998}) > read(13, "\1\0\0\0\0\0\0\0", 4096) = 8 > read(13, 0x7fffa2ed3f70, 4096) = -1 EAGAIN (Resource > temporarily unavailable) > read(6, "\0", 512) = 1 > read(6, 0x7fffa2ed4d70, 512) = -1 EAGAIN (Resource > temporarily unavailable) > > It looks a lot like the bug you filed here. > https://bugzilla.redhat.com/show_bug.cgi?id=553689I'm fairly sure this is just qemu running as normal. It's not a duplicate of that ancient bug, because you can see from the messages that SeaBIOS is running. You need to `gdb' into the guest to see where the emulation got to. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top