If you’ve started distinguishing some rather peculiar instabilities after jailbreaking iOS 13, then you may not be alone. iOS developer Adam Demasi of HASHBANG Productions seems to have recognized a similar wave of patterns that urged him to create a hot-fix in the form of a newly released jailbreak tweak called StopCrashingPls.
Citing the brief Cydia description for StopCrashingPls, it was designed as an experimental workaround for iOS 13’s jetsam crash issue. This apparent issue could be exacerbated by certain jailbreak tweak installations, resulting in unwanted battery drain and overall system instability.
In a more detailed description, Demasi goes on to explain that StopCrashingPls attempts to address this issue by putting commonly crashing daemons into a permanent ‘safe mode’-like state, which helps ensure that jailbreak tweaks can’t load into them and cause further instability. Only a few exceptions exist.
If it sounds a little bit confusing, and we’d totally understand if it did, then you may want to read Demasi’s extended explanation regarding how the issue and potential solution work:
You may not notice it, even if you have a crash reporter like Cr4shed installed, but various background processes (daemons) that make many features of iOS work tend to crash a lot on iOS 13. This is because of changes to a feature of iOS called Jetsam, which stops processes from using excessive resources (CPU and memory).
iOS 13 tweaked jetsam rules to be very tight. You may have experienced the effects of this even without a jailbreak. For example, pausing music while a music app is in the background could cause that app to quit. The next time you press play, it plays the iOS Music app instead. iOS is smart enough to know not to terminate the app that’s playing music, but once you’ve paused it, it’s not playing music anymore, right?! So, it gets terminated for using too much resources. This particular bug was fixed with iOS 13.3, but others still exist.
In the case of SpringBoard and other system processes crashing, Apple knows how much memory and CPU each process is meant to use, so they have a list of “jetsam rules” dictating each process’s limits. These used to be very conservative, so only the worst of memory leaks or infinite loops would be saved from their bad state with a force restart. With iOS 13, it seems Jetsam’s philosophy changed, because a system daemon even slightly overstepping its usual resource usage will be terminated. Because of this, jailbreak tweaks that might use a fair bit of memory or CPU could unintentionally cause a lot of havoc. Some tweaks do call for higher resource usage – that’s just what they are. Unfortunately, it makes these crashes happen, since iOS isn’t aware of their needs.
StopCrashingPls is a tweak that loads before any other tweak, and then hijacks the tweak loading process so no more tweaks can be loaded. This tweak has this one simple purpose and is extremely small. This is not a complete fix for this issue. Processes like SpringBoard can still crash due to jetsam limits being reached. There are further changes that can be made to more fully fix this, but StopCrashingPls focuses on a simple solution that should solve most of the problem.
From what we can gather, it was possible for even non-jailbroken iOS 13 devices to exhibit these instabilities, but it becomes more of a problem on jailbroken handsets because jailbreak tweaks tend to hook into those processes that are already somewhat unstable. With that in mind, StopCrashingPls locks most jailbreak tweaks out of hooking into these unstable processes.
Demasi says jailbreakers shouldn’t notice any real disruption to their jailbreak tweak usage while using StopCrashingPls. With that in mind, it remains to be seen which tweaks are known to hook into these unstable processes and make matters worse.
Those interested in trying StopCrashingPlus and making their handset arguably more stable can download the tweak for free from the Chariz repository via their preferred package manager. Due to the nature of the tweak, it’s only intended for jailbroken iOS 13 devices.
Will you be downloading StopCrashingPls? Let us know why or why not in the comments section below.