Skip to content

Workflows: the launch decoder's time limit kills a hung apt-get - #72

Merged
brentvatne merged 1 commit into
mainfrom
@brent/decoder-kill-after
Oct 24, 2026
Merged

brentvatne merged 1 commit into
mainfrom
@brent/decoder-kill-after

Conversation

@brentvatne

Copy link
Copy Markdown
Member

The launch decoder install's time limit now actually stops a hung apt-get.

Why

#66 wrapped each apt-get call in timeout 120. In brentvatne/euxy review run 40042718931, one job's first attempt still took 7 minutes; it then warned, retried and installed ffmpeg in 3 s. That one stall made the job start capturing 7 minutes after the others, which led to a second, unshared iOS repack (#71).

GNU timeout without -k sends one SIGTERM and then waits for the command to exit, however long that takes. The command was sudo apt-get: sudo relays the signal to apt-get, which was blocked on the mirror and didn't exit. One install in the ten jobs of that run and main's baseline stalled like this.

Change

All three templates now run sudo timeout -k 10 120 apt-get … in place of timeout 120 sudo apt-get …:

  • timeout signals apt-get itself;
  • -k 10 kills it if it's still running 10 s later.

The step's comment says why. Apps get this by rerunning expo-explore setup --workflows.

Checked in an ubuntu:22.04 container, running the step's own script

Case Result
Real install installs ffmpeg in 16 s
First apt-get hangs and ignores SIGTERM, limit shortened to 3 s, this change killed, warning, retry, done in 4 s
The same case, on main waits the full 60 s hang despite the 3 s limit

timeout 2 against a command that ignores SIGTERM: 8 s without -k, 3 s with -k 1.

🤖 Generated with Claude Code

timeout without -k sends one SIGTERM and then waits for the command however long it takes, and through sudo the signal reached an apt-get that did not exit on it: in brentvatne/euxy review run 40042718931 the first attempt took 7 minutes under a 2-minute limit. timeout now runs under sudo, so it signals apt-get itself, and -k 10 kills it if it is still running.
@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

This preview was deleted on 2026-10-31, a week after the pull request closed. The links below no longer open.

Viewer preview of 2ae81a2 · reports from brentvatne/euxy#163

Report Changes Open
Android · sdk_gphone64_x86_64 15.0 5 Map · Screens · Compare
iPhone 17 · iPhone 17 26.5 · light + dark 11 Map · Screens · Compare
iPhone Duo (closed) · iPhone Duo 27.1 · light + dark 34 Map · Screens · Compare
iPhone Duo (open) · iPhone Duo 27.1 · light + dark 34 Map · Screens · Compare

Going live: this link can take up to 5 minutes to show 2ae81a2; until then it shows the previous push, or nothing on a new pull request. This push's deployment is live now.

The link stays the same on every push. Deploy run

@brentvatne
brentvatne merged commit fbe12fe into main Oct 24, 2026
16 checks passed
@brentvatne brentvatne mentioned this pull request Oct 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant