Skip to content

v0.08.27 - Python script spawn fix

Choose a tag to compare

@github-actions github-actions released this 17 Jul 16:12
· 28 commits to main since this release

What's Fixed

Python scripts now run on jailbreaks where raw fork() from SpringBoard is denied (palera1n-rootless, some roothide setups).

Previously, users on affected devices saw:

Script Error: Python script exited with code -1. Open Logs for the traceback.

…with an empty log. The root cause: system2() in pccontrol/Common.xm used raw fork() + execl(), which the sandbox blocks in a SpringBoard-injected tweak on some JB variants. fork() returned -1 immediately, so the shell pipeline (and therefore the wrapper that writes the log) never ran.

Fix

  • system2() now uses posix_spawn — the API iOS actually permits from injected tweaks.
  • Falls back through /var/jb/bin/sh → /var/jb/usr/bin/sh → /bin/sh if jbroot("/bin/sh") returns something unusable.
  • Every failure path now logs strerror(errno) via NSLog, so if a script still fails you'll see the real reason in Console.app instead of an opaque -1.

Video recording, touch simulation, and other non-Python features were never affected and are unchanged.

Downloads

File Jailbreak iOS
`*_rootless.deb` Dopamine 15.0 – 16.6.1
`*_roothide.deb` Roothide / Serotonin 15.0 – 16.6.1

Installation

  1. Download the `.deb` for your jailbreak.
  2. Install via Filza or SSH: `dpkg -i .deb && killall -9 SpringBoard`

Python 3 from Procursus is recommended for `.py` scripts. ZXTouch also falls back to the bundled runtime when available.

Full Changelog: v0.08.26...v0.08.27