UTM icon indicating copy to clipboard operation
UTM copied to clipboard

VM freeze with blank screen

Open romlu2024 opened this issue 1 year ago • 6 comments

Describe the issue
I do run a Windows 11 ARM on a MacBook Pro M1 and keep it running when closing the lid of the MacBook. The Power Plan in Windows is set to "High Performance".

When I open the MacBook's lid the next day, the Windows VM is completely frozen with a blank screen.

image

When I try to "Force shut down" the VM, UTM is not able to terminate the process and displays the following error message after a timeout:

image

I need the use the "Force kill" to terminate the VM process, but then the UTM main window shows a spinning wait animation and it's impossible to start the VM anymore. The only solution is to quit UTM and restart the application

Configuration

  • UTM Version: 4.4.5
  • macOS Version: 14.4
  • Mac Chip (Intel, M1, ...): Apple Silicon M1 Pro

Debug log
UTM-Crash-debug.log

Upload VM
config.plist.txt

romlu2024 avatar Mar 18 '24 18:03 romlu2024

Have you disabled all sleep from Windows?

osy avatar Mar 28 '24 21:03 osy

In Control Panel, I choose "High Performance" option

image

In addition, the following settings were changed :

Turn off the display : Never Turn off hard disk after : Never

Since I upgraded to UTM 4.5.0 (Beta), the freeze did not happened yet. In the meantime, a new macOS version was installed as well (14.4.1).

I will continue to monitor the issue and post updates.

romlu2024 avatar Mar 30 '24 07:03 romlu2024

This morning it happened again.

Yesterday, I started the VM while the Macbook was connected to an external display. Then in the afternoon, I disconnected the MacBook from the external display and was able to work with the VM on the MacBook with the integrated Display.

Later I closed the lid while the VM was still running. An hour later, I just connected the MacBook in clamshell mode (USB-C cable) to the external display to charge the battery without continuing to work.

This morning when I hit the external keyboard to wake up the display, the VM immediately froze and I got the "nice" white screen.

Maybe it has something to do with the guest tools ?

In the VM logs, there is no information, the latest recorded line was from yesterday evening.

romlu2024 avatar Mar 31 '24 08:03 romlu2024

In the Event viewer, I see the following information message happening this night:

A caller specified the SDC_FORCE_MODE_ENUMERATION flag in a call to the SetDisplayConfig() API

romlu2024 avatar Mar 31 '24 08:03 romlu2024

@osy : Today I created a completely new Windows 11 ARM and I could reproduce the blank screen issue (UTM 4.5.1 Beta)

After analysing the Windows Event logs, I found out that I once again got the "A caller specified the SDC_FORCE_MODE_ENUMERATION flag in a call to the SetDisplayConfig() API" event when I disconnected the USB-C cable from the MacBook (external display). The MacBook was connected in Clamshell mode and disconnected from the external display around 19:30

The Windows event was logged twice at :

1/4/2024 19:34:07 PM 1/4/2024 19:36:46 PM

When I opened the MacBook lid 1,5 hours later (not connected to external display), the VM window was frozen with a blank screen. Trying to shutdown or killing the VM resulted in a "Timed out waiting for RPC" (see first post for screenshot).

I attached the VM log file and maybe there is some interesting information:

