altstoreio / altstoreio/AltStore

AltJIT timeouts too early while attempting to connect to device, resulting in python3 timed out. AltServer.ProcessError 0

Open
#1,336 11 comments 2 reactions 1 assignee View on GitHub

@shanegillio is already working on this.

Since Nov 29, 2023.

bug
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.

Screenshot 2023-11-13 at 7 40 03 PM

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.