Less than two weeks ago, Saurik (Jay Freeman) released an official iOS 11-centric update for Cydia Substrate, but it wasn’t long after the release that users who installed the package began reporting unexpected freezing issues with their jailbroken handsets.
A support thread was opened on GitHub nine days ago brought some much-needed attention to the issue, prompting high-profile members of the community like Pwn20wnd, sbingner, and Saurik to start looking into it.
Fortunately for Cydia Substrate users, it now seems that Saurik is aware of the problem and successfully replicated the issue on one of his test devices, an essential first step in troubleshooting and fixing the bug.
Saurik’s official response was published as a comment in the relevant support thread, and we’ve quoted it for you below:
OK, I’ve managed to replicate the issue in that thread: thanks for the clear steps to reproduce the issue! At its core, this behavior happens because amfid and substrated are being killed at the same time (which it would be nice to just avoid as much as possible, but I have so far totally failed to make JetsamPriority protect my process; earlier versions of substrated weren’t using launchd: I wonder if that might have helped protect it, but I don’t know enough about Jetsam); but like, as what Substrate is doing (and has been for years now) is essentially using amfid to provision executable pages, it fails to initialize itself (because, and this is silly, it accidentally needs executable pages to run at all? this is trivially fixable) and then (theoretically, if it got this far, which it doesn’t) fails to hook the xpcproxy for amfid (as I’m doing this using “the full machinery”, which needs executable pages). I think I will have some time to fix both of these issues tomorrow night (I can provide a more limited hook for xpcproxy and then special-case amfid).
We can gather from Saurik’s comment that the freezing issue was probably related to two processes – amfid and substrated – being killed simultaneously.
Saurik expects to push an update for Cydia Substrate via Cydia sometime this week that will fix the described issue, which should theoretically put an end to the freezing some users have reported.
As always, we’ll continue to keep you updated as more about this update surfaces, so keep it tuned to iDB to learn about the latest jailbreak news.
Have you experienced the Cydia Substrate freezing issue on your jailbroken device since the update? Let us know in the comments section below.