altstoreio / altstoreio/AltStore
AltJIT timeouts too early while attempting to connect to device, resulting in python3 timed out. AltServer.ProcessError 0
@shanegillio is already working on this.
Since Nov 29, 2023.
- Dominant language
- Swift
- Stars
- 14.4k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
For performing JIT on macOS sonoma 14.0 (M1 Pro) and iOS 17.1.1 (iPhone 14 Pro), it would take ~32 seconds and ~20 seconds to connect to pymobiledevice3 and start the debugger, using the terminal (./python3 -m pymobiledevice3 remote start-quic-tunnel and ./python3 -m pymobiledevice3 developer debugserver start-server respectively) but AltStore times out at 20 and 10 seconds respectively, resulting in an error while trying to enable JIT: The process python3 timed out.
After downloading the repo and, in the EnableJIT swift file, increasing the rsdTunnel timeout to 40 80 seconds and the debugserver timeout to 40 80 seconds, it works perfectly fine. The exact time may need to be changed, but 20 and 10 seconds was definitely too short for my device.
func startRSDTunnel() async throws -> RemoteServiceDiscoveryTunnel
{
do
{
Logger.main.info("Starting RSD tunnel...")
let process = try Process.launch(.python3, arguments: ["-u", "-m", "pymobiledevice3", "remote", "start-quic-tunnel", "--udid", self.udid], environment: self.processEnvironment)
do
{
let rsdTunnel = try await withTimeout(seconds: 80) {
let regex = Regex {
"--rsd"
func startDebugServer(rsdTunnel: RemoteServiceDiscoveryTunnel) async throws -> Int
{
do
{
Logger.main.info("Starting debugserver...")
return try await withTimeout(seconds: 80) {
Edit: clarify which file I edited
Edit 2: I have tried a few more times and this time it took around 60 seconds. The timeout should be increased to about 80.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.