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
PR #6040 (merged 2026-07-09) already updated A17 from "open/pending" to "fixed" in all three catalog files. That change is already captured in the live catalog — no action needed there.
PR #6025 (merged 2026-07-09) introduces a new distinct failure mode that is not yet captured in the catalog.
1. Add new row B10 to the Category B table (after B9)
| B10 | `[WARN] Rootless artifact permission repair failed for .../sandbox/firewall/logs (exit 1)` × 3 directories, each taking exactly ~30 s; total ~90 s wasted; cascading `EACCES: permission denied` / `Failed to remove chroot home directory after permission repair` | `fixArtifactPermissionsForRootless()` builds compound `tag@digest` image refs (e.g. `agent:0.27.22@sha256:55f065...`) for its `docker run --pull never` repair container. Despite `--pull never`, Docker still attempts registry manifest verification for compound refs; when GHCR credentials are unavailable (cleaned in an earlier workflow step or expired) the verification TCP-connects and times out (~30 s per directory). | **Fixed in AWF (PR github/gh-aw-firewall#6025)**: `resolvePermFixerImageRef()` now strips the `@sha256:...` digest and uses a tag-only ref. `--pull never` with a tag-only ref skips all registry I/O. Upgrade to AWF version that includes github/gh-aw-firewall#6025. Workaround (older AWF): ensure GHCR credentials are available until after the AWF cleanup step. | `[WARN] Rootless artifact permission repair failed` messages each followed by exactly ~30 s delay in the workflow log; `docker pull --dry-run agent:...`@sha256`:...` times out while `docker inspect agent:...` succeeds | github/gh-aw-firewall#6025 |
2. Add new entry to the Error-string quick lookup table
After the existing Rootless artifact permission repair failed row (which maps to A15), add:
|`[WARN] Rootless artifact permission repair failed` with each attempt taking ~30 s (timeout, not an instant error), followed by cascading `EACCES: permission denied` on chroot-home removal | B10 |
- `[WARN] Rootless artifact permission repair failed` with each attempt taking ~30 s (registry timeout, not instant) → B10 (compound tag@digest ref causes Docker to attempt GHCR manifest verification even under `--pull never`)
In § 4 "Check for known gaps and notable fixes", add:
B10 / github/gh-aw-firewall#6025 — `fixArtifactPermissionsForRootless()` compound `tag@digest` ref timeout is **fixed** in AWF version including github/gh-aw-firewall#6025. `resolvePermFixerImageRef()` now returns tag-only refs, eliminating registry I/O during `--pull never` repair.
Proposed portable agent changes
File: .github/agents/self-hosted-runner-doctor.md
Apply the identical three edits to the embedded copy of the catalog and playbook:
B10 table row — add after B9 in the embedded Category B table (same content as above).
Error-string quick lookup — add the B10 entry after the existing A15 Rootless artifact permission repair failed entry.
§ 3 symptom → failure mode — add the ~30 s timeout recognizer hint.
§ 4 known gaps and notable fixes — add the B10 fix paragraph.
Summary
Background
PR #6040 (merged 2026-07-09) already updated A17 from "open/pending" to "fixed" in all three catalog files. That change is already captured in the live catalog — no action needed there.
PR #6025 (merged 2026-07-09) introduces a new distinct failure mode that is not yet captured in the catalog.
Proposed knowledge-base changes
File:
.github/workflows/shared/self-hosted-failure-modes.md1. Add new row B10 to the Category B table (after B9)
2. Add new entry to the Error-string quick lookup table
After the existing
Rootless artifact permission repair failedrow (which maps to A15), add:Proposed doctor changes
File:
.github/workflows/self-hosted-runner-doctor.mdIn § 3 "Match symptom → failure mode", add:
In § 4 "Check for known gaps and notable fixes", add:
Proposed portable agent changes
File:
.github/agents/self-hosted-runner-doctor.mdApply the identical three edits to the embedded copy of the catalog and playbook:
Rootless artifact permission repair failedentry.~30 s timeoutrecognizer hint.Source issues and PRs
fix: use tag-only image ref in rootless permission repair #6025 (merged 2026-07-09) —
fix: use tag-only image ref in rootless permission repairfix: use tag-only image ref in rootless permission repair #6025
Observed symptom (from the PR body):
Each attempt took exactly ~30 s (TCP connect timeout to GHCR). Total ~90 s wasted per run.
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpgSee Network Configuration for more information.