bun
bun copied to clipboard
signal SIGSEGV: invalid address
What version of Bun is running?
1.0.9+98f20170a
What platform is your computer?
Linux 6.2.0-36-generic x86_64 x86_64 and Darwin 23.0.0 arm64 arm
What steps can reproduce the bug?
t.ts
import { Logger } from './l';
import './t2'
Logger;
t2.js
require('./t3')
t3.ts
import { Logger } from './l';
Logger;
l.js
class Logger {}
exports.Logger = Logger;
bun t.ts
The file extensions must be exactly the same this error is very rare (1/30 times) but when more files are involved it is almost always
What is the expected behavior?
[1] 2219418 segmentation fault (core dumped) bun t.ts
What do you see instead?
exit code 0
Additional information
lldb
(lldb) run Process 1949467 launched: '/home/vamox/.bun/bin/bun-profile' (x86_64) Process 1949467 stopped * thread #1, name = 'bun-profile', stop reason = signal SIGSEGV: invalid address (fault address: 0x1a) frame #0: 0x00007fffad43c0b3 -> 0x7fffad43c0b3: movq 0x10(%rax), %rax 0x7fffad43c0b7: movq %rax, -0x28(%r12) 0x7fffad43c0bc: movq %rax, -0x40(%rbp) 0x7fffad43c0c0: movq 0x30(%rbp), %rax (lldb) bt all * thread #1, name = 'bun-profile', stop reason = signal SIGSEGV: invalid address (fault address: 0x1a) * frame #0: 0x00007fffad43c0b3 frame #1: 0x0000555558fab597 bun-profile`llint_op_call + 176 frame #2: 0x0000555558f8def0 bun-profile`vmEntryToJavaScript + 213 frame #3: 0x0000555559e32679 bun-profile`JSC::Interpreter::executeCall(JSC::JSObject*, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 1961 frame #4: 0x000055555a12de84 bun-profile`JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 212 frame #5: 0x000055555a2d591b bun-profile`JSC::runJSMicrotask(JSC::JSGlobalObject*, WTF::ObjectIdentifierGeneric<:microtaskidentifiertype wtf::objectidentifierthreadsafeaccesstraits>, JSC::JSValue, JSC::JSValue, JSC::JSValue, JSC::JSValue, JSC::JSValue) + 379 frame #6: 0x000055555a4f910d bun-profile`JSC::VM::drainMicrotasks() + 285 frame #7: 0x0000555558478502 bun-profile`src.bun.js.event_loop.EventLoop.tickQueueWithCount__anon_341171 [inlined] src.bun.js.event_loop.EventLoop.drainMicrotasksWithGlobal(this=0x00000454740f0180, globalObject=0x00007fffac4c4068) at event_loop.zig:644:45 frame #8: 0x00005555584784fa bun-profile`src.bun.js.event_loop.EventLoop.tickQueueWithCount__anon_341171(this=0x00000454740f0180) at event_loop.zig:925:43 frame #9: 0x00005555581070f7 bun-profile`src.bun.js.event_loop.EventLoop.tick [inlined] src.bun.js.event_loop.EventLoop.tickWithCount(this=0x00000454740f0180) at event_loop.zig:933:39 frame #10: 0x00005555581070ef bun-profile`src.bun.js.event_loop.EventLoop.tick(this=0x00000454740f0180) at event_loop.zig:1149:38 frame #11: 0x0000555558570501 bun-profile`src.bun.js.event_loop.EventLoop.waitForPromise(this=0x00000454740f0180, promise=src.bun.js.bindings.bindings.AnyPromise @ 0x00007ffffff91000) at event_loop.zig:1171:30 frame #12: 0x000055555841ec71 bun-profile`src.bun.js.javascript.VirtualMachine.loadEntryPoint [inlined] src.bun.js.javascript.VirtualMachine.waitForPromise(this=, promise=src.bun.js.bindings.bindings.AnyPromise @ 0x00007ffffff91000) at javascript.zig:1057:40 frame #13: 0x000055555841ec6c bun-profile`src.bun.js.javascript.VirtualMachine.loadEntryPoint(this=0x00000454740f0000, entry_path= ) at javascript.zig:2220:32 frame #14: 0x00005555580524f6 bun-profile`src.bun.js.javascript.OpaqueWrap__anon_46540__struct_261899.callback at bun_js.zig:256:30 frame #15: 0x0000555558052444 bun-profile`src.bun.js.javascript.OpaqueWrap__anon_46540__struct_261899.callback(ctx=0x000055555af211e0) at javascript.zig:106:13 frame #16: 0x00005555591cc8a4 bun-profile`JSC__VM__holdAPILock + 36 frame #17: 0x0000555557fc1871 bun-profile`src.bun_js.Run.boot at shimmer.zig:186:41 frame #18: 0x0000555557fc185b bun-profile`src.bun_js.Run.boot [inlined] src.bun.js.bindings.bindings.VM.holdAPILock(this= , ctx= , callback= ) at bindings.zig:5042:14 frame #19: 0x0000555557fc185b bun-profile`src.bun_js.Run.boot(ctx_= , entry_path= ) at bun_js.zig:233:35 frame #20: 0x0000555557fd0994 bun-profile`src.cli.Command.maybeOpenWithBunJS(ctx=0x00007ffffffc08e0) at cli.zig:1754:23 frame #21: 0x0000555557d427ed bun-profile`src.cli.Cli.start__anon_5030 at cli.zig:1660:47 frame #22: 0x0000555557d419f4 bun-profile`src.cli.Cli.start__anon_5030(allocator= , (null)= , (null)= ) at cli.zig:57:22 frame #23: 0x0000555557d3e33a bun-profile`main at main.zig:46:22 frame #24: 0x0000555557d3e0f0 bun-profile`main [inlined] start.callMain at start.zig:573:22 frame #25: 0x0000555557d3e0f0 bun-profile`main [inlined] start.initEventLoopAndCallMain at start.zig:517:5 frame #26: 0x0000555557d3e0f0 bun-profile`main at start.zig:467:36 frame #27: 0x0000555557d3e0ac bun-profile`main(c_argc= , c_argv= , c_envp= ) at start.zig:482:101 frame #28: 0x00007ffff7c23a90 libc.so.6`__libc_start_call_main(main=(bun-profile`main at start.zig:470), argc=2, argv=0x00007fffffff9de8) at libc_start_call_main.h:58:16 frame #29: 0x00007ffff7c23b49 libc.so.6`__libc_start_main_impl(main=(bun-profile`main at start.zig:470), argc=2, argv=0x00007fffffff9de8, init= , fini= , rtld_fini= , stack_end=0x00007fffffff9dd8) at libc-start.c:360:3 frame #30: 0x0000555557d3df2a bun-profile`_start + 42 thread #2, name = 'bun-profile' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffefc0e990, expected=0, clockid= , abstime=0x00007fffefbb8a00, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffefc0e968, mutex=0x00007fffefc0e940, abstime=0x00007fffefbb8a00) at pthread_cond_wait.c:652:10 frame #5: 0x000055555a90ab80 bun-profile`scavenger_thread_main + 1568 frame #6: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #7: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #3, name = 'HeapHelper' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffee0d8164, expected=0, clockid= , abstime=0x00007fffa9334800, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffee0d8138, mutex=0x00007fffee0d8110, abstime=0x00007fffa9334800) at pthread_cond_wait.c:652:10 frame #5: 0x00005555592eef6b bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 4411 frame #6: 0x0000555559d7cd64 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 404 frame #7: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #8: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #9: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #4, name = 'HeapHelper' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffee0e4164, expected=0, clockid= , abstime=0x00007fffa8b33800, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffee0e4138, mutex=0x00007fffee0e4110, abstime=0x00007fffa8b33800) at pthread_cond_wait.c:652:10 frame #5: 0x00005555592eef6b bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 4411 frame #6: 0x0000555559d7cd64 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 404 frame #7: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #8: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #9: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #5, name = 'HeapHelper' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffee0f4160, expected=0, clockid= , abstime=0x00007fffa8332800, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffee0f4138, mutex=0x00007fffee0f4110, abstime=0x00007fffa8332800) at pthread_cond_wait.c:652:10 frame #5: 0x00005555592eef6b bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 4411 frame #6: 0x0000555559d7cd64 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 404 frame #7: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #8: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #9: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #6, name = 'HeapHelper' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffee0fc160, expected=0, clockid= , abstime=0x00007fffa7b31800, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffee0fc138, mutex=0x00007fffee0fc110, abstime=0x00007fffa7b31800) at pthread_cond_wait.c:652:10 frame #5: 0x00005555592eef6b bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 4411 frame #6: 0x0000555559d7cd64 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 404 frame #7: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #8: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #9: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #7, name = 'HeapHelper' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffee104164, expected=0, clockid= , abstime=0x00007fffa7330800, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffee104138, mutex=0x00007fffee104110, abstime=0x00007fffa7330800) at pthread_cond_wait.c:652:10 frame #5: 0x00005555592eef6b bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 4411 frame #6: 0x0000555559d7cd64 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 404 frame #7: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #8: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #9: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #8, name = 'HeapHelper' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffee114160, expected=0, clockid= , abstime=0x00007fffa6b2f800, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffee114138, mutex=0x00007fffee114110, abstime=0x00007fffa6b2f800) at pthread_cond_wait.c:652:10 frame #5: 0x00005555592eef6b bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 4411 frame #6: 0x0000555559d7cd64 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 404 frame #7: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #8: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #9: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #9, name = 'HeapHelper' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffee11c160, expected=0, clockid= , abstime=0x00007fffa632e800, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffee11c138, mutex=0x00007fffee11c110, abstime=0x00007fffa632e800) at pthread_cond_wait.c:652:10 frame #5: 0x00005555592eef6b bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 4411 frame #6: 0x0000555559d7cd64 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 404 frame #7: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #8: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #9: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #10, name = 'Bun Pool' frame #0: 0x000055555822b49b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x000055555822b49b bun-profile`src.thread_pool.Event.wait(self=0x000055555b49e744) at thread_pool.zig:840:36 frame #2: 0x00005555586e4458 bun-profile`src.thread_pool.wait(self=0x000055555b49e700, _is_waking= ) at thread_pool.zig:574:33 frame #3: 0x000055555822ac01 bun-profile`Thread.PosixThreadImpl.spawn__anon_285788.Instance.entryFn [inlined] src.thread_pool.Thread.run(thread_pool=0x000055555b49e700) at thread_pool.zig:708:41 frame #4: 0x000055555822abab bun-profile`Thread.PosixThreadImpl.spawn__anon_285788.Instance.entryFn [inlined] Thread.callFn__anon_335847(args= ) at Thread.zig:412:13 frame #5: 0x000055555822abab bun-profile`Thread.PosixThreadImpl.spawn__anon_285788.Instance.entryFn(raw_arg=0x000055555b5d9d80) at Thread.zig:685:30 frame #6: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #7: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #11, name = 'Bun Pool' frame #0: 0x000055555822b49b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x000055555822b49b bun-profile`src.thread_pool.Event.wait(self=0x000055555b49e744) at thread_pool.zig:840:36 frame #2: 0x00005555586e4458 bun-profile`src.thread_pool.wait(self=0x000055555b49e700, _is_waking= ) at thread_pool.zig:574:33 frame #3: 0x000055555822ac01 bun-profile`Thread.PosixThreadImpl.spawn__anon_285788.Instance.entryFn [inlined] src.thread_pool.Thread.run(thread_pool=0x000055555b49e700) at thread_pool.zig:708:41 frame #4: 0x000055555822abab bun-profile`Thread.PosixThreadImpl.spawn__anon_285788.Instance.entryFn [inlined] Thread.callFn__anon_335847(args= ) at Thread.zig:412:13 frame #5: 0x000055555822abab bun-profile`Thread.PosixThreadImpl.spawn__anon_285788.Instance.entryFn(raw_arg=0x00007fffa0000b70) at Thread.zig:685:30 frame #6: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #7: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #12, name = 'Bun Pool' frame #0: 0x000055555822b49b bun-profile`src.thread_pool.Event.wait at Atomic.zig:80:45 frame #1: 0x000055555822b49b bun-profile`src.thread_pool.Event.wait(self=0x000055555b49e744) at thread_pool.zig:840:36 frame #2: 0x00005555586e4458 bun-profile`src.thread_pool.wait(self=0x000055555b49e700, _is_waking= ) at thread_pool.zig:574:33 frame #3: 0x000055555822ac01 bun-profile`Thread.PosixThreadImpl.spawn__anon_285788.Instance.entryFn [inlined] src.thread_pool.Thread.run(thread_pool=0x000055555b49e700) at thread_pool.zig:708:41 frame #4: 0x000055555822abab bun-profile`Thread.PosixThreadImpl.spawn__anon_285788.Instance.entryFn [inlined] Thread.callFn__anon_335847(args= ) at Thread.zig:412:13 frame #5: 0x000055555822abab bun-profile`Thread.PosixThreadImpl.spawn__anon_285788.Instance.entryFn(raw_arg=0x00007fff98000b70) at Thread.zig:685:30 frame #6: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #7: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #13, name = 'JITWorker' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffee148160, expected=0, clockid= , abstime=0x00007fffa4b2c800, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffee148138, mutex=0x00007fffee148110, abstime=0x00007fffa4b2c800) at pthread_cond_wait.c:652:10 frame #5: 0x00005555592eef6b bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 4411 frame #6: 0x0000555559d7cd64 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 404 frame #7: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #8: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #9: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #14, name = 'JITWorker' frame #0: 0x00007ffff7c8bca6 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:57:12 frame #1: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64 at futex-internal.c:87:9 frame #2: 0x00007ffff7c8bc79 libc.so.6`__GI___futex_abstimed_wait_cancelable64(futex_word=0x00007fffee178564, expected=0, clockid= , abstime=0x00007fff9dfb6800, private= ) at futex-internal.c:139:10 frame #3: 0x00007ffff7c8ea6a libc.so.6`___pthread_cond_timedwait64 at pthread_cond_wait.c:503:10 frame #4: 0x00007ffff7c8e988 libc.so.6`___pthread_cond_timedwait64(cond=0x00007fffee178538, mutex=0x00007fffee178510, abstime=0x00007fff9dfb6800) at pthread_cond_wait.c:652:10 frame #5: 0x00005555592eef6b bun-profile`WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda const&, WTF::ScopedLambda const&, WTF::TimeWithDynamicClockType const&) + 4411 frame #6: 0x0000555559d7cd64 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 404 frame #7: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #8: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #9: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 thread #15, name = 'JITWorker' frame #0: 0x0000555559eeb6d4 bun-profile`JSC::JIT::compileAndLinkWithoutFinalizing(JSC::JITCompilationEffort) + 8324 frame #1: 0x0000555559e420a4 bun-profile`JSC::BaselineJITPlan::compileInThreadImpl() + 52 frame #2: 0x0000555559f727d4 bun-profile`JSC::JITPlan::compileInThread(JSC::JITWorklistThread*) + 308 frame #3: 0x0000555559f8f4da bun-profile`JSC::JITWorklistThread::work() + 330 frame #4: 0x0000555559d7ce05 bun-profile`WTF::Detail::CallableWrapper<:automaticthread::start const void>::call() + 565 frame #5: 0x000055555933cee7 bun-profile`WTF::wtfThreadEntryPoint(void*) + 311 frame #6: 0x00007ffff7c8f6ba libc.so.6`start_thread(arg= ) at pthread_create.c:444:8 frame #7: 0x00007ffff7d1e0d0 libc.so.6`__clone3 at clone3.S:81 (lldb)
confirmed can reproduce on MacOS. fault about ~30% of the time
still on 1.0.11+f7f6233ea
still on 1.0.25+a8ff7be64