utmapp / UTM

Virtual machines for iOS and macOS
https://getutm.app
Apache License 2.0
27.24k stars 1.35k forks source link

QEMULauncher crashes when booting CentOS stream 9 installation ISO #4210

Open chucklever opened 2 years ago

chucklever commented 2 years ago

Describe the issue I've migrated a Linux CentOS stream 9 virtual machine from VMware Fusion. It won't boot, so I attached the latest CentOS stream 9 installation ISO and booted it in Rescue mode. During the boot, QEMULauncher crashes with the following error dialog:

"qemu-x86_64-softmmu: warning: Spice: record:0 (0x7f9c1207d9d0): setsockopt failed, Operation not supported on socket"

Configuration

Crash log If the app crashed, you need a crash log. To get your crash log, open Console.app, go to Crash Reports, and find the latest entry for either QEMU, QEMUHelper, or qemu-*. Right click and choose Reveal in Finder. Attach the report here.

QEMULauncher-2022-07-15-131415.ips.txt

Debug log For all issues, including crashes, you should attach a debug log. Open UTM, and open the settings for the VM you wish to launch. Near the top of the QEMU page is Debug Log. Turn it on and save the VM. After you experience the issue, open the VM settings again and select Export Log... and attach it here.

debug.log

Upload VM (Optional) If possible, upload the config.plist inside the .utm. If you do not have this, you can upload the entire .utm but note this contains your personal data. Since Github has an attachment size limit, you may want to upload to another service such as Google Drive. Link it here.

config.plist.txt

osy commented 2 years ago

The error is vmx_write_mem: mmu_gva_to_gpa ffff8e3242992400 failed and it seems to be a QEMU issue. Please try on QEMU 7.0 and if it's an issue there, report it to QEMU.

chucklever commented 2 years ago

At the command line:

anon-dhcp-195:~ cel$ qemu-system-i386 --version
QEMU emulator version 7.0.0
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
anon-dhcp-195:~ cel$ whereis qemu-system-i386
qemu-system-i386: /opt/local/bin/qemu-system-i386
anon-dhcp-195:~ cel$

But perhaps UTM found and used a different version of qemu? How can I confirm which version of qemu-system-i386 that UTM is using for this guest?

osy commented 2 years ago

I mean run the same configuration using QEMU and see if you hit the error.

chucklever commented 2 years ago

Forgive me since I am a new user. I extracted the QEMU command line using UTM's "Export QEMU Command" button. If I copy and paste that into Terminal, it fails with "qemu-system-x86_64: -spice: invalid option". Removing the -spice option, it doesn't recognize any device defined with "-chardev spicevmc". So I'm still not convinced UTM.app sees the same qemu commands that I can run in Terminal.

osy commented 2 years ago

Right it’s not the same command so you’ll have to figure out manually what command to use on QEMU but you can use the UTM exported command as a reference as it should be very similar.

chucklever commented 2 years ago

I disabled all the spice-related USB devices and the graphics console. The virtualization environment still crashes, and the last line in the debug log is "vmx_write_mem: mmu_gva_to_gpa ffff88810028fae0 failed". I'll open a qemu issue.

chucklever commented 2 years ago

Ha Rumpf: https://gitlab.com/qemu-project/qemu/-/issues/1091