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
29_toolchain_partial_versions.sh and 31_transitive_deps.sh fail on main (run 26988545086, plus a rerun) and on unrelated PRs (e.g. #119 run 27007239457) with the same signature — deterministic, not a flake:
/…/.mcpp/registry/data/xpkgs/xim-x-glibc/2.39/include/bits/local_lim.h:38:10:
fatal error: linux/limits.h: No such file or directory
during the std-module precompile right after the tests' first-run install of gcc@16.1.0 (glibc, native ABI).
Observations:
The xim-x-glibc/2.39 package ships glibc headers but no Linux kernel headers (linux/limits.h et al.), which bits/local_lim.h includes unconditionally.
The injected runtime path pairs xim-x-gcc/16.1.0 with xim-x-gcc-runtime/15.1.0 — the 16.1.0 toolchain package set looks recently published and incompletely paired.
Earlier main runs (gcc 15.x default era) passed these tests; the breakage tracks the registry-side default moving to 16.1.0, not any mcpp code change (e2e 65/67 otherwise green on the same runs).
Suggested fixes (registry-side): add kernel headers to the glibc xpkg (or a separate linux-headers xpkg included by the toolchain meta), and pair gcc 16.1.0 with its own runtime package.
Correction to the original report: the registry packaging is fine — xim:linux-headers intentionally delegates to scode:linux-headers, whose payload was present all along. The bug was mcpp-side payload discovery treating the delegating package's metadata-only husk (.xim-installed + .xpkg.lua) as real content and silently giving up instead of finding the payload under the scode-x- prefix. Also corrected: this was never a flake — it was masked by warm CI caches and surfaced when a cache-key rotation + a bare restore-keys prefix (matching release.yml's sandbox cache) finally exercised the cold first-run path. Full forensics and fix in #121 (cold-path ci-linux green twice: 24m23s / 21m15s runs).
Activity
fix: payload discovery must skip delegating-package husks (#120) (#121)
Sunrisepeak commentedon Jun 5, 2026
Correction to the original report: the registry packaging is fine —
xim:linux-headersintentionally delegates toscode:linux-headers, whose payload was present all along. The bug was mcpp-side payload discovery treating the delegating package's metadata-only husk (.xim-installed+.xpkg.lua) as real content and silently giving up instead of finding the payload under thescode-x-prefix. Also corrected: this was never a flake — it was masked by warm CI caches and surfaced when a cache-key rotation + a barerestore-keysprefix (matching release.yml's sandbox cache) finally exercised the cold first-run path. Full forensics and fix in #121 (cold-path ci-linux green twice: 24m23s / 21m15s runs).fix: a bare dependency's wire address takes BOTH halves from its desc…
fix: a bare dependency's wire address takes BOTH halves from its desc…
fix: a bare dependency's wire address takes BOTH halves from its desc…
fix: a bare dependency's wire address takes BOTH halves from its desc…
fix: a bare dependency's wire address takes BOTH halves from its desc…
fix: a bare dependency's wire address takes BOTH halves from its desc…