Skip to content

EXPERIMENT (do not merge): does the tail-forwarding fix stop the Windows crash? - #15006

Draft
petebacondarwin wants to merge 2 commits into
mainfrom
exp/bisect-with-tail-fix
Draft

EXPERIMENT (do not merge): does the tail-forwarding fix stop the Windows crash?#15006
petebacondarwin wants to merge 2 commits into
mainfrom
exp/bisect-with-tail-fix

Conversation

@petebacondarwin

Copy link
Copy Markdown
Contributor

Temporary diagnostic branch. Not for merge — will be closed once it has answered its question. Companion to #15001.

This branch is #14993 plus the bisect harness. Eight rounds of bisecting on Windows CI narrowed the fixtures/dev-registry crash to a single trigger:

Peer that gets killed Assets worker Bound by victim Tail consumer of victim Crashed
worker-entrypoint-with-assets yes yes yes 4/5 reps
worker-entrypoint no yes no 0/3 (11 cycles)
exported-handler-with-assets yes no no 0/3 (14 cycles)

Being an assets worker is not sufficient, and being bound is not sufficient. The only peer whose abrupt death aborts the survivor is the one reached over the tail path through the assets RPC-proxy hop — which is exactly where #14993 stops a departed peer's rejection from escaping unhandled.

Also ruled out along the way: forced dev-server restarts (0/3), hand-written registry churn with no live peer (0/3), idle sessions at any count (0/41), port contention, start order, CPU starvation, and traffic through the binding.

Baseline to beat here is 4/5 reps over 17 kill cycles, so this run does 8 reps of the crashing arm plus both negative controls.

`tail()` returned the forwarding RPC's promise from inside a `try`/`catch`, so
the rejection a departed peer produces landed outside the `try` and escaped as
an unhandled rejection. The `catch` only ever guarded the synchronous `JSON`
work, so a peer going away produced no diagnostic at all.

Await the call so the rejection is caught and reported.
Round 8 narrowed the trigger to killing a peer that is both an assets worker
and the victim's tail consumer, which is the path PR #14993 stops dropping
rejections on. Baseline to beat: 4/5 reps over 17 kill cycles.
@changeset-bot

changeset-bot Bot commented Aug 3, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2fee67b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 8 packages
Name Type
miniflare Patch
@cloudflare/deploy-helpers Patch
@cloudflare/pages-shared Patch
@cloudflare/remote-bindings Patch
@cloudflare/runtime-types Patch
@cloudflare/vite-plugin Patch
@cloudflare/vitest-pool-workers Patch
wrangler Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

✅ All changesets look good

@pkg-pr-new

pkg-pr-new Bot commented Aug 3, 2026

Copy link
Copy Markdown
@cloudflare/autoconfig

npm i https://pkg.pr.new/@cloudflare/autoconfig@15006

@cloudflare/build-output-utils

npm i https://pkg.pr.new/@cloudflare/build-output-utils@15006

@cloudflare/config

npm i https://pkg.pr.new/@cloudflare/config@15006

create-cloudflare

npm i https://pkg.pr.new/create-cloudflare@15006

@cloudflare/deploy-helpers

npm i https://pkg.pr.new/@cloudflare/deploy-helpers@15006

@cloudflare/kv-asset-handler

npm i https://pkg.pr.new/@cloudflare/kv-asset-handler@15006

miniflare

npm i https://pkg.pr.new/miniflare@15006

@cloudflare/pages-functions

npm i https://pkg.pr.new/@cloudflare/pages-functions@15006

@cloudflare/pages-shared

npm i https://pkg.pr.new/@cloudflare/pages-shared@15006

@cloudflare/unenv-preset

npm i https://pkg.pr.new/@cloudflare/unenv-preset@15006

@cloudflare/vite-plugin

npm i https://pkg.pr.new/@cloudflare/vite-plugin@15006

@cloudflare/vitest-pool-workers

npm i https://pkg.pr.new/@cloudflare/vitest-pool-workers@15006

@cloudflare/workers-auth

npm i https://pkg.pr.new/@cloudflare/workers-auth@15006

@cloudflare/workers-editor-shared

npm i https://pkg.pr.new/@cloudflare/workers-editor-shared@15006

@cloudflare/workers-utils

npm i https://pkg.pr.new/@cloudflare/workers-utils@15006

wrangler

npm i https://pkg.pr.new/wrangler@15006

commit: 2fee67b

@ask-bonk

ask-bonk Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@petebacondarwin Bonk workflow was cancelled.

View workflow run · To retry, trigger Bonk again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Untriaged

Development

Successfully merging this pull request may close these issues.

2 participants