bun
bun copied to clipboard
Segfault when Worker is spawned from terminated parent Worker
How can we reproduce the crash?
I'm not sure. It seems to happen sometimes when a Worker exists.
I'm using Elysia on the main thread, and ioredis
+ axios
within the worker. Unfortunately I can't share much due to it being a work project.
JavaScript/TypeScript code that reproduces the crash?
This seems to be the last thing than runs fine before the segfault
(on the main thread)
this.worker.addEventListener("close", () => {
console.log("Worker exited.");
});
Within the worker, the function I'm using to exit:
async function exit() {
clearInterval(interval);
await redis.quit();
process.exit(0);
}
Calling it like this inside another function that's called every second with setInterval
:
if (gameState === "finished") {
console.log("Game finished");
exit();
return;
}
Relevant log output
Game finished
Worker exited.
============================================================
Bun v1.1.8 (89d25807) macOS Silicon
Args: "bun", "src/index.ts"
Features: jsc dotenv(2) fetch(4) http_server transpiler_cache tsconfig
Builtins: "bun:jsc" "bun:main" "node:assert" "node:buffer" "node:crypto" "node:dns" "node:events" "node:fs" "node:http" "node:https" "node:net" "node:path" "node:stream" "node:string_decoder" "node:tls" "node:tty" "node:url" "node:util" "node:util/types" "node:zlib"
Elapsed: 3402ms | User: 1519ms | Sys: 317ms
RSS: 0.86GB | Peak: 0.86GB | Commit: 0.90GB | Faults: 69
panic: Segmentation fault at address 0x11
Stack Trace (bun.report)
Bun v1.1.8 (89d2580
) on macos aarch64 [AutoCommand]
Segmentation fault at address 0x00000011
- 2 unknown/js code
-
JSC::CodeCacheMap::pruneSlowCase
-
JSC__JSValue__fromEntries
-
src.comptime_string_map.ComptimeStringMapWithKeyType
-
src.comptime_string_map.ComptimeStringMapWithKeyType
-
src.bun.js.bindings.bindings.JSGlobalObject.throwInvalidArguments__anon_384460
-
TCPSocketPrototype__upgradeTLS
-
WebCore::JSTimeout::destroy
-
JSC::VM::~VM