Bug 860953

Summary: F17 + virt-manager + win2008 + qxl drivers + spice = frequent freezes
Product: [Fedora] Fedora Reporter: Dave Hatton <bugzilla>
Component: qemuAssignee: Fedora Virtualization Maintainers <virt-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 17CC: alevy, amit.shah, berrange, cfergeau, crobinso, dwmw2, hbrock, itamar, jforbes, knoel, pbonzini, rjones, scottt.tw, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-17 16:08:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
qemu stack trace 1
none
qemu stack trace 2
none
qemu stack trace 3
none
Dave.xml altered to use pc-1.0 none

Description Dave Hatton 2012-09-27 07:50:06 UTC
Description of problem:
virt-manager display to a MS windows guest frequently and randomly freezes. Force closing virt-manager window and restarting allows me to continue. Sometimes I am unbale to switch workspaces in Gnome3 until the virt-manager window is force closed.

Version-Release number of selected component (if applicable):
libvirt-client-0.9.11.5-3.fc17.x86_64
qemu-kvm-1.0.1-1.fc17.x86_64
spice-gtk-python-0.12-5.fc17.x86_64
libvirt-daemon-config-nwfilter-0.9.11.5-3.fc17.x86_64
spice-server-0.10.1-5.fc17.x86_64
libvirt-0.9.11.5-3.fc17.x86_64
libvirt-python-0.9.11.5-3.fc17.x86_64
libvirt-daemon-0.9.11.5-3.fc17.x86_64
spice-glib-0.12-5.fc17.x86_64
spice-gtk-debuginfo-0.12-5.fc17.x86_64
xorg-x11-drv-qxl-0.0.22-0.fc17.x86_64
spice-client-0.10.1-5.fc17.x86_64
libvirt-daemon-config-network-0.9.11.5-3.fc17.x86_64
libvirt-debuginfo-0.9.11.5-3.fc17.x86_64
spice-gtk-tools-0.12-5.fc17.x86_64
spice-vdagent-0.10.1-1.fc17.x86_64
spice-gtk-0.12-5.fc17.x86_64
spice-gtk3-0.12-5.fc17.x86_64


How reproducible:
Just normal use of a virtual display within virt-manager

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
Stack Trace:
Thread 1 (Thread 0x7fcbc86c7740 (LWP 373)):
#0  0x00000035118e8bcf in __GI___poll (fds=<optimized out>, 
    nfds=<optimized out>, timeout=<optimized out>)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003513847af4 in g_main_context_poll (n_fds=17, fds=0x2ae0a30, 
    timeout=937, context=0x1208eb0, priority=<optimized out>) at gmain.c:3440
#2  g_main_context_iterate (context=0x1208eb0, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3141
#3  0x0000003513847f52 in g_main_loop_run (loop=0x1e197d0) at gmain.c:3340
#4  0x000000352114ac57 in IA__gtk_main () at gtkmain.c:1257
#5  0x00007fcbbfc095a8 in _wrap_gtk_main (self=<optimized out>)
    at ./gtk.override:1240
#6  0x00000035148dce36 in call_function (oparg=<optimized out>, pp_stack=
    0x7fff87004848) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4082
#7  PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740
#8  0x00000035148dcd51 in fast_function (nk=<optimized out>, na=0, 
    n=<optimized out>, pp_stack=0x7fff87004a48, func=
    <function at remote 0xd0e5f0>)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:4184
#9  call_function (oparg=<optimized out>, pp_stack=0x7fff87004a48)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:4119
#10 PyEval_EvalFrameEx (f=f@entry=
    Frame 0xc33f50, for file /usr/share/virt-manager/virt-manager.py, line 386, in <module> (), throwflag=throwflag@entry=0)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740
