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