Repository navigation
fix(release): clear publishing and runtime blockers - #9998
proggeramlug wants to merge 28 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Final CI classification for head Passed: Failures already independent of this branch:
|
|
Closing (owner-approved split, 2026-09-24). The release/CI half is superseded or stale (tokio is gone, and train and release infrastructure has moved on). The three runtime fixes were checked against main:
|
The r32 release failed on every platform before publishing, while
mainalso had CI and runtime correctness blockers. This stack fixes the shared release infrastructure failures, clears the reproducedmainreds, and addresses root causes found for #9942 and #9983.Release and CI
grepreturn 1 underset -euo pipefail, aborting both macOS jobs.GC_INIT_DONEroot-holder pin and serialize process-global runtime/native-registry tests.workflow_runexception to the gate-failure observer, whose privileged job checks out and executes only trustedmain.Runtime fixes
randomBytescallbacks and scrypt state, install named stream exports, and add missingasync_hooksprototype methods (main health 2026-09-08: what the local CI replay found (7 reds on main, 3 with fix PRs, the obsolete #7254 pin, a Linux hang, a load-sensitive SIGSEGV) #9974, async_hooks prototype-metadata test fails on Linux main: compiled fixture sees AsyncLocalStorage/AsyncResource prototype methods as missing #9980).Symbol.speciesarray-copy state across moving GC, a second independently reproduced pointer-layout bug found while investigating GC: a 12-element array persistently holds a pointer at index 10 that the slot enumeration never visits (UNENUMERATED, reserved=0x8020) #9983.nextmethods in eager spread,Array.from, collection-constructor, and Promise-combinator paths. The gap-suite oracle failure masked a real product bug: bulk materializers returned raw elements while manual iteration used the patch. Push-spread now keeps the boxed iterable family, roots both operands across user callbacks, preserves Set/Map/typed-array/custom-iterable sources, and normalizes holes toundefined.Investigation coverage
The landed Drizzle probe is strengthened for exact Drizzle 0.44.7 behavior and checks the lazy-typing transition after every
mergeQueriesmutation (#9935). It remains a measured negative rather than a claimed fix: 1,000 iterations matched Node, and a hostile one-iteration run survived 7,448 copying minors with the mark verifier clear. The exact production-boundary capture request is posted on #9935.Validation
tests/release_tokio_test.py: 10/10 passed.PERRY_GC_SCHEDULE_RATE=1, evacuation verification, and protected from-space). The allocation-free canonical-prototype probe passed 3/3.perry,perry-runtime-static, andperry-stdlib-staticcompleted after the final source edit; the release-helper coherence test passed. Raw-handle debt is 955 versus the 963 baseline, with all 112 per-module ceilings satisfied.Remaining release blockers and limits
maingate blocker.mainand is outside this stack.