bun icon indicating copy to clipboard operation
bun copied to clipboard

signal SIGSEGV: invalid address

Open sirenkovladd opened this issue 1 year ago • 3 comments

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) 

sirenkovladd avatar Nov 07 '23 04:11 sirenkovladd

confirmed can reproduce on MacOS. fault about ~30% of the time

paperclover avatar Nov 07 '23 07:11 paperclover

still on 1.0.11+f7f6233ea

sirenkovladd avatar Nov 08 '23 20:11 sirenkovladd

still on 1.0.25+a8ff7be64

sirenkovladd avatar Jan 23 '24 00:01 sirenkovladd