Hanging Builds when using the macOS m1 resource class

Overview

Users utilizing the M1 resource class on the CircleCI macOS executor are seeing builds hang. Though we can see builds hanging or timing out for other reasons, a specific bug in Apple's hypervisor framework that can cause issues in virtualized environments. These issues arise when a simulator is launched. You may notice a "Too long with no output (exceeded 5m0s): context deadline exceeded" error. 

Resolution 

We've addressed this issues in the xcode 15 beta image. You can read more about the improvements made here.  

 

If you are unable to use xcode 15.1 or later, you may try the steps listed below. We have significant improvements in performance when a simulator is booted for the second time by preforming the following steps: 

1. Launch your simulator at the beginning of your build. You may use the CircleCI macOS orb's preboot-simulator command.

2. Wait for your simulator to to be booted. You may use the CircleCI macOS orb. This orb includes a command; wait-until-simulator-booted. This command will wait until your simulator has booted or your job's `NO_OUTPUT_TIMEOUT` is hit. This is 10 minutes by default.

3. Shutdown the simulator: xcrun simctl shutdown $DEVICE_ID

4. repeat steps 1 & 2 

 

Other workarounds :

Additional resources: 

 

 

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.