Skip to content

Suspend logic issue/order of execution can cause unintended unclean exits #7669

@JC-000

Description

@JC-000

Describe the issue
I am regularly running Claude Code inside an Ubuntu 26.04 ARM VM, often if it is in the middle of a long-running task I find myself needing to quit UTM for various reasons (such as patching the host) and I want to suspend the VM. I am seeing behavior that makes using the pause button and quitting UTM unreliable.

My expectation from other virtualization products is that pause writes out VM memory/state to disk so that it can be resumed later, but UTM's behavior seems to be to just pause the VM. There seems to be no indicator for the user as to whether the VM's state has been saved when using the pause button and if I have activity monitor open to watch disk activity what I see is that clicking pause to suspend does not write contents of RAM to disk immediately. If I have a VM in a suspended state and choose quit, UTM immediately starts writing to disk. Then I see what appears to be a logic bug in that it then does not seem to wait long enough for the write to complete before it pops up the dialogue saying that it could not save state. If you choose to cancel the quit process it finishes writing and then if you choose quit again your state is preserved. If you choose to quit anyway it aborts the write and your VM state is lost.

I think the pause feature should save state and should show progress towards saving state like basically every other desktop or server virtualization product. I think the logic should be improved for quit so that it waits for its write to finish instead of throwing up an error message just because it didn't wait for the task to complete.

Configuration

  • UTM Version: 5.0.2 (121)
  • macOS Version: 26.4
  • Mac Chip (Intel, M1, ...): M5 Max

Crash log
No crash

Metadata

Metadata

Assignees

No one assigned

    Labels

    scriptingScripting and CLI interface

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions