oven-sh / bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
https://bun.sh
Other
74.25k stars 2.77k forks source link

`bun --inspect-brk` segfaults #6405

Open marvinside opened 1 year ago

marvinside commented 1 year ago

What version of Bun is running?

(Edit: added more affected Versions)

What platform is your computer?

Darwin 22.6.0 x86_64 i386

What steps can reproduce the bug?

Testfile:

console.log("Test");

Run bun --inspect-brk ./src/debug2.ts, then open the debugger link in the browser

What is the expected behavior?

Debugger should load, bun should continue running

What do you see instead?

$ bun --inspect-brk ./src/debug2.ts
--------------------- Bun Inspector --------------------- 
Listening:
  ws://localhost:6499/nqjorz6e5j
Inspect in browser:
  https://debug.bun.sh/#localhost:6499/nqjorz6e5j
--------------------- Bun Inspector --------------------- 
[1]    21021 segmentation fault  bun --inspect-brk ./src/debug2.ts

Additional information

running without --inspect-brk works.

Jarred-Sumner commented 1 year ago

I'm not able to reproduce this on macOS arm64

eslym commented 1 year ago

i not sure this related or not, but when i click record timeline, seg fault occurs

steps:

  1. run bun --inspect any.ts
  2. open the debugger on debug.bun.sh
  3. navigate to timeline tab click record

bun version: 1.0.7+b0393fba6200d8573f3433fb0af258a0e33ac157 os: Linux 5.15.90.1-microsoft-standard-WSL2 x86_64 unknown

