Skip to content

engine-package test: stub include dir carries the header the seqlock overlay patches - #1859

Merged
swapnilpaliwal-sd merged 2 commits into
apps/integration-0.1.9from
fix/engine-package-seqlock-stub
Oct 7, 2026
Merged

swapnilpaliwal-sd merged 2 commits into
apps/integration-0.1.9from
fix/engine-package-seqlock-stub

Conversation

@swapnilpaliwal-sd

Copy link
Copy Markdown
Contributor

What

Fixes the java suite failing on every PR into this branch (e.g. #1858, a parser-only PR) at the engine-package test: prepare failed: ❌ could not prepare the patched soufflé headers (seqlock fix), with four more failures cascading from it.

Why

The parallel-solve change gave run-souffle.sh a header overlay (souffle_overlay) that copies the install's include dir, rewrites the write-entry RMWs in souffle/utility/ParallelUtil.h to seq_cst, and hard-refuses an include dir without that header — by design, so no unpatched cache entry passes for a patched one. The engine-package test predates it: its stub include dir carried only CompiledSouffle.h, so every stubbed --prepare now dies at the overlay. The failure is the base branch's, not any PR's.

How

  • The stub include dir now ships a ParallelUtil.h with the acquire RMWs, as a real install's headers do.
  • Control: the test now asserts the prepare leaves the patched overlay in the cache (seq_cst present, acquire gone), so a prepare that silently skipped the patch fails too.

Verified

Reproduced red on this branch's tip (the same 5 failures CI shows on #1858), green after the change; the test's own run prints engine-package: ok.

🤖 Generated with Claude Code

…ock overlay patches

The parallel-solve change gave run-souffle.sh a header overlay
(souffle_overlay) that copies the install's include dir, seds the
write-entry RMWs in souffle/utility/ParallelUtil.h to seq_cst, and
refuses an include dir without that header — no unpatched cache entry
may pass for a patched one. The engine-package test's stub include dir
carried only CompiledSouffle.h, so every stubbed --prepare died at the
overlay and the java suite failed on any branch, parser-only PRs
included.

The stub now ships a ParallelUtil.h with the acquire RMWs, as a real
install's headers do, and the test asserts the prepare leaves the
patched overlay (seq_cst present, acquire gone) in the cache — so a
prepare that silently skipped the patch would fail too.

Reproduced red on the branch tip (5 failures, the ones CI shows),
green after the change.

Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…pare and the run disagree

The parallel solve probes c++ for OpenMP before every invocation. Under
this test the prepare runs with a stub c++ (the probe's compile is
counted and, on linux, fails at chmod of /dev/null, so prepare caches
the serial name) while the run after it sees the real c++ (the probe
succeeds, so it looks for the -par name): the run cannot find the
binary prepare just built, and the probe's extra c++ calls break every
compile count. That is a harness artifact — a real prepare and a real
run share one c++ — so the flavor is pinned serial for the whole test:
what is under test is packaging and caching, not the solve.

Control: with AXIOM_SOLVE_PARALLEL=1 forced, the test reproduces CI's
four failures on darwin too; pinned, it is green on both.

Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@swapnilpaliwal-sd
swapnilpaliwal-sd merged commit ddfaf04 into apps/integration-0.1.9 Oct 7, 2026
12 checks passed
@swapnilpaliwal-sd
swapnilpaliwal-sd deleted the fix/engine-package-seqlock-stub branch October 7, 2026 22:34
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