Skip to content

Fix historical Linux backfills on a compatible modern runtime - #1150

Merged
helly25 merged 1 commit into
mainfrom
fix/historical-backfill-runtime-24-20261108
Nov 8, 2026
Merged

helly25 merged 1 commit into
mainfrom
fix/historical-backfill-runtime-24-20261108

Conversation

@helly25

@helly25 helly25 commented Nov 8, 2026 •

Copy link
Copy Markdown
Collaborator

Fix historical Linux backfills that compile successfully but cannot execute their production binaries on Ubuntu 22.04. New campaigns use Ubuntu 24.04 with the older ICU runtime required by historical LLVM distributions.

Successful macOS measurements are preserved; only the failed Linux configurations need a new campaign after merge.

AG;DR

Failure and implementation

  • PR Fix historical backfill runtime compatibility and deadlines #1149 supplied historical linker dependencies on Ubuntu 22.04. Linux retry 42519042847 then failed on both Explore benchmark history by measured version and platform #914 and Distinguish benchmark layout versions in explorer #986 with GLIBC_ABI_DT_RELR missing from glibc 2.35 when the freshly built production CLI was executed.
  • Pin new historical Linux jobs to Ubuntu 24.04. Keep historical source revisions, compiler selections and production ThinLTO flags unchanged. Old immutable plans using Ubuntu 22.04 or ubuntu-latest remain valid.
  • Add prepare_benchmark_runtime.sh: require Ubuntu 24.04/amd64 and glibc >=2.38; install the native libxml2 and reference tools; obtain only ICU 70 from Ubuntu's signed Jammy metadata using separate APT indexes. No additional distribution is added to the runner's global package sources.
  • Retain package SHA256, versions, loaded library hashes, OS/glibc, sources and preparer hash in the backfill artifact. Stage receipts after collection so the batch output starts empty. Keep all artifact inputs under the existing backfill root, preserving the importer layout.
  • Update the recovery document with the second failure, verified replacement and successful macOS Explore benchmark history by measured version and platform #914 retry. The inventory remains explicitly dated; this does not claim it has been recomputed.

Validation

  • Exact preparer exercised in disposable Ubuntu 24.04 image sha256:97bed23a34971024aa8d254abbe67b7168772340d1f494034773bc464e8dd5b6, with glibc 2.39, ICU 70.1-2 and libxml2 2.9.14. Container removed afterward; host packages unchanged.
  • Clean independent checkouts of Explore benchmark history by measured version and platform #914 (9bbee34da11e0d97b2b740cf25f4d90ca62447d9, LLVM 22.1.8) and Distinguish benchmark layout versions in explorer #986 (61ab1ce41300aa785d6beafb46c29b29dc832b8d, LLVM 23.1.2) built //xff/cli:xff --config=clang_release without source or toolchain overrides. Configured executable copies were hashed immediately; saved CppLink actions include -flto=thin.
  • Both binaries executed version checks and three-worker listing/name-filter cases. XFF and GNU find outputs separately matched an independent record oracle (100 and 50 records). Compact receipts are committed in docs/benchmarks/historical-runtime-smoke-20261108.json; build logs, link actions and binaries remain on drogon.
  • Campaign/backfill/recovery Python suites: all 42 pass on Linux; macOS also passes (one platform-specific skip). Linux uses a separate snapshot of this committed source, leaving performance build trees unchanged. Workflow actionlint, shellcheck, shfmt, Markdown alignment and all applicable pre-commit checks passed.

Limits and next step

The container smoke establishes compatibility and basic correctness, not timing or end-to-end hosted publication. Once merged, dispatch a new Linux-only campaign for #914/#986. Rerunning the old Ubuntu 22.04 workflow cannot repair its libc. Preserve the completed macOS #986 and #914 results. This separate branch does not push to or restart any existing PR or backfill.

@helly25
helly25 merged commit 52950f9 into main Nov 8, 2026
34 checks passed
@helly25
helly25 deleted the fix/historical-backfill-runtime-24-20261108 branch November 8, 2026 23:13
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