mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
## Summary Fixes `ASSERTION FAILED: isUInt32AsAnyInt()` errors that occurred intermittently, particularly in inspector-related tests. ## Problem The code was directly manipulating JSPromise internal fields using `asUInt32AsAnyInt()`: ```cpp promise->internalField(JSC::JSPromise::Field::Flags).get().asUInt32AsAnyInt() ``` This caused assertion failures when the internal field state was not a valid uint32. ## Solution Use WebKit's official JSPromise helper methods instead: | Before | After | |--------|-------| | Direct `internalField` manipulation for rejected promise | `promise->rejectAsHandled(vm, globalObject, value)` | | Direct `internalField` manipulation for resolved promise | `promise->fulfill(vm, globalObject, value)` | | Direct `internalField` manipulation for handled flag | `promise->markAsHandled()` | ## Files Changed - `src/bun.js/bindings/ZigGlobalObject.cpp` - `src/bun.js/bindings/ModuleLoader.cpp` - `src/bake/BakeGlobalObject.cpp` Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>