mirror of
https://github.com/oven-sh/bun
synced 2026-02-12 03:48:56 +00:00
## Summary - Fixed allocator threading violation when `BUN_INSPECT_CONNECT_TO` is set - Created thread-local `env_loader` with proper allocator isolation in debugger thread - Added regression test to verify the fix works correctly ## Problem When `BUN_INSPECT_CONNECT_TO` environment variable is set, Bun creates a debugger thread that spawns its own `VirtualMachine` instance. Previously, this VM would fall back to the global `DotEnv.instance` which was created with the main thread's allocator, causing threading violations when the debugger thread accessed environment files via `--env-file` or other env loading operations. ## Solution Modified `startJSDebuggerThread` in `src/bun.js/Debugger.zig` to: 1. Create a thread-local `DotEnv.Map` and `DotEnv.Loader` using the debugger thread's allocator 2. Pass this thread-local `env_loader` to `VirtualMachine.init()` to ensure proper allocator isolation 3. Prevent sharing of allocators across threads ## Test plan - [x] Added regression test in `test/regression/issue/test_env_loader_threading.test.ts` - [x] Verified basic Bun functionality still works - [x] Test passes with both normal execution and with `BUN_INSPECT_CONNECT_TO` set 🤖 Generated with [Claude Code](https://claude.ai/code) --------- Co-authored-by: Claude Bot <claude-bot@bun.sh> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>