I found a fix!

I looked a little more carefully at the bug report you referenced and saw something about updated virtio drivers so I downloaded and mounted virtio-win-0.1.262.iso as a CD on the Windows VM, fired it up, installed virtio-win-x64.msi and virio-win-guest-tools.exe, closed Windows, set the Video to QXL, restarted Windows, and voilà, it works just fine. So the problem isn't with QEMU but with out-of-date or overwritten Windows drivers. You can close this bug now.

Thanks for all your help with this. Maybe another time we'll get to bisect a git repo together...

Best,

Hank

On 10/7/24 16:39, Michael Tokarev wrote:
07.10.2024 23:24, Hank Knox wrote:

On 10/7/24 03:29, Michael Tokarev wrote:
The highlights:

 -machine pc-q35-8.1
 -cpu host  -- what is your CPU anyway?
It's an AMD Ryzen 7 7840U w/ Radeon  780M Graphics. The machine is a 13' Framework, I've had it for a year, running Debian testing without many issues.

It's actually quite close to my system, which has
AMD Ryzen 7 5700G with Radeon Graphics.

 -smp 8
 - ahci (sata) drive
 - qxl
 - e1000 nic
 - intel hda audio
 - sandbox

Still, I can't reproduce this behavior here, no matter how I try.
My VMs Just Work (tm).

I'm jealous...

I upgraded again to 9.1.0+ds-8, changed the video setting from QXL to Virtio and fired up Windows. I ran it for over half an hour with no freeze up, so it's something to do with the QXL video display. Does this give you any ideas?

Not yet.. but there are other reports about QXL not working correctly in
windows, lemme find one.. for example, this one:
https://gitlab.com/qemu-project/qemu/-/issues/1628 - which says there's an error decoding graphics stream in a way so windows and qemu becomes out of sync.  Unfortunately it received no attention, I come across it just today
while researching this your issue.  The bug mentioned there seems real.


I pinged the Windows VM after the display froze (using Video QXL) and it actually responds. I got the IP address from 'virsh domifaddr Windows10', I assume that's the right one to ping.

Hopefully yes, and it's rather interesting that your windows VM has ping
enabled.  So you probably can log in to it remotely using rdp, from, say
a freerdp client, after enabling remote desktop in windows.  That would
be interesting.

This is what I was trying to find out - is it whole windows kernel who
frozen, or qemu, or just display.  With the above details it looks like
it is the display (and yes, I used qxl in my testing too, and it is the
most often used display anyway - it works fine).  Maybe it also driver-
dependent, but qxl drivers hasn't updated for a few years (since 2020 iirc).
Or maybe I should use qxl with stdvga windows driver.

..
I don't think I ever saw any of the cores spinning up to 100% use during the freeze up; it's frozen now (using QXL Video device) and there is hardly any CPU activity in the guest or the host and the guest usage is flat. While frozen, 'virsh domstate Windows10' says 'running'; I tried several 'virsh domXXX' commands and they all returned something indicating activity behind the UI freeze.

Ok, that's excellent.

So we're with the qxl thing here (hopefully anyway - I still do have some
doubts about it), which I can't reproduce.  I'm not sure what to do here.

Either I need a way to reproduce it locally, or you have to learn how to
do some git, compiling and bisecting, and quite some time to experiment
since the prob doesn't happen in a deterministic way.  The compiling/bisecting
isn't difficult but it requires a (relatively minor) setup first.

Or you can just switch to another vga type and be done with this :)

If you'll choose to help debugging/bisecting, it's better to have some online chat - over IRC or in a messenger - than to use bugtracker.  I'm mjt on freenode
and mjt0k on libera, if you're about irc.

Thanks,

/mjt

--
Hank Knox, FRSC
Schulich School of Music of
McGill University (retired)
Montreal, QC

Reply via email to