Skip to content
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

iOS 14.2 JIT support not working on A11 devices or older #516

Closed
brunocastello opened this issue Nov 6, 2020 · 47 comments
Closed

iOS 14.2 JIT support not working on A11 devices or older #516

brunocastello opened this issue Nov 6, 2020 · 47 comments
Labels
bug Something isn't working crash Application crashes wontfix This will not be worked on

Comments

@brunocastello
Copy link

Just updated my iPad Pro 2nd gen 12.9" to iOS 14.2. Then I proceeded to re-sign the UTM.ipa with iOS App Signer, to be able to install using my own paid developer certificate. All clear, then installed the UTM.ipa through Xcode 12.1 on iPad Pro.

App was installed perfectly so I moved my old VMs inside to run. But none of my machines are loading up (MSDOS 6.22/Windows 3.1, Windows 95, macOS 9.2 and OS X 10.5 Leopard) because when I hit run, UTM crashes back to iPadOS home screen. I was able to go a bit further when I chose to bypass configuration and manually specify arguments, but then UTM would crash again complaining about error: "Could not allocate dynamic translator buffer". I hit OK, then UTM crashes again back to iPadOS home screen. Nightmare. I am unable to run any VM.

@brunocastello brunocastello added the bug Something isn't working label Nov 6, 2020
@ThatStella7922
Copy link
Contributor

ThatStella7922 commented Nov 6, 2020

You said “ from previous UTM builds” but didn’t mention trying VMs created with the current build. Have you tried creating a new empty x86 VM and seeing if you can get to a bootloader prompt?

@brunocastello
Copy link
Author

You said “ from previous UTM builds” but didn’t mention trying VMs created with the current build. Have you tried creating a new empty x86 VM and seeing if you can get to a bootloader prompt?

I get the same behavior from new VMs.

@osy
Copy link
Contributor

osy commented Nov 6, 2020

Please post a crash log.

Could not allocate dynamic translator buffer

Does this happen always? Including with brand newly created VM?

@osy osy added the crash Application crashes label Nov 6, 2020
@brunocastello
Copy link
Author

Please post a crash log.

Could not allocate dynamic translator buffer

Does this happen always? Including with brand newly created VM?

That error only happens when I chose to use custom QEMU arguments. When I chose not to, UTM simply crashes to desktop.

@osy
Copy link
Contributor

osy commented Nov 6, 2020

Okay please post a crash log of when you try to open a newly created VM

@brunocastello
Copy link
Author

brunocastello commented Nov 6, 2020

Here's the crash log. I am downloading Xcode 12.2 Release Candidate to try again, it was probably a codesigning error? I never had such issues with previous builds. I've renamed the file from .ips to .txt because GitHub wouldnt let me upload it.

UTM-2020-11-05-215137.txt

Edit: I'll also try out one of the pre-made linux VMs from the vm-downloads repo to test again.

@osy
Copy link
Contributor

osy commented Nov 6, 2020

Identifier: com.swconsultores.iSH

Not sure if that may have caused any issues. Any reason why you changed the bundle Identifier?

Also can you confirm that you’re signing with a development certificate and not an enterprise or distribution certificate?

@brunocastello
Copy link
Author

A test with the Debian ARM VM from the vm-downloads repo showed the same behavior, except that with custom QEMU arguments, I'd be stopped at a black screen with a spinning wheel.

Identifier: com.swconsultores.iSH

Not sure if that may have caused any issues. Any reason why you changed the bundle Identifier?

No, but I have used it in the past before with no issues. I have two provisioning files, I can try again to re-sign on iOS App Signer. One provisioning file has a custom bundle identifier, the other doesn't. I'll try re-signing again with the other one, but I've tried both today too. Two days ago I just used them to re-sign some apps with no issues.

Also can you confirm that you’re signing with a development certificate and not an enterprise or distribution certificate?

It's a development certificate, yes. I do not have an enterprise or distribution certificate.

I'll try again re-signing, if it fails, soon Xcode 12.2 RC download will finish so I can try again.

@brunocastello
Copy link
Author

I mentioned a possible codesigning problem before, because there there was an warning on xcode about iOS 14.2 and Xcode 12.1, saying that I'd have to update Xcode. The warning did not stop me from sideloading the app, though. In 10 or 20 minutes after the download completes, we'll find out.

@osy
Copy link
Contributor

osy commented Nov 6, 2020

I’ve noticed that you’re running 18B92 I hope nothing changed from 18B91 that was the RC...

@brunocastello
Copy link
Author

brunocastello commented Nov 6, 2020

I’ve noticed that you’re running 18B92 I hope nothing changed from 18B91 that was the RC...

Yes, it's the public version. I've just tried again with my normally used provisioning file (the other you mentioned was from my dad, I've used that before though without issues too), the identifier says com.utmapp.UTM, yet same issues. Xcode 12.2 RC download finished, I'll install this new Xcode version and try again. It's probably just an issue with older Xcode version not being able to recognize a new iOS version.

@osy
Copy link
Contributor

osy commented Nov 6, 2020

Uh oh let’s hope Apple didn’t fix this

@brunocastello
Copy link
Author

Uh oh let’s hope Apple didn’t fix this

OK, while Xcode 12.2 RC is still being extracted and installed (it's damn slow) I am thinking... Is 18B91 still being signed? If yes, I can still downgrade, I'd just need to find the IPSW file and downgrade it, maybe?

@osy
Copy link
Contributor

osy commented Nov 6, 2020

Maybe... but I would be very surprised if in the few days between the two builds that they fixed this.

@saagarjha
Copy link
Contributor

Question: why is UTM crashing with a codesigning violation while pc is in libsystem_platform?

@osy
Copy link
Contributor

osy commented Nov 6, 2020

@saagarjha it’s crashing in the icache flush

@brunocastello
Copy link
Author

No luck with Xcode 12.2 RC. Same issues. They (Apple) probably fixed it?

@saagarjha
Copy link
Contributor

Can reproduce this as well, I guess they did :/

@brunocastello
Copy link
Author

brunocastello commented Nov 6, 2020

I'm downloading the iPadOS 14.2 RC (18B91) and praying it to be still being signed.

EDIT: It will take hours to download the ipsw, it's very slow. Dammit. I better go to sleep and cry in a corner while it attempts to download.

@ThatStella7922
Copy link
Contributor

Attention-
image

These appear to be the only signed versions as of 11/5/20 8:07 PM GMT-7.

@brunocastello
Copy link
Author

brunocastello commented Nov 6, 2020

First and second betas only? Jesus. I'll try downgrading to 14.1 and use the beta profile to see if I can get the last beta, although I think it will not work too.

EDIT: I give up. Downgrading requires a big backup effort I am not willing to do, there's too much data on this iPad to back up and restore manually, it'd require hours. I'm sad now.

I guess that I'll have to go back to using QEMU on my macOS Catalina before Big Sur update, where UTM will have a macOS version to try out. Apparently we can still use the 14.1 tethering method with 14.2, but I haven't tried it.

@osy
Copy link
Contributor

osy commented Nov 6, 2020

Can anyone else confirm this? We’ve checked the cs flags and can’t find any difference. Maybe a newer device acts differently?

@eahlys
Copy link

eahlys commented Nov 6, 2020

Hi,
Can reproduce issue on iPad Pro 2017 (A11 chip) running iOS 14.2 stable with latest UTM release, signed with AltStore beta (the updated one for JIT). As soon as I open a VM UTM crashes and goes back to homescreen.

@ThatStella7922
Copy link
Contributor

ThatStella7922 commented Nov 6, 2020

iPad Pro 2017 (10.5” and 12.9”) has A10X, not A11

@osy
Copy link
Contributor

osy commented Nov 6, 2020

I can personally confirm 18B92 works on my iPhone 12 Pro.

@eahlys
Copy link

eahlys commented Nov 6, 2020

I can personally confirm 18B92 works on my iPhone 12 Pro.

How did you install UTM ? Got a free Apple account, AltStore beta, and added UTM repo to AltStore. Trying to open your custom Debian image instantly gets me back to homescreen. Trying to use the exact same procedure than people who succeeded.
Also tried with iOS App Signer (untethered method), got the same result. I'm on 18B92 as well.

@brunocastello
Copy link
Author

brunocastello commented Nov 6, 2020

I am doing a manual backup of my iPad Pro data to try a downgrade to iPadOS 14.2 (18B91) Release Candidate build. I'll keep people posted if I manage or fail to downgrade and run UTM under a such scenario. This afternoon I was able to quickly download the IPSW. I think Apple needs to reconsider their stance - because even on macOS it is possible to run things with JIT and without any major issue.

EDIT: Successfully downgraded to 18B91. Right I have to resign UTM and reinstall to try again. Fingers crossed.

@josemsanchezb
Copy link

Hello, I'm new using UTM. I installed the 2.0.8 version signed through my BuildStore account but when I launch it says "Your version of iOS does not support running VMs while unmodified. You must either run UTM while jailbroken or with a remote debugger attached". I'm trying it on my iPad Pro 2020 running iOS 14.2
F4F27E9E-02BE-49D4-A94D-ED733932DB1A

@osy
Copy link
Contributor

osy commented Nov 6, 2020

@brunocastello don’t think it’ll work because I got it working on both builds. It’s probably related to the device model.

@josemsanchezb does it crash when trying to start a VM? Anyways the instructions says to use AltStore (latest beta) or iOS app signer.

@brunocastello
Copy link
Author

brunocastello commented Nov 6, 2020

Downgrading to 18B91 RC build did not solve the problem on iPad Pro 2017 2nd gen 12.9". Same issues as reported yesterday on UTM build 2.0.8. It's 100% a device model issue. I'll just upgrade back to the final build and call it a day. My best hope is the checkra1n jailbreak, they were expecting to be able to run on A10X devices in a future update but it has been months since they said that.

@josemsanchezb
Copy link

@josemsanchezb does it crash when trying to start a VM? Anyways the instructions says to use AltStore (latest beta) or iOS app signer.

Thanks @osy86 , the tool I used is like the iOS App Signer, using a premium plan and my device UDID. It doesn't allow me to launch any VM, nor I can't attach any .iso file, it doesn't respond.

@osy
Copy link
Contributor

osy commented Nov 6, 2020

There’s a reason I specified iOS App Signer and AltStore. Those are the only options that work. Most of these “premium signers” don’t work because they don’t use the right type of certificate. See the readme for more details.

@fomalsd
Copy link

fomalsd commented Nov 6, 2020

iPhone X (A11), 14.2 (18B92), paid dev account, iOS App Signer -> crash.
There was no in-app warning about missing entitlements so I assume everything was signed correctly.
Got a feeling that JIT only works for A12 and newer.. was anyone able to run this successfully on A11 and older yet?

@osy
Copy link
Contributor

osy commented Nov 6, 2020

It’s beginning to seem that way. I too would love to see a confirmation of any < A12 device.

@brunocastello
Copy link
Author

It’s beginning to seem that way. I too would love to see a confirmation of any < A12 device.

Someone on twitter in your feed mentioned iPhone X not working as well

@yrjo
Copy link

yrjo commented Nov 7, 2020

checked with ipad pro11 2018 version, (A12/x device)
NJB, ios14.2. public release,
UTM 2.0.8
sideloaded signed with paid dev cert

UTM started normally, crashed after start of VM (timeout).

debug log here:

debug.log

@saagarjha
Copy link
Contributor

A crash log would likely be more useful here, if you have it.

@yrjo
Copy link

yrjo commented Nov 7, 2020

UTM-2020-11-07-195051.log
@saagarjha - sure, here is it, cheers

@osy
Copy link
Contributor

osy commented Nov 7, 2020

Looks like a UTM bug there. Can you open a new ticket and possibly provide the .utm that caused the crash?

@brunocastello
Copy link
Author

@osy86 A update to the Checkra1n jailbreak is out! 14.2 and A10X support, I will have to try again later tonight! Fingers crossed

@brunocastello
Copy link
Author

It’s now working again! I just jailbroke the iPad Pro 2017 running iOS 14.2 (18B92) and ran one of the pre-made VMs (Debian ARM no GUI) and it booted flawlessly. Good news, thanks to Checkra1n!

@Anwu949
Copy link

Anwu949 commented Nov 8, 2020

Can replicate issue on iOS 14.2, iPad Air 2, with AltStore. VM crashes instantly. However, I’ll try the new checkra1n, see if it works.

@brunocastello
Copy link
Author

brunocastello commented Nov 8, 2020

Now my machines are working again, but I have only one issue: I am now unable to drag the windows on desktop, for example macOS 9.2 finder windows are not draggable anymore. The touch input needs some kind of tweak, it seems.

EDIT: I retreat it. The drag still works. For some reason it is more sensible now. Hard to get it right sometimes now.

@osy
Copy link
Contributor

osy commented Nov 8, 2020

I think this is the cursor issue mentioned previously. For the future file a new bug when you find issues.

@osy osy changed the title UTM 2.0b7 and UTM 2.0.8, unable to start any virtual machine from previous UTM builds iOS 14.2 JIT support not working on A11 devices or older Nov 9, 2020
@osy osy added the wontfix This will not be worked on label Nov 9, 2020
@Winterknight1353
Copy link

Has the issue with alt-store been fixed? My iPhone 7+ is having this problem.

@ThatStella7922
Copy link
Contributor

AFAIK only a12 and newer can do jit on 14.2.

@ecstaticax
Copy link

I have an iPad Pro 2020 with latest iOS but when I start utm it shows the message about jailbreak and remote debugger. I compiled using the modified iOS app signer and my own certificate. I don’t know how to make it work. When I start a vm the screen is black and it doesn’t start.

@osy osy closed this as completed Sep 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working crash Application crashes wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests