Repository navigation
test(ffi): hold the route that keeps the panicking origin alive - #7989
Merged
pullfrog[bot] merged 1 commit intoNov 5, 2026
Merged
pullfrog[bot] merged 1 commit into
pullfrog[bot] merged 1 commit into
Conversation
The container-importer supervision test dropped the route it created as a temporary, leaving only broadcast handles. Under the new ownership the route is the origin's owner, so the driver could observe every owner gone and finish cleanly before the injected panic, making the test race the driver and fail under load. Hold the route until the failure is recorded, then drop it before the importer assertions. Also spell out that the route, not the broadcast, keeps the driver running.
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.
Fix for the
moq-fficheck failure on #7806, stacked on its branch because the branch is locked in the merge queue.Diagnosis
origin::supervision_tests::container_importers_keep_the_origin_failure_after_other_owners_are_releasedfailed on CI 114130473307 with:The test was migrated to
origin.route(...).unwrap().broadcast().unwrap(), which drops theMoqRouteand keeps only broadcast handles. Under the new ownership the route is the origin's owner (RouteState::_keepalive), while a broadcast producer is not: once the origin producer and the route are both gone, the driver pollsClosedand finishes cleanly. The test then races the driver against its injected panic, so it usually passes on an idle host and loses the race under CI load.Verified deterministically by dropping the route before the panic and waiting 200 ms: the assertion fails with the same message. Holding the route instead passes 15/15 runs.
Change
Routedoc: the route, not the broadcast, keeps the origin'sDriverrunning.Verification
cargo test -p moq-ffi --lib -- origin::supervision_tests: 7 passed.cargo fmt --all -- --checkandcargo clippy -p moq-ffi --lib --locked -- -D warnings: clean.Once #7806 is dequeued, this commit (
da3f1b09e) can go straight ontoquest/m1/api-audit/route/handle.deepseek-v4.1-flash-1017(free via Pullfrog for OSS) | 𝕏