diff options
author | 2022-11-19 04:59:38 -0800 | |
---|---|---|
committer | 2022-11-19 04:59:38 -0800 | |
commit | 7c7769a7c7db3b7932a2726adb9d64e011c1bed6 (patch) | |
tree | 18ab61e20ce05df90486c973d7bd683dd1be2649 /src/bun.js/javascript.zig | |
parent | 17e8181b4ec760bea8acdd2f25c3dec3c693be50 (diff) | |
download | bun-7c7769a7c7db3b7932a2726adb9d64e011c1bed6.tar.gz bun-7c7769a7c7db3b7932a2726adb9d64e011c1bed6.tar.zst bun-7c7769a7c7db3b7932a2726adb9d64e011c1bed6.zip |
Fix GC crash when handling rejected promises uncovered via `BUN_GARBAGE_COLLECTOR_LEVEL`
Diffstat (limited to 'src/bun.js/javascript.zig')
-rw-r--r-- | src/bun.js/javascript.zig | 5 |
1 files changed, 5 insertions, 0 deletions
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(); } |