LLDB Log ``` $ lldb bun-profile (lldb) target create "bun-profile" Current executable set to 'bun-profile' (x86_64). (lldb) run --inspect dev.ts Process 147143 launched: '/usr/local/bin/bun-profile' (x86_64) --------------------- Bun Inspector --------------------- Listening: ws://localhost:6499/f4ezwg48ck Inspect in browser: https://debug.bun.sh/#localhost:6499/f4ezwg48ck --------------------- Bun Inspector --------------------- Listening on http://localhost:5173 Process 147143 stopped * thread #1, name = 'bun-profile', stop reason = signal SIGSEGV: invalid address (fault address: 0x1a000004e9b0) frame #0: 0x0000555559cee218 bun-profile`Inspector::JSGlobalObjectDebugger::attachDebugger() + 584 bun-profile`Inspector::JSGlobalObjectDebugger::attachDebugger: -> 0x555559cee218 <+584>: movl (%rax), %eax 0x555559cee21a <+586>: andl $-0x2, %eax 0x555559cee21d <+589>: cmpq %rdx, 0x28(%rcx,%rax) 0x555559cee222 <+594>: jne 0x555559cee1d0 ; <+512> (lldb) bt all error: need to add support for DW_TAG_base_type 'anyopaque' encoded with DW_ATE = 0x5, bit_size = 0 * thread #1, name = 'bun-profile', stop reason = signal SIGSEGV: invalid address (fault address: 0x1a000004e9b0) * frame #0: 0x0000555559cee218 bun-profile`Inspector::JSGlobalObjectDebugger::attachDebugger() + 584 frame #1: 0x0000555559d1fe1d bun-profile`Inspector::InspectorDebuggerAgent::internalEnable() + 141 frame #2: 0x0000555559d211b3 bun-profile`non-virtual thunk to Inspector::InspectorDebuggerAgent::enable() + 67 frame #3: 0x0000555559d4cec7 bun-profile`Inspector::DebuggerBackendDispatcher::enable(long, WTF::RefPtr, WTF::DefaultRefDerefTraits >&&) + 55 frame #4: 0x0000555559d4bfac bun-profile`Inspector::DebuggerBackendDispatcher::dispatch(long, WTF::String const&, WTF::Ref >&&) + 476 frame #5: 0x0000555559cdcb64 bun-profile`JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemote(WTF::String&&) + 4308 frame #6: 0x000055555ad8076b bun-profile`Bun::BunInspectorConnection::receiveMessagesOnInspectorThread(WebCore::ScriptExecutionContext&, Zig::GlobalObject*) + 331 frame #7: 0x000055555aea7204 bun-profile`Bun__performTask + 20 frame #8: 0x00005555587e3b95 bun-profile`src.bun.js.event_loop.EventLoop.tickWithCount [inlined] run(this=, global=0x00007fffac4c4068) at event_loop.zig:267:25 frame #9: 0x00005555587e3b8d bun-profile`src.bun.js.event_loop.EventLoop.tickWithCount(this=0x0000022d580f0100) at event_loop.zig:747 frame #10: 0x0000555558673037 bun-profile`src.bun.js.event_loop.EventLoop.tick(this=0x0000022d580f0100) at event_loop.zig:1087:38 frame #11: 0x00005555585c72c5 bun-profile`src.bun.js.javascript.OpaqueWrap__anon_50961__struct_715844.callback [inlined] tick at javascript.zig:1016:30 frame #12: 0x00005555585c72b2 bun-profile`src.bun.js.javascript.OpaqueWrap__anon_50961__struct_715844.callback at bun_js.zig:351 frame #13: 0x00005555585c6d31 bun-profile`src.bun.js.javascript.OpaqueWrap__anon_50961__struct_715844.callback(ctx=0x000055555b42cea0) at javascript.zig:105 frame #14: 0x000055555aec1874 bun-profile`JSC__VM__holdAPILock + 36 frame #15: 0x000055555852e131 bun-profile`src.bun_js.Run.boot at shimmer.zig:186:41 frame #16: 0x000055555852e11b bun-profile`src.bun_js.Run.boot [inlined] holdAPILock(this=, ctx=, callback=) at bindings.zig:5068 frame #17: 0x000055555852e11b bun-profile`src.bun_js.Run.boot(ctx_=, entry_path=) at bun_js.zig:233 frame #18: 0x000055555853e1c5 bun-profile`src.cli.Command.maybeOpenWithBunJS(ctx=0x00007ffffffc3d40) at cli.zig:1748:23 frame #19: 0x00005555582a9c8a bun-profile`src.cli.Cli.start__anon_5447 at cli.zig:1647:47 frame #20: 0x00005555582a8e5a bun-profile`src.cli.Cli.start__anon_5447(allocator=, (null)=, (null)=) at cli.zig:57 frame #21: 0x00005555582a4daa bun-profile`main at main.zig:40:22 frame #22: 0x00005555582a4b60 bun-profile`main [inlined] callMain at start.zig:573 frame #23: 0x00005555582a4b60 bun-profile`main [inlined] initEventLoopAndCallMain at start.zig:517 frame #24: 0x00005555582a4b60 bun-profile`main at start.zig:467 frame #25: 0x00005555582a4b1c bun-profile`main(c_argc=, c_argv=, c_envp=) at start.zig:482 frame #26: 0x00007ffff7ca4d0a libc.so.6`__libc_start_main + 234 frame #27: 0x0000555557f6902a bun-profile`_start + 42 thread #2, name = 'bun-profile' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555592c4dee bun-profile`scavenger_thread_main + 1918 frame #2: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #3: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #3, name = 'Debugger' frame #0: 0x00007ffff7d7cd56 libc.so.6`epoll_wait + 86 frame #1: 0x0000555559132534 bun-profile`us_loop_run_bun_tick(loop=0x00007fffa4000bc0, timeoutMs=0, tickCallbackContext=) at epoll_kqueue.c:0 frame #2: 0x0000555558e42ea9 bun-profile`src.bun.js.javascript.VirtualMachine.Debugger.start [inlined] tick(this=0x00007fffa4000bc0, ctx=) at uws.zig:928:29 frame #3: 0x0000555558e42e9f bun-profile`src.bun.js.javascript.VirtualMachine.Debugger.start at event_loop.zig:1066 frame #4: 0x0000555558e42e1f bun-profile`src.bun.js.javascript.VirtualMachine.Debugger.start(other_vm=) at javascript.zig:999 frame #5: 0x000055555aec1874 bun-profile`JSC__VM__holdAPILock + 36 frame #6: 0x0000555558c7d493 bun-profile`Thread.PosixThreadImpl.spawn__anon_1251083.Instance.entryFn at shimmer.zig:186:41 frame #7: 0x0000555558c7d481 bun-profile`Thread.PosixThreadImpl.spawn__anon_1251083.Instance.entryFn [inlined] holdAPILock(this=, ctx=0x0000022d580f0000, callback=) at bindings.zig:5068 frame #8: 0x0000555558c7d481 bun-profile`Thread.PosixThreadImpl.spawn__anon_1251083.Instance.entryFn at javascript.zig:952 frame #9: 0x0000555558c7d216 bun-profile`Thread.PosixThreadImpl.spawn__anon_1251083.Instance.entryFn [inlined] callFn__anon_1293655 at Thread.zig:412 frame #10: 0x0000555558c7d216 bun-profile`Thread.PosixThreadImpl.spawn__anon_1251083.Instance.entryFn(raw_arg=0x000055555ba9cb00) at Thread.zig:685 frame #11: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #12: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #4, name = 'HeapHelper' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #5, name = 'HeapHelper' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #6, name = 'HeapHelper' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #7, name = 'HeapHelper' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #8, name = 'HeapHelper' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #9, name = 'HeapHelper' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #10, name = 'HeapHelper' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #11, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x000055555ba9cc50) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #12, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff98000b60) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #13, name = 'JITWorker' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #14, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff90000b60) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #15, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff94000b60) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #16, name = 'JITWorker' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #17, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff88000b60) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #18, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff7c000b60) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #19, name = 'JITWorker' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #20, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff94000cb0) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #21, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff98000cb0) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #22, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff78000b60) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #23, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff7c000cb0) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #24, name = 'CryptoQueue' frame #0: 0x00007ffff7e637b2 libpthread.so.0`pthread_cond_wait@@GLIBC_2.3.2 + 482 frame #1: 0x0000555559321b78 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6568 frame #2: 0x00005555593034d6 bun-profile`WTF::RunLoop::runImpl(WTF::RunLoop::RunMode) + 4550 frame #3: 0x0000555559301491 bun-profile`WTF::Detail::CallableWrapper::call() + 241 frame #4: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #5: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #6: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #25, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #26, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #27, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #28, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #29, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #30, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #31, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #32, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #33, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #34, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #35, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #36, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #37, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #38, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #39, name = 't Helper Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #40, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff98000e00) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #41, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff64000b60) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #42, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff98000f50) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #43, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff5c000b60) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #44, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff58000b60) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #45, name = 'Bun Pool' frame #0: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x00005555587aa11b bun-profile`src.thread_pool.Event.wait(self=0x000055555b9aa36c) at thread_pool.zig:840 frame #2: 0x0000555558c81908 bun-profile`src.thread_pool.wait(self=0x000055555b9aa328, _is_waking=) at thread_pool.zig:574:33 frame #3: 0x00005555587a9881 bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] run(thread_pool=0x000055555b9aa328) at thread_pool.zig:708:41 frame #4: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn [inlined] callFn__anon_895282 at Thread.zig:412 frame #5: 0x00005555587a982b bun-profile`Thread.PosixThreadImpl.spawn__anon_773250.Instance.entryFn(raw_arg=0x00007fff980010a0) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #46, name = 'File Watcher' frame #0: 0x00007ffff7e6708c libpthread.so.0`read + 76 frame #1: 0x0000555558b93587 bun-profile`src.watcher.INotify.read at watcher.zig:132:42 frame #2: 0x0000555558bfa02f bun-profile`Thread.PosixThreadImpl.spawn__anon_1218433.Instance.entryFn at watcher.zig:609:50 frame #3: 0x0000555558bfa027 bun-profile`Thread.PosixThreadImpl.spawn__anon_1218433.Instance.entryFn at watcher.zig:446 frame #4: 0x0000555558bf9f4c bun-profile`Thread.PosixThreadImpl.spawn__anon_1218433.Instance.entryFn [inlined] callFn__anon_1274749 at Thread.zig:433 frame #5: 0x0000555558bf9f4c bun-profile`Thread.PosixThreadImpl.spawn__anon_1218433.Instance.entryFn(raw_arg=0x000055555baa6050) at Thread.zig:685 frame #6: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #7: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 thread #47, name = 'ollector Thread' frame #0: 0x00007ffff7e63ad8 libpthread.so.0`pthread_cond_timedwait@@GLIBC_2.3.2 + 568 frame #1: 0x00005555593219a8 bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 6104 frame #2: 0x000055555956b764 bun-profile`WTF::Detail::CallableWrapper::call() + 404 frame #3: 0x00005555592a4707 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #4: 0x00007ffff7e5cea7 libpthread.so.0`start_thread + 215 frame #5: 0x00007ffff7d7ca2f libc.so.6`__clone + 63 (lldb) ```

