aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/javascript.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-19 04:59:38 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-19 04:59:38 -0800
commit7c7769a7c7db3b7932a2726adb9d64e011c1bed6 (patch)
tree18ab61e20ce05df90486c973d7bd683dd1be2649 /src/bun.js/javascript.zig
parent17e8181b4ec760bea8acdd2f25c3dec3c693be50 (diff)
downloadbun-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.zig5
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();
}