#11 0x00000035148ddb1f in PyEval_EvalCodeEx (co=co@entry=0x7fcbc85c8130, 
    globals=globals@entry=
    {'setup_pypath': <function at remote 0xd0e140>, 'launch_specific_window': <function at remote 0xd0e320>, 'libvirt_packages': ['libvirt'], 'askpass_package': ['openssh-askpass'], 'preferred_distros': ['fedora', 'rhel'], '__name__': '__main__', 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0xf00810>, __doc__=<gobject.GObject.__doc__ at remote 0x7fcbc864a0d0>, __module__='gtk') at remote 0xffa710>, 'rhel_enable_unsupported_opts': True, 'GPollableOutputStream': <type at remote 0xf4d970>, '_show_startup_error': <function at remote 0xd0e0c8>, 'appname': 'virt-manager', 'gettext_dir': '/usr/share/locale', 'gtk': <module at remote 0xe4b0c0>, 'asset_dir': '/usr/share/virt-manager', '__package__': None, 'optparse': <module at remote 0xc8e1a0>, 'icon_dir': '/usr/share/virt-manager/icons', 'main': <function at remote 0xd0e5f0>, '__doc__': None, 'gettext_app': 'virt-manager', 'show_engine': <function at remote 0xd0e410>, 'ui_dir': '/usr/share/virt-manager', '_conn_state_changed': <function at remote...(truncated), locals=locals@entry=
    {'setup_pypath': <function at remote 0xd0e140>, 'launch_specific_window': <function at remote 0xd0e320>, 'libvirt_packages': ['libvirt'], 'askpass_package': ['openssh-askpass'], 'preferred_distros': ['fedora', 'rhel'], '__name__': '__main__', 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0xf00810>, __doc__=<gobject.GObject.__doc__ at remote 0x7fcbc864a0d0>, __module__='gtk') at remote 0xffa710>, 'rhel_enable_unsupported_opts': True, 'GPollableOutputStream': <type at remote 0xf4d970>, '_show_startup_error': <function at remote 0xd0e0c8>, 'appname': 'virt-manager', 'gettext_dir': '/usr/share/locale', 'gtk': <module at remote 0xe4b0c0>, 'asset_dir': '/usr/share/virt-manager', '__package__': None, 'optparse': <module at remote 0xc8e1a0>, 'icon_dir': '/usr/share/virt-manager/icons', 'main': <function at remote 0xd0e5f0>, '__doc__': None, 'gettext_app': 'virt-manager', 'show_engine': <function at remote 0xd0e410>, 'ui_dir': '/usr/share/virt-manager', '_conn_state_changed': <function at remote...(truncated), args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, 
    kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, 
    closure=closure@entry=0x0)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:3330
#12 0x00000035148ddbf2 in PyEval_EvalCode (co=co@entry=0x7fcbc85c8130, 
    globals=globals@entry=
    {'setup_pypath': <function at remote 0xd0e140>, 'launch_specific_window': <function at remote 0xd0e320>, 'libvirt_packages': ['libvirt'], 'askpass_package': ['openssh-askpass'], 'preferred_distros': ['fedora', 'rhel'], '__name__': '__main__', 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0xf00810>, __doc__=<gobject.GObject.__doc__ at remote 0x7fcbc864a0d0>, __module__='g---Type <return> to continue, or q <return> to quit---
tk') at remote 0xffa710>, 'rhel_enable_unsupported_opts': True, 'GPollableOutputStream': <type at remote 0xf4d970>, '_show_startup_error': <function at remote 0xd0e0c8>, 'appname': 'virt-manager', 'gettext_dir': '/usr/share/locale', 'gtk': <module at remote 0xe4b0c0>, 'asset_dir': '/usr/share/virt-manager', '__package__': None, 'optparse': <module at remote 0xc8e1a0>, 'icon_dir': '/usr/share/virt-manager/icons', 'main': <function at remote 0xd0e5f0>, '__doc__': None, 'gettext_app': 'virt-manager', 'show_engine': <function at remote 0xd0e410>, 'ui_dir': '/usr/share/virt-manager', '_conn_state_changed': <function at remote...(truncated), locals=locals@entry=
    {'setup_pypath': <function at remote 0xd0e140>, 'launch_specific_window': <function at remote 0xd0e320>, 'libvirt_packages': ['libvirt'], 'askpass_package': ['openssh-askpass'], 'preferred_distros': ['fedora', 'rhel'], '__name__': '__main__', 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0xf00810>, __doc__=<gobject.GObject.__doc__ at remote 0x7fcbc864a0d0>, __module__='gtk') at remote 0xffa710>, 'rhel_enable_unsupported_opts': True, 'GPollableOutputStream': <type at remote 0xf4d970>, '_show_startup_error': <function at remote 0xd0e0c8>, 'appname': 'virt-manager', 'gettext_dir': '/usr/share/locale', 'gtk': <module at remote 0xe4b0c0>, 'asset_dir': '/usr/share/virt-manager', '__package__': None, 'optparse': <module at remote 0xc8e1a0>, 'icon_dir': '/usr/share/virt-manager/icons', 'main': <function at remote 0xd0e5f0>, '__doc__': None, 'gettext_app': 'virt-manager', 'show_engine': <function at remote 0xd0e410>, 'ui_dir': '/usr/share/virt-manager', '_conn_state_changed': <function at remote...(truncated)) at /usr/src/debug/Python-2.7.3/Python/ceval.c:689