Update

I found another steps to reproduct seg fault, which is when the debugger open when the application is already running, any action on debugger will trigger the seg fault

  1. run bun --inspect-brk any.ts
  2. open the debugger on debug.bun.sh
  3. continue with the first break
  4. close the debugger
  5. open the debugger again
  6. click anything (toggle breakpoint/record timeline etc)
parkernilson commented 10 months ago

This bug also occurs when opening the debugger on a running express app.

Steps to reproduce:

  1. Init directory with bun init
  2. Install express with bun add express @types/express
  3. Set up a hello world express app with:
    
    // index.ts
    import express, { Express } from 'express'

const app = express()

app.get('/', (req, res) => { res.send('Hello World!') })

app.listen(3000, () => { console.log('[server]: Server is running at http://localhost:3000') })


4. Run `bun --inspect index.ts`
5. Open the debugger and do anything

The result is a segmentation fault error.

UPDATE: This only occurs with `--inspect`, but works with `--inspect-brk`. Maybe this is an unrelated issue.
marvinside commented 3 months ago

I have no idea what happened since 28th Feb, but I do not get any more segfaults with the inspector, however I am still on bun 1.0.29+a146856d1

Just upgraded, now on revision 1.1.24+85a329911, seems to work too

Ticket can be closed for me, but it seems more people are affected.

@parkernilson @eslym Can you check if you still have issues?