2024-04-01 20:38:40,058 DEBUG (null)-/Users/runner/Library/Developer/Xcode/DerivedData/UTM-atmnidivgqrsnpfhwimtnbayniap/SourcePackages/checkouts/CocoaSpice/Sources/CocoaSpice/CSDisplay.m:207 [CocoaSpice] cs_gl_draw 2024-04-01 20:48:48,902 DEBUG GSpice-../src/channel-main.c:1148 main-1:0: sending new monitors config to guest 2024-04-01 20:48:48,902 DEBUG GSpice-../src/channel-main.c:1165 main-1:0: monitor #0: 1512x850+0+0 @ 32 bpp 2024-04-01 20:48:48,902 DEBUG GSpice-../src/channel-main.c:1080 #0 +0+0-1512x850 (qemu-aarch64-softmmu:26948): Spice-DEBUG: 20:48:48.934: ../server/reds.c:1232:reds_on_main_agent_monitors_config: monitors_config->num_of_monitors: 16 (qemu-aarch64-softmmu:26948): Spice-DEBUG: 20:48:49.128: ../server/display-channel.c:176:monitors_config_unref: freeing monitors config (qemu-aarch64-softmmu:26948): Spice-DEBUG: 20:48:49.128: ../server/display-channel.c:184:monitors_config_debug: monitors config count:1 max:1 (qemu-aarch64-softmmu:26948): Spice-DEBUG: 20:48:49.128: ../server/display-channel.c:188:monitors_config_debug: head #0 +0+0 1512x850 (qemu-aarch64-softmmu:26948): Spice-DEBUG: 20:48:49.129: ../server/display-channel.c:184:monitors_config_debug: monitors config count:1 max:1 (qemu-aarch64-softmmu:26948): Spice-DEBUG: 20:48:49.129: ../server/display-channel.c:188:monitors_config_debug: head #0 +0+0 1512x850 2024-04-01 20:48:49,130 DEBUG GSpice-../src/channel-display.c:2083 display-2:0: gl scanout fd: 53 2024-04-01 20:48:49,130 DEBUG (null)-/Users/runner/Library/Developer/Xcode/DerivedData/UTM-atmnidivgqrsnpfhwimtnbayniap/SourcePackages/checkouts/CocoaSpice/Sources/CocoaSpice/CSDisplay.m:188 [CocoaSpice] cs_gl_scanout: got scanout (qemu-aarch64-softmmu:26948): Spice-DEBUG: 20:48:49.130: ../server/display-channel.c:176:monitors_config_unref: freeing monitors config 2024-04-01 20:48:49,130 DEBUG GSpice-../src/channel-display.c:2039 display-2:0: received new monitors config from guest: n: 1/1 2024-04-01 20:48:49,130 DEBUG GSpice-../src/channel-display.c:2059 display-2:0: monitor id: 0, surface id: 0, +0+0-1512x850 2024-04-01 20:48:49,130 DEBUG (null)-/Users/runner/Library/Developer/Xcode/DerivedData/UTM-atmnidivgqrsnpfhwimtnbayniap/SourcePackages/checkouts/CocoaSpice/Sources/CocoaSpice/CSDisplay.m:135 [CocoaSpice] update monitor area 2024-04-01 20:48:49,130 DEBUG (null)-/Users/runner/Library/Developer/Xcode/DerivedData/UTM-atmnidivgqrsnpfhwimtnbayniap/SourcePackages/checkouts/CocoaSpice/Sources/CocoaSpice/CSConnection.m:116 [CocoaSpice] display 0 now has 1 monitors 2024-04-01 20:48:49,130 DEBUG GSpice-../src/channel-display.c:2083 display-2:0: gl scanout fd: 54 2024-04-01 20:48:49,130 DEBUG (null)-/Users/runner/Library/Developer/Xcode/DerivedData/UTM-atmnidivgqrsnpfhwimtnbayniap/SourcePackages/checkouts/CocoaSpice/Sources/CocoaSpice/CSDisplay.m:188 [CocoaSpice] cs_gl_scanout: got scanout qemu-aarch64-softmmu: warning: console: no gl-unblock within one second qemu-aarch64-softmmu: warning: spice: no gl-draw-done within one second Debug JSON send -> { execute = "query-mice"; } RPC: Timed out waiting for RPC. Debug JSON send -> { execute = quit; } RPC: Timed out waiting for RPC. 2024-04-01 20:49:48,388 DEBUG GSpice-../src/spice-session.c:2027 session: disconnecting 0 2024-04-01 20:49:48,388 DEBUG (null)-/Users/runner/Library/Developer/Xcode/DerivedData/UTM-atmnidivgqrsnpfhwimtnbayniap/SourcePackages/checkouts/CocoaSpice/Sources/CocoaSpice/CSConnection.m:397 [CocoaSpice] -[CSConnection dealloc]:397

debug-20240401-2052.log

romlu2024 avatar Apr 01 '24 19:04 romlu2024

@osy : Some days ago I disabled the GPU acceleration for the graphics card and switched to virtio-ramfb.

Since then, I did not get any freeze of the VM.

So the issue is related to the virtio-ramfb-gl graphics card. Are there any driver updates I can download and test ?

romlu2024 avatar Apr 10 '24 19:04 romlu2024