You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CI: GNU test tests/id/setgid fails intermittently on unrelated PRs #14998
The GNU comparison bot reports tests/id/setgid as a new failure ("is passing on 'main'. Maybe you have to rebase?") on PRs that do not touch id or anything it uses, for example #14524 (tr), #14594 (GnuTests.yml), #14772 (install), #14937 (nice on Windows), #14964 (wasi ignore macro), #14969 (action version bump) and #14980 (refactor).
It looks intermittent rather than a regression from any of them. If so, it could go in .github/workflows/ignore-intermittent.txt until the cause is found.
Since the failure is intermittent, the bot also spams unrelated PRs with messages like Congrats! The gnu test tests/id/setgid is no longer failing!, e.g. on #14944.
Found the cause, so no ignore entry needed: the root tests drop to nobody, which can't reach our build under /home/runner (0750), so id resolves to the runner's own rust-coreutils. Runner images still shipping 0.8.0 exit 1 there and newer ones ship 0.10.0, which is why it flips between runs (and why the bot posts the congrats messages). #15005 lets nobody reach the build dir; on an old image id/setgid passes with it.
GitHub rolls new images out gradually, so ubuntu-26.04 is landing on two images right now. I compared the image version printed in the native job log with id/setgid in gnu-root-full-result for the last 15 runs:
The 0920 image was built before 0.10.0 reached -updates and the 0927 image after it. I haven't read the package version off each image directly yet, so that link is inferred from the dates. To confirm it, I pushed a temporary step to #15005 (1fd81e1) that prints dpkg -l rust-coreutils and /usr/bin/id --version on the runner. I'll post what each image reports and drop the commit before merge. Either way, the result follows the image, not the PR.
The root of it is that the root tests run as nobody, which can't traverse /home/runner (0750). That means id resolves to whatever /usr/bin/id the image has, not our build. #15005 fixes that, so the image version stops mattering.
Not sure this is correct. Ubuntu 26.04 LTS doesn't ship with Rust coreutils, and we shouldn't be flipping between runner images anyway, so I don't think this explains the intermittent result.
Sorry I meant Ubuntu 24.04 LTS, which we should be using with ubuntu-latest.
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see actions/runner-images#14748"
Activity
xtqqczze commentedon Oct 1, 2026
If you cannot find a cause, you can add it to
.github/workflows/ignore-intermittent.txt.xtqqczze commentedon Oct 1, 2026
Since the failure is intermittent, the bot also spams unrelated PRs with messages like
Congrats! The gnu test tests/id/setgid is no longer failing!, e.g. on #14944.abendrothj commentedon Oct 1, 2026
Found the cause, so no ignore entry needed: the root tests drop to
nobody, which can't reach our build under/home/runner(0750), soidresolves to the runner's own rust-coreutils. Runner images still shipping 0.8.0 exit 1 there and newer ones ship 0.10.0, which is why it flips between runs (and why the bot posts the congrats messages). #15005 letsnobodyreach the build dir; on an old imageid/setgidpasses with it.xtqqczze commentedon Oct 1, 2026
abendrothj commentedon Oct 1, 2026
26.04 does ship it by default. In resolute, the essential
coreutilspackage hasPre-Depends: coreutils-from-uutils | coreutils-from-gnu, andcoreutils-from-uutilspre-depends onrust-coreutils. See https://launchpad.net/ubuntu/resolute/amd64/coreutils and https://launchpad.net/ubuntu/+source/rust-coreutils. The release had 0.8.0-0ubuntu3, and 0.10.0-1ubuntu2~26.04.1 reached-updateson 2026-09-21.GitHub rolls new images out gradually, so
ubuntu-26.04is landing on two images right now. I compared the image version printed in the native job log withid/setgidingnu-root-full-resultfor the last 15 runs:id/setgidThe 0920 image was built before 0.10.0 reached
-updatesand the 0927 image after it. I haven't read the package version off each image directly yet, so that link is inferred from the dates. To confirm it, I pushed a temporary step to #15005 (1fd81e1) that printsdpkg -l rust-coreutilsand/usr/bin/id --versionon the runner. I'll post what each image reports and drop the commit before merge. Either way, the result follows the image, not the PR.The root of it is that the root tests run as
nobody, which can't traverse/home/runner(0750). That meansidresolves to whatever/usr/bin/idthe image has, not our build. #15005 fixes that, so the image version stops mattering.xtqqczze commentedon Oct 1, 2026
Sorry I meant Ubuntu 24.04 LTS, which we should be using with
ubuntu-latest.xtqqczze commentedon Oct 1, 2026
@oech3 Actually, since #14594 we use
ubuntu-26.04for GNU tests. I guess we should have markedtests/id/setgidis failing in that PR.xtqqczze commentedon Oct 1, 2026
This is correct. The
20260927.149runner image is based on the newly released Ubuntu 26.04.1 LTS, which includesrust-coreutils0.10.0.