From 7c7769a7c7db3b7932a2726adb9d64e011c1bed6 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Sat, 19 Nov 2022 04:59:38 -0800 Subject: Fix GC crash when handling rejected promises uncovered via `BUN_GARBAGE_COLLECTOR_LEVEL` --- src/bun.js/javascript.zig | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/bun.js/javascript.zig') diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig index 24633eea7..80e5c43e1 100644 --- a/src/bun.js/javascript.zig +++ b/src/bun.js/javascript.zig @@ -313,6 +313,11 @@ pub export fn Bun__queueTaskConcurrently(global: *JSGlobalObject, task: *JSC.Cpp pub export fn Bun__handleRejectedPromise(global: *JSGlobalObject, promise: *JSC.JSPromise) void { const result = promise.result(global.vm()); var jsc_vm = global.bunVM(); + + // this seems to happen in some cases when GC is running + if (result == .zero) + return; + jsc_vm.onUnhandledError(global, result); jsc_vm.autoGarbageCollect(); } -- cgit v1.2.3