#13 0x00000035148f6b9a in run_mod (mod=<optimized out>, 
    filename=filename@entry=
    0x7fff87005938 "/usr/share/virt-manager/virt-manager.py", 
    globals=globals@entry=
    {'setup_pypath': <function at remote 0xd0e140>, 'launch_specific_window': <function at remote 0xd0e320>, 'libvirt_packages': ['libvirt'], 'askpass_package': ['openssh-askpass'], 'preferred_distros': ['fedora', 'rhel'], '__name__': '__main__', 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0xf00810>, __doc__=<gobject.GObject.__doc__ at remote 0x7fcbc864a0d0>, __module__='gtk') at remote 0xffa710>, 'rhel_enable_unsupported_opts': True, 'GPollableOutputStream': <type at remote 0xf4d970>, '_show_startup_error': <function at remote 0xd0e0c8>, 'appname': 'virt-manager', 'gettext_dir': '/usr/share/locale', 'gtk': <module at remote 0xe4b0c0>, 'asset_dir': '/usr/share/virt-manager', '__package__': None, 'optparse': <module at remote 0xc8e1a0>, 'icon_dir': '/usr/share/virt-manager/icons', 'main': <function at remote 0xd0e5f0>, '__doc__': None, 'gettext_app': 'virt-manager', 'show_engine': <function at remote 0xd0e410>, 'ui_dir': '/usr/share/virt-manager', '_conn_state_changed': <function at remote...(truncated), locals=locals@entry=
    {'setup_pypath': <function at remote 0xd0e140>, 'launch_specific_window': <function at remote 0xd0e320>, 'libvirt_packages': ['libvirt'], 'askpass_package': ['openssh-askpass'], 'preferred_distros': ['fedora', 'rhel'], '__name__': '__main__', 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0xf00810>, __doc__=<gobject.GObject.__doc__ at remote 0x7fcbc864a0d0>, __module__='gtk') at remote 0xffa710>, 'rhel_enable_unsupported_opts': True, 'GPollableOutputStream': <type at remote 0xf4d970>, '_show_startup_error': <function at remote 0xd0e0c8>, 'appname': 'virt-manager', 'gettext_dir': '/usr/share/locale', 'gtk': <module at remote 0xe4b0c0>, 'asset_dir': '/usr/share/virt-manager', '__package__': None, 'optparse': <module at remote 0xc8e1a0>, 'icon_dir': '/usr/share/virt-manager/icons', 'main': <function at remote 0xd0e5f0>, '__doc__': None, 'gettext_app': 'virt-manager', 'show_engine': <function at remote 0xd0e410>, 'ui_dir': '/usr/share/virt-manager', '_conn_state_changed': <function at remote...(truncated), flags=flags@entry=0x7fff87004cc0, arena=arena@entry=0xc072d0)
    at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:1361
#14 0x00000035148f7992 in PyRun_FileExFlags (fp=fp@entry=0xc2df70, 
    filename=filename@entry=
    0x7fff87005938 "/usr/share/virt-manager/virt-manager.py", 
    start=start@entry=257, globals=globals@entry=
    {'setup_pypath': <function at remote 0xd0e140>, 'launch_specific_window': <function at remote 0xd0e320>, 'libvirt_packages': ['libvirt'], 'askpass_package': ['openssh-askpass'], 'preferred_distros': ['fedora', 'rhel'], '__name__': '__main__', 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0xf00810>, __doc__=<gobject.GObject.__doc__ at remote 0x7fcbc864a0d0>, __module__='gtk') at remote 0xffa710>, 'rhel_enable_unsupported_opts': True, 'GPollableOutputStream': <type at remote 0xf4d970>, '_show_startup_error': <function at remote 0---Type <return> to continue, or q <return> to quit---
xd0e0c8>, 'appname': 'virt-manager', 'gettext_dir': '/usr/share/locale', 'gtk': <module at remote 0xe4b0c0>, 'asset_dir': '/usr/share/virt-manager', '__package__': None, 'optparse': <module at remote 0xc8e1a0>, 'icon_dir': '/usr/share/virt-manager/icons', 'main': <function at remote 0xd0e5f0>, '__doc__': None, 'gettext_app': 'virt-manager', 'show_engine': <function at remote 0xd0e410>, 'ui_dir': '/usr/share/virt-manager', '_conn_state_changed': <function at remote...(truncated), locals=locals@entry=
    {'setup_pypath': <function at remote 0xd0e140>, 'launch_specific_window': <function at remote 0xd0e320>, 'libvirt_packages': ['libvirt'], 'askpass_package': ['openssh-askpass'], 'preferred_distros': ['fedora', 'rhel'], '__name__': '__main__', 'GInitiallyUnowned': <GObjectMeta(__gtype__=<gobject.GType at remote 0xf00810>, __doc__=<gobject.GObject.__doc__ at remote 0x7fcbc864a0d0>, __module__='gtk') at remote 0xffa710>, 'rhel_enable_unsupported_opts': True, 'GPollableOutputStream': <type at remote 0xf4d970>, '_show_startup_error': <function at remote 0xd0e0c8>, 'appname': 'virt-manager', 'gettext_dir': '/usr/share/locale', 'gtk': <module at remote 0xe4b0c0>, 'asset_dir': '/usr/share/virt-manager', '__package__': None, 'optparse': <module at remote 0xc8e1a0>, 'icon_dir': '/usr/share/virt-manager/icons', 'main': <function at remote 0xd0e5f0>, '__doc__': None, 'gettext_app': 'virt-manager', 'show_engine': <function at remote 0xd0e410>, 'ui_dir': '/usr/share/virt-manager', '_conn_state_changed': <function at remote...(truncated), closeit=closeit@entry=1, flags=flags@entry=0x7fff87004cc0)
    at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:1347
#15 0x00000035148f83ab in PyRun_SimpleFileExFlags (fp=fp@entry=0xc2df70, 
    filename=0x7fff87005938 "/usr/share/virt-manager/virt-manager.py", closeit=
    1, flags=flags@entry=0x7fff87004cc0)
    at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:951
#16 0x00000035148f8fe9 in PyRun_AnyFileExFlags (fp=fp@entry=0xc2df70, 
    filename=<optimized out>, closeit=<optimized out>, flags=flags@entry=
    0x7fff87004cc0) at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:755
#17 0x0000003514909882 in Py_Main (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/Python-2.7.3/Modules/main.c:639
#18 0x0000003511821735 in __libc_start_main (main=0x4006c0 <main>, argc=2, 
    ubp_av=0x7fff87004e78, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fff87004e68) at libc-start.c:226
#19 0x00000000004006f1 in _start ()

Comment 1 Cole Robinson 2012-10-14 01:16:43 UTC
Hi Dave, thanks for the report.

Can you post the VM config? sudo virsh dumpxml $vmname
What windows version is the guest? Are you using qxl drivers in the guest?

Comment 2 Dave Hatton 2012-10-14 10:16:36 UTC
Hi Cole,

