-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Purple Screen Reboot on iOS/iPadOS 15 when using OpenGL graphics #2743
Comments
By using https://mac.getutm.app/gallery/debian-10-4-ldxe, I can produce the same issue. |
This seems to be an issue with the beta. Same VM works on 2.1.2. |
I have the same issue with Ubuntu arm. It appears to be something to do with UTM taking all the ram due to a possible memory leak when an OS uses OpenGL. Hasn’t yet been fixed |
I adjusted memory from 2GB to 3GB and qemu logs ends with following lines
|
This memory issue with the UTM 2.2.0 beta has been addressed, in beta 2.2.1. |
Still encountered such problem in beta 2.2.2, iPadOS 15 beta 8.. |
I ran UTM through Xcode and used master branch. Before system crash, RAM didn't increase so much according to Xcode debug session panel... Please let me know if you need any log or more information. |
To be clear, @HubertZhang your iPad reboots entirely. Not just UTM? |
Yes, my iPad reboots entirely. I tried master version on iPadOS 15 and encountered same issue.. |
I too am hitting this error on iOS 15 and the kicker is that I google to see if there's any way to get any debug info out of the iPhone and guess what this issue shows up as the top result... |
@osy I might be stating the obvious here but have you tried viewing the iOS system log with Console app on Mac? |
So I updated ANGLE and virglrenderer to the latest commit and some preliminary tests shows that it's no longer crashing. |
UTM still crashed when using master version UTM and 3.0.0-beta sysroot image... UTM version: 4e6a7b4 Panic report is attached: |
Kernel panic occurs whenever i choose -gl option for video card. UTM/UTM SE version: 3.1.0B |
I think I might have found the issue. It's a race condition in IOMobileFramebuffer
The issue here is that the client lock isn't held by QEMU's thread (calling into IOMFB) between 9 and 18. That means another thread (UTM calling into IOMFB) can use IOSurfaceLookup to grab The fix is to ensure we do not ever call IOSurfaceLookup on a stale |
There is a kernel bug detailed in utmapp/UTM#2743 (comment) which results in a race whenever IOSurfaceGetID/IOSurfaceLookup is used. As a result, we need a way to "indicate" to the receiver that the surface id in the pipe is now stale and should not be used. To do this we send POLLHUP to poll() by closing the write FD when the surface is about to be deallocated. Note this does not fix the race completely as there is still a small chance that the race happens between the close() and the CFRelease() but the chance of that is small and the whole FD passing surface ID system is a hack anyways that should be replaced with a proper set of SPICE APIs one day...
This in conjunction with the QEMU patch should workaround the kernel panic caused by a IOMFB race in most cases. utmapp/UTM#2743 (comment)
Using GPU supported device no longer causes purple screen on fcc1dea version! Hooray! |
Tuneskit ios system recovery can help reset an iphone. It has a feature for entering and exiting from recovery mode in one click. Maybe this can fix the problem. |
Describe the issue
Booting debian-10-4-xfce downloaded from the gallery on iOS 15.0 Beta 5 results in a purple screen and reboot. This is very consistent and happens all the time.
Configuration
Crash log
panic.zip
Debug log
debug.log.zip
Upload VM
https://mac.getutm.app/gallery/debian-10-4-xfce. This one from the gallery is used with no modifications.
The text was updated successfully, but these errors were encountered: