Repository navigation
CI: uutils timeout on Ubuntu 26.04 runners breaks --kill-after grace (main red) #2020
Copy link
Copy link
Closed
Labels
bugIssues reporting a defect (set by the bug report template; a default, not an assessment)Issues reporting a defect (set by the bug report template; a default, not an assessment)ciPull requests that change CI or workflow configuration (ci: subject prefix)Pull requests that change CI or workflow configuration (ci: subject prefix)
Description
Describe the bug
On ubuntu-latest runners that now get Ubuntu 26.04, timeout is the uutils Rust rewrite (0.10.0) rather than GNU coreutils. Its --kill-after sends KILL right after the first signal, with no grace period, and sends it only to the direct child, not to the process group. As a result:
maind419d8c39is red on "Plain unittest ordering (project)", and ci: run the curated ALL tier on PyPy, split into separate pytest runs (#1958, #2005) #2006's Project tests fail the same 3 tests:test_resource_monitor_1740::test_a_timeout_exits_124,::test_a_tests_step_killed_after_the_timeout_records_137_and_its_time, andtest_graalpy_shards_1963::test_the_timeout_ends_the_run_in_progress_and_starts_no_other. They see 137 where 124 is expected.- The real tests step (
timeout --signal=INT --kill-after=3m 110minexperimental.yml) loses pytest's teardown grace on 26.04, and its xdist workers are left orphaned.
Reproduction
- Failing jobs ran on
ubuntu-26.04(image 20261018.168.1): 119423889806 onmainand 119422726301 on ci: run the curated ALL tier on PyPy, split into separate pytest runs (#1958, #2005) #2006. - Passing jobs ran on
ubuntu-24.04, including job 119413449722 on the same shad419d8c39. - In
docker run ubuntu:26.04,timeout --versionreportsuutils coreutils 0.10.0. Runningtimeout -v --signal=INT --kill-after=3s 1 sleep 30gives exit 137 after about 1 s.gnutimeout, which is GNU 9.7 on the same image, gives 124.
Expected behavior
The timeout wrappers behave as they do with GNU timeout on either image.
System information
- OS Version: Ubuntu 26.04 (GitHub Actions
ubuntu-latest) - commit:
d419d8c39
Additional context
- Same rollout as CI: tshark can't read captures on Ubuntu 26.04 runners (AppArmor profile) #2019, different mechanism.
- Proposed fix: the step scripts use
gnutimeoutwhen it exists and fall back totimeoutotherwise. The tests replay those scripts, so they pick the fix up too. Pinningubuntu-24.04only buys time. - Confirmed on the Docker image; not yet confirmed on the runner image itself.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugIssues reporting a defect (set by the bug report template; a default, not an assessment)Issues reporting a defect (set by the bug report template; a default, not an assessment)ciPull requests that change CI or workflow configuration (ci: subject prefix)Pull requests that change CI or workflow configuration (ci: subject prefix)
Projects
- StatusShow more project fieldsDone
Activity
fix(ci): run GNU timeout in the experimental tests step on any image (#…
fix(ci): run GNU timeout in the experimental tests step on any image (#…
ci: run the apt steps through util/apt_packages.py (#1967)
ci: run the apt steps through util/apt_packages.py (#1967)
ci: run the apt steps through util/apt_packages.py (#1967)
ci: run the apt steps through util/apt_packages.py (#1967)
ci: run the apt steps through util/apt_packages.py (#1967) (#2034)