I was using qxl and after finding Bug 750773 I tried using this ...

<clock offset="utc">   (change 'utc' to 'localtime' for Windows)
   <timer name="rtc" tickpolicy="catchup"/>
   <timer name="pit" tickpolicy="delay"/>
</clock>

but unfortunately, I still experienced the same freezes.

I have recently switched to vmvga which (unscientifically) seems to have improved the situation,but I would rather use qxl as it allows for a higher screen resolution.

The windows version is Windows 2008 server R2


Here is the dumpxml

<domain type='kvm'>
  <name>Dave</name>
  <uuid>e6961d05-dc8f-c67e-6527-3006c37d1d3c</uuid>
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <vcpu current='1'>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc-0.14'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/data/VMs/storage-pool-01/Dave-1.img'/>
      <target dev='hda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='usb' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <interface type='direct'>
      <mac address='52:54:00:bb:aa:f5'/>
      <source dev='em1' mode='vepa'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='spice' autoport='yes'/>
    <sound model='ich6'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' vram='65536' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
</domain>

Comment 3 Cole Robinson 2012-10-14 16:42:17 UTC
Yeah this is likely a qxl related issue, we've had similar problems in the past.

Did you install the windows QXL drivers inside the guest, or is it a stock windows 2008 install?

Comment 4 Dave Hatton 2012-10-14 17:45:33 UTC
Its the QXL driver

Red Hat 6.1.0.10012  5/10/2011

I got these from

http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-30.iso



I have looked for new versions but couldn't find any.

Just for completeness the Guest OS is Windows 2008 server R2 SP1 64bit.

Comment 5 Cole Robinson 2012-10-14 17:51:09 UTC
Okay, thanks for the info Dave. Reassigning to qemu which is basically what we use for virtio-win issues, as this is either a bug there or in qemu.

Alon, heard any reports like this? Sounds similar to the xorg qxl + qemu + virt-manager hangs we had a while back.

Comment 6 Alon Levy 2012-10-14 18:30:12 UTC
(In reply to comment #5)
> Okay, thanks for the info Dave. Reassigning to qemu which is basically what
> we use for virtio-win issues, as this is either a bug there or in qemu.
> 
> Alon, heard any reports like this? Sounds similar to the xorg qxl + qemu +
> virt-manager hangs we had a while back.

It seems to be the same thing, although without a stacktrace of qemu I can't confirm. But it is supported by the Machine being pc-0.14 which sets the qxl device revision to 2, which is too low and would cause the known freeze because of a deadlock between virt-viewer, qemu & libvirtd.

Please:
 1. provide a stacktrace of qemu when a freeze happens, before closing virt-viewer.
 2. provide version of windows qxl driver used in guest.
 3. change machine type to pc-0.15 or manually add to the vm definition (maybe you need this machine type):
  change the first line to include the qemu namespace:
  <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  
  add later a qemu:commandline section:

  <qemu:commandline>
    <qemu:arg value='-global'/>
    <qemu:arg value='qxl-vga.revision=3'/>
  </qemu:commandline>

Alon

Comment 7 Dave Hatton 2012-10-15 08:10:27 UTC
Created attachment 627235 [details]
qemu stack trace 1

stack trace of qemu during freeze

Comment 8 Dave Hatton 2012-10-15 08:23:00 UTC
Created attachment 627237 [details]
qemu stack trace 2

qemu stack trace of freeze

Comment 9 Dave Hatton 2012-10-15 08:23:37 UTC
Created attachment 627238 [details]
qemu stack trace 3

qemu stack trace of freeze

Comment 10 Dave Hatton 2012-10-15 08:28:06 UTC
Hi Alon,

1. I have attached a some track traces generated during these freezes.

2. The version of the driver is

QXL Red Hat 6.1.0.10012  5/10/2011

I got it from

http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-30.iso.

3. I have no reason that I know to use a certain machine type.
I wasn't aware that the guest OS (Win Server 2008 R2 SP1 64bit) required a certain machine. I guess this hasn't updated over the years I have used this guest.
I'll try the changes in your point three later today.

Dave

Comment 11 Alon Levy 2012-10-15 09:22:11 UTC
(In reply to comment #10)
> Hi Alon,
Hi Dave,

> 
> 1. I have attached a some track traces generated during these freezes.
> 
Thanks for that. Only the second matches bug 747011, the third (read()) is not clear to me if it's blocked, and if so I don't know why, and the first looks like the normal state of affairs (epoll & select & kvm ioctl) so I don't understand if you took it in a freeze or just as reference.


> 2. The version of the driver is
> 
> QXL Red Hat 6.1.0.10012  5/10/2011

OK, this is new enough to not get freeze for bug 747011 (if this is in fact that one, which I'm not sure yet - at least it is definitely that as well, but maybe you have other issues, we first have to fix 747011 for you by upgrading the versions of the components).

> 
> I got it from
> 
> http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-
> 0.1-30.iso.
> 
> 3. I have no reason that I know to use a certain machine type.

It is just the machine type definition in the libvirt xml file, from comment 2 dumpxml:

  <os>
    <type arch='x86_64' machine='pc-0.14'>hvm</type>
    <boot dev='hd'/>
  </os>

> I wasn't aware that the guest OS (Win Server 2008 R2 SP1 64bit) required a
> certain machine. I guess this hasn't updated over the years I have used this
> guest.
> I'll try the changes in your point three later today.

OK, great, thanks.

> 
> Dave

Comment 12 Dave Hatton 2012-10-15 11:46:33 UTC
Hi Alon,

1. All three of the traces were taken whilst the freeze was occurring. 
For me not only was the guest frozen, but so was the gnome3 desktop.
I couldn't type into a terminal on the same workspace or change workspacee, although the ripple effect of Activities was functioning.
I had to ALT-CTRL-F2 to take the stack trace.

Interestingly, I think the 1st trace had become unfrozen by the time I had taken the stack trace and switched back to gnome3.

3.I carried out the changes and will attach a new dumpxml of the guest.
I switched to pc-0.15 and and then switched to pc-1.0 (I assume this was ok to do).
At the moment I have yet to have a freeze, so I'm hopeful this is the fix. I'll continue to use the guest today to see if the freeze reoccurs.


Can I ask? This is a guest I created some time ago - maybe a year ago. How should I normally update these configuration files as newer versions of qemu/kvm/libvirtd are released? Is there a tool to migrate the machine type that I'm not aware of? 
Are there other stanzas in the xml that should be altered since I have moved from pc-0.14 to pc-1.0?

Thanks
Daveh

Comment 13 Dave Hatton 2012-10-15 11:47:56 UTC
Created attachment 627355 [details]
Dave.xml altered to use pc-1.0

Comment 14 Cole Robinson 2012-10-15 16:49:36 UTC
 
> 
> Can I ask? This is a guest I created some time ago - maybe a year ago. How
> should I normally update these configuration files as newer versions of
> qemu/kvm/libvirtd are released? Is there a tool to migrate the machine type
> that I'm not aware of? 
> Are there other stanzas in the xml that should be altered since I have moved
> from pc-0.14 to pc-1.0?
> 

There is no such tool, we specifically maintain those values in the XML because changing them can cause problems with existing windows installs, like requiring a reactivation. Unfortunately pc-0.14 had a nasty bug which people may carry forever.

I suppose some sort of prompt to fix the machine type could be included in a tool like virt-manager but we would need to fully inform the user about the caveats, not to mention do a lot of testing to figure out exactly what those caveats are.

Comment 15 Dave Hatton 2012-10-17 09:59:16 UTC
Hi Cole, Alon,

I've been using the guest successfully for a couple of days now and I believe the change to use pc-1.0 has resolved my problem. (I would have expected a freeze by now if it hadn't). 

Thank you very much for the help.

Daveh

Comment 16 Cole Robinson 2012-10-17 16:08:11 UTC
Thanks Dave, closing as CURRENTRELEASE. (and thanks for chiming in Alon, I hadn't realized that the qxl fix was dependent on machine type).