Skip to content

Revert "Merge pull request #7231 from cloudflare/erikcorry/cppgc-eager-sweeping" - #7237

Merged
ObsidianMinor merged 1 commit into
mainfrom
revert-AGAIN
Sep 3, 2026
Merged

Revert "Merge pull request #7231 from cloudflare/erikcorry/cppgc-eager-sweeping"#7237
ObsidianMinor merged 1 commit into
mainfrom
revert-AGAIN

Conversation

@ObsidianMinor

Copy link
Copy Markdown
Contributor

This reverts commit 519f66a, reversing changes made to 80c6564.

…r-sweeping"

This reverts commit 519f66a, reversing
changes made to 80c6564.
@ObsidianMinor
ObsidianMinor requested review from a team as code owners September 3, 2026 21:41
@ask-bonk

ask-bonk Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

[HIGH] src/workerd/api/basics.c++:176

A target can now be condemned after its wrapper is collected but before its CppGC shim finalizes. This abort algorithm remains reachable from the live AbortSignal, so tryGet() can return that target with its traced handles already zapped; removeEventListener() then touches V8 state through a dangling wrapper. Promote through tryAddRef(js), as the new WeakRef contract requires.

              KJ_IF_SOME(target, self.tryAddRef(js)) {

@ask-bonk

ask-bonk Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

I'm Bonk, and I've done a quick review of your PR.

Restores deferred CppGC sweeping and updates JSG wrapper handling for condemned objects.

  1. High src/workerd/api/basics.c++:176: an abort algorithm can use a condemned EventTarget through tryGet() and touch zapped V8 state. A suggestion was posted.

github run

@ObsidianMinor
ObsidianMinor merged commit e4b463f into main Sep 3, 2026
24 checks passed
@ObsidianMinor
ObsidianMinor deleted the revert-AGAIN branch September 3, 2026 22:15
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.

2 participants