boost: drop the b2 engine self-test step (deadlocks on high-core boxes) - #313
Merged
Conversation
packages/boost/build.sh ran Boost.Build's own engine regression suite (tools/build/test/test_all.py) after staging boost. That suite spawns a multiprocessing.Pool(cpu_count()) — 48 workers on the resized c4-standard-48 res-servers — and deadlocks in the build sandbox: all workers sleeping at 0% CPU, empty /dev/shm, no progress. It wedged a full pkgs build for hours (observed on pkgs#312, both arches stuck at "Building package: boost"). The suite tests the b2 build *tool*, not boost, so it's not needed to package boost — bootstrap + b2 stage + b2 install fully build and install it. Removing the step kills the deadlock on any core count; boost is otherwise unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe Boost package build script removes the execution of ChangesSkip Boost.Build Self-Test
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
twitchyliquid64
approved these changes
Jul 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Removes the
pushd tools/build/test; python3 test_all.py; popdstep frompackages/boost/build.sh.Why
That line runs Boost.Build's own engine regression suite (
test_all.py) after staging boost. It spawnsmultiprocessing.Pool(cpu_count())— 48 workers on the resizedc4-standard-48res-servers — and deadlocks in the build sandbox: 49 idlespawn_mainworkers at 0% CPU, empty/dev/shm, zero progress. It wedged a full pkgs build for hours (seen on #312 — both arches stuck atBuilding package: boost; res-servers idle at 2–4% CPU, ~1.3 MB/min of spin output).It validates the b2 build tool, not boost — so it's unnecessary for packaging.
bootstrap.sh+b2 stage+b2 installfully build and install boost without it. Removing it kills the deadlock on any core count.The 32→48-core res-server resize is what surfaced this (
cpu_count()→ worker count), and it's likely the same class as the earlier bun hangs — follow-ups: cap effective parallelism in the build sandbox, and a build-bot mid-stream read-timeout so a wedged step fails fast instead of riding the 6h watchdog.🤖 Generated with Claude Code
Summary by CodeRabbit