Skip to content

[Bug]: Router halts all build and status requests after macOS extender socket timeout during artifact retrieval #957

@zotrix

Description

@zotrix

Description

When attempting to retrieve iOS build results from a macOS extender, if a timeout or socket write error occurs on the extender's host side, the router's orchestration loop completely halts. As a result, the router stops sending new build requests and ceases status checks for all other pending or active builds. A single network/socket failure during artifact retrieval shouldn't freeze the entire queue.

Steps to Reproduce

  • Queue an iOS build request.
  • Verify that the router successfully forwards the request to the macOS extender and begins polling for its status.
  • Allow the build to complete successfully on the macOS extender side.
  • Trigger the retrieval stage where the router attempts to fetch the compiled code/artifacts.

The Error Condition: Simulate or encounter a socket write error on the macOS extender side (e.g., due to host-side technical reasons, network interruption, or timeout during data transmission).

Observe the router's subsequent behavior regarding other builds in the queue.

Expected Behavior

The router should gracefully handle the socket exception, mark the specific failed build with an appropriate error status (or trigger a retry), and continue its main loop—meaning it should keep checking the status of other active builds and dispatching new requests.

Actual Behavior

The router completely stops checking the status of all other concurrent builds and stops sending new requests to the macOS extender. The entire build dispatching and polling mechanism freezes silently after the socket error occurs.

Router Version: 1.6.0

debug.log

MacOS error

macos.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Priority

    4

    Size

    None yet

    Score

    None yet

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions