Skip to content

Instantly share code, notes, and snippets.

@ugexe
Last active December 1, 2021 16:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ugexe/8c34b26c5edbcaed3784d3cf377ae334 to your computer and use it in GitHub Desktop.
Save ugexe/8c34b26c5edbcaed3784d3cf377ae334 to your computer and use it in GitHub Desktop.
❯ cat test.raku
shell("ls")
❯ ps aux|grep raku
ugexe 27354 0.0 0.6 34272588 94160 s002 S+ 7:38PM 0:00.33 raku test.raku
❯ lldb
(lldb) process attach --pid 27354
Process 27354 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame #0: 0x00007ff818ebeaf6 libsystem_kernel.dylib`semaphore_wait_trap + 10
libsystem_kernel.dylib`semaphore_wait_trap:
-> 0x7ff818ebeaf6 <+10>: retq
0x7ff818ebeaf7 <+11>: nop
libsystem_kernel.dylib`semaphore_wait_signal_trap:
0x7ff818ebeaf8 <+0>: movq %rcx, %r10
0x7ff818ebeafb <+3>: movl $0x1000025, %eax ; imm = 0x1000025
Target 0: (rakudo) stopped.
Executable module set to "/Users/ugexe/.rakubrew/versions/moar-blead/install/bin/rakudo".
Architecture set to: x86_64h-apple-macosx-.
(lldb) bt all
warning: could not find Objective-C class data in the process. This may reduce the quality of type information available.
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
* frame #0: 0x00007ff818ebeaf6 libsystem_kernel.dylib`semaphore_wait_trap + 10
frame #1: 0x000000010e457990 libmoar.dylib`uv_sem_wait(sem=0x0000600001980560) at thread.c:458:9 [opt]
frame #2: 0x000000010e32a2fe libmoar.dylib`MVM_semaphore_acquire(tc=0x00007f8d9bf043e0, sem=<unavailable>) at Semaphore.c:126:5 [opt]
frame #3: 0x000000010e2b80ec libmoar.dylib`MVM_interp_run(tc=<unavailable>, initial_invoke=<unavailable>, invoke_data=<unavailable>, outer_runloop=0x0000000000000000) at interp.c:3767:21 [opt]
frame #4: 0x000000010e40808e libmoar.dylib`MVM_vm_run_file(instance=<unavailable>, filename=<unavailable>) at moar.c:505:5 [opt]
frame #5: 0x000000010da12a56 rakudo`main(argc=<unavailable>, argv=0x00007ff7b24f07d8) at main.c:474:5 [opt]
frame #6: 0x000000011765b4fe dyld`start + 462
thread #2
frame #0: 0x00007ff818ec1506 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x00007ff818efba89 libsystem_pthread.dylib`_pthread_cond_wait + 1224
frame #2: 0x000000010e457409 libmoar.dylib`uv_cond_wait(cond=0x00007f8d9c05aa98, mutex=0x00007f8d9c05aa18) at thread.c:780:7 [opt]
frame #3: 0x000000010e32ad13 libmoar.dylib`shift(tc=0x00007f8d9bf08500, st=<unavailable>, root=0x00007f8d9c03a0e0, data=<unavailable>, value=0x00007000037afb68, kind=<unavailable>) at ConcBlockingQueue.c:238:5 [opt]
frame #4: 0x000000010e307137 libmoar.dylib`MVM_repr_shift_o(tc=0x00007f8d9bf08500, obj=<unavailable>) at reprconv.c:470:5 [opt]
frame #5: 0x000000010e37193e libmoar.dylib`worker(tc=0x00007f8d9bf08500, arg_info=MVMArgs @ 0x00007000037afc40) at worker.c:29:5 [opt]
frame #6: 0x000000010e2d3fe1 libmoar.dylib`thread_initial_invoke(tc=0x00007f8d9bf08500, data=<unavailable>) at threads.c:68:9 [opt]
frame #7: 0x000000010e2aa858 libmoar.dylib`MVM_interp_run(tc=0x00007f8d9bf08500, initial_invoke=<unavailable>, invoke_data=<unavailable>, outer_runloop=0x0000000000000000) at interp.c:177:5 [opt]
frame #8: 0x000000010e2d3af5 libmoar.dylib`start_thread(data=0x000060000186c590) at threads.c:101:5 [opt]
frame #9: 0x00007ff818efb514 libsystem_pthread.dylib`_pthread_start + 125
frame #10: 0x00007ff818ef702f libsystem_pthread.dylib`thread_start + 15
thread #3
frame #0: 0x00007ff818ec1506 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x00007ff818efba89 libsystem_pthread.dylib`_pthread_cond_wait + 1224
frame #2: 0x000000010e457409 libmoar.dylib`uv_cond_wait(cond=0x00007f8d9c05acf0, mutex=0x00007f8d9c05ac70) at thread.c:780:7 [opt]
frame #3: 0x000000010e32ad13 libmoar.dylib`shift(tc=0x00007f8d9e257030, st=<unavailable>, root=0x00007f8d9cbc4478, data=<unavailable>, value=0x00007f8da06ad3b8, kind=<unavailable>) at ConcBlockingQueue.c:238:5 [opt]
frame #4: 0x000000010e2b2174 libmoar.dylib`MVM_interp_run(tc=<unavailable>, initial_invoke=<unavailable>, invoke_data=<unavailable>, outer_runloop=0x0000000000000000) at interp.c:2160:17 [opt]
frame #5: 0x000000010e2d3af5 libmoar.dylib`start_thread(data=0x0000600001810bc0) at threads.c:101:5 [opt]
frame #6: 0x00007ff818efb514 libsystem_pthread.dylib`_pthread_start + 125
frame #7: 0x00007ff818ef702f libsystem_pthread.dylib`thread_start + 15
thread #4
frame #0: 0x00007ff818ec020a libsystem_kernel.dylib`__ulock_wait + 10
frame #1: 0x00007ff818f0f2c5 libsystem_platform.dylib`_os_unfair_lock_lock_slow + 162
frame #2: 0x00007ff818ef7618 libsystem_pthread.dylib`pthread_atfork + 73
frame #3: 0x00007ff818f19169 libsystem_info.dylib`__si_module_static_mdns_block_invoke + 56
frame #4: 0x00007ff818d44cc9 libdispatch.dylib`_dispatch_client_callout + 8
frame #5: 0x00007ff818d45ec1 libdispatch.dylib`_dispatch_once_callout + 20
frame #6: 0x00007ff818f1912a libsystem_info.dylib`si_module_static_mdns + 42
frame #7: 0x00007ff818f18a70 libsystem_info.dylib`si_module_with_name + 219
frame #8: 0x00007ff818f18f1f libsystem_info.dylib`si_module_config_modules_for_category + 173
frame #9: 0x00007ff818f18b76 libsystem_info.dylib`__si_module_static_search_block_invoke + 148
frame #10: 0x00007ff818d44cc9 libdispatch.dylib`_dispatch_client_callout + 8
frame #11: 0x00007ff818d45ec1 libdispatch.dylib`_dispatch_once_callout + 20
frame #12: 0x00007ff818f18ae0 libsystem_info.dylib`si_module_static_search + 55
frame #13: 0x00007ff818f18a70 libsystem_info.dylib`si_module_with_name + 219
frame #14: 0x00007ff818f1bdab libsystem_info.dylib`getpwuid_r + 165
frame #15: 0x00007ff818f4480b CoreFoundation`_CFStringGetUserDefaultEncoding + 204
frame #16: 0x00007ff818f440fb CoreFoundation`__CFInitialize + 190
frame #17: 0x000000011766ab49 dyld`invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 182
frame #18: 0x000000011769129b dyld`invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 242
frame #19: 0x0000000117688893 dyld`invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 566
frame #20: 0x0000000117657d91 dyld`dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 129
frame #21: 0x000000011768861b dyld`dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 179
frame #22: 0x0000000117690df2 dyld`dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 466
frame #23: 0x000000011766aa7c dyld`dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 144
frame #24: 0x00000001176711ee dyld`dyld4::PrebuiltLoader::runInitializers(dyld4::RuntimeState&) const + 30
frame #25: 0x000000011766ac08 dyld`dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const + 178
frame #26: 0x000000011766acac dyld`dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const + 108
frame #27: 0x00000001176799b5 dyld`dyld4::APIs::dlopen_from(char const*, int, void*) + 563
frame #28: 0x000000010e442bd9 libmoar.dylib`uv_cpu_info [inlined] uv__get_cpu_speed(speed=<unavailable>) at darwin.c:224:28 [opt]
frame #29: 0x000000010e442bbe libmoar.dylib`uv_cpu_info(cpu_infos=0x00007000047b5c80, count=0x00007000047b5c8c) at darwin.c:338 [opt]
frame #30: 0x000000010e4056c5 libmoar.dylib`MVM_platform_cpu_count at sys.c:9:9 [opt]
frame #31: 0x000000010e2bca55 libmoar.dylib`MVM_interp_run(tc=<unavailable>, initial_invoke=<unavailable>, invoke_data=<unavailable>, outer_runloop=0x0000000000000000) at interp.c:4882:42 [opt]
frame #32: 0x000000010e2d3af5 libmoar.dylib`start_thread(data=0x0000600001812490) at threads.c:101:5 [opt]
frame #33: 0x00007ff818efb514 libsystem_pthread.dylib`_pthread_start + 125
frame #34: 0x00007ff818ef702f libsystem_pthread.dylib`thread_start + 15
thread #5
frame #0: 0x00007ff818ec020a libsystem_kernel.dylib`__ulock_wait + 10
frame #1: 0x00007ff818f0f2c5 libsystem_platform.dylib`_os_unfair_lock_lock_slow + 162
frame #2: 0x00007ff818efad9e libsystem_pthread.dylib`_pthread_atfork_prepare_handlers + 90
frame #3: 0x00007ff823d1074c libSystem.B.dylib`libSystem_atfork_prepare + 17
frame #4: 0x00007ff818df0688 libsystem_c.dylib`fork + 24
frame #5: 0x000000010e4521b4 libmoar.dylib`uv_spawn(loop=<unavailable>, process=0x000060000287cb40, options=0x0000700004fb0590) at process.c:427:9 [opt]
frame #6: 0x000000010e2fca0d libmoar.dylib`spawn_setup(tc=0x00007f8d9bf84b40, loop=0x00007f8da0836e00, async_task=<unavailable>, data=0x0000600002d6bc80) at procops.c:764:21 [opt]
frame #7: 0x000000010e2f75c3 libmoar.dylib`async_handler at eventloop.c:18:5 [opt]
frame #8: 0x000000010e2f7541 libmoar.dylib`async_handler(handle=<unavailable>) at eventloop.c:76 [opt]
frame #9: 0x000000010e44ad7b libmoar.dylib`uv__async_io(loop=0x00007f8da0836e00, w=<unavailable>, events=<unavailable>) at async.c:163:5 [opt]
frame #10: 0x000000010e445161 libmoar.dylib`uv__io_poll(loop=<unavailable>, timeout=<unavailable>) at kqueue.c:375:9 [opt]
frame #11: 0x000000010e44b231 libmoar.dylib`uv_run(loop=0x00007f8da0836e00, mode=UV_RUN_DEFAULT) at core.c:385:5 [opt]
frame #12: 0x000000010e2f7843 libmoar.dylib`enter_loop(tc=<unavailable>, arg_info=MVMArgs @ 0x0000700004fb8c40) at eventloop.c:94:5 [opt]
frame #13: 0x000000010e2d3fe1 libmoar.dylib`thread_initial_invoke(tc=0x00007f8d9bf84b40, data=<unavailable>) at threads.c:68:9 [opt]
frame #14: 0x000000010e2aa858 libmoar.dylib`MVM_interp_run(tc=0x00007f8d9bf84b40, initial_invoke=<unavailable>, invoke_data=<unavailable>, outer_runloop=0x0000000000000000) at interp.c:177:5 [opt]
frame #15: 0x000000010e2d3af5 libmoar.dylib`start_thread(data=0x000060000198a720) at threads.c:101:5 [opt]
frame #16: 0x00007ff818efb514 libsystem_pthread.dylib`_pthread_start + 125
frame #17: 0x00007ff818ef702f libsystem_pthread.dylib`thread_start + 15
(lldb)
❯ cat test.raku
shell("ls")
❯ lldb raku test.raku
(lldb) target create "raku"
Current executable set to 'raku' (x86_64).
(lldb) settings set -- target.run-args "test.raku"
(lldb) run
Process 9452 launched: '/Users/nlogan/.rakubrew/versions/moar-2021.08/install/bin/raku' (x86_64)
CURRENT bin repos test.raku versions
MODE git_reference shims update
Process 9452 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x3041270f0)
frame #0: 0x00000003041270f0
-> 0x3041270f0: xorb %dh, 0x12(%rcx)
0x3041270f3: addb $0x3, %al
0x3041270f5: addb %al, (%rax)
0x3041270f7: addb %bh, %bl
Target 0: (raku) stopped.
(lldb) bt all
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x3041270f0)
* frame #0: 0x00000003041270f0
frame #1: 0x00000001085d7a85 libmoar.dylib`MVM_serialization_demand_object + 101
frame #2: 0x00000001085d31fb libmoar.dylib`MVM_sc_get_object + 91
frame #3: 0x00000001085d74fb libmoar.dylib`MVM_serialization_read_ref + 539
frame #4: 0x00000001085d76e9 libmoar.dylib`MVM_serialization_read_ref + 1033
frame #5: 0x00000001085d9790 libmoar.dylib`MVM_serialization_finish_deserialize_method_cache + 288
frame #6: 0x00000001085cdcb8 libmoar.dylib`MVM_6model_find_method + 232
frame #7: 0x000000010854bacd libmoar.dylib`MVM_interp_run + 28253
frame #8: 0x000000010869070e libmoar.dylib`MVM_vm_run_file + 158
frame #9: 0x0000000100003a4c raku`main + 1596
frame #10: 0x00007fff204a5f3d libdyld.dylib`start + 1
frame #11: 0x00007fff204a5f3d libdyld.dylib`start + 1
thread #2
frame #0: 0x00007fff204ce0c5 libsystem_platform.dylib`_os_unfair_lock_lock_slow + 162
frame #1: 0x00007fff202b5f95 libsystem_malloc.dylib`free_tiny + 134
frame #2: 0x00000001085fcfb5 libmoar.dylib`by_type + 453
frame #3: 0x00000001085fdd66 libmoar.dylib`incorporate_stats + 1542
frame #4: 0x00000001085fe5de libmoar.dylib`MVM_spesh_stats_update + 1182
frame #5: 0x00000001085fc49d libmoar.dylib`worker + 765
frame #6: 0x00000001085a9656 libmoar.dylib`invoke_handler + 22
frame #7: 0x000000010856e697 libmoar.dylib`thread_initial_invoke + 71
frame #8: 0x0000000108544d13 libmoar.dylib`MVM_interp_run + 163
frame #9: 0x000000010856e1f5 libmoar.dylib`start_thread + 117
frame #10: 0x00007fff2048a8fc libsystem_pthread.dylib`_pthread_start + 224
frame #11: 0x00007fff20486443 libsystem_pthread.dylib`thread_start + 15
thread #3
frame #0: 0x00007fff20457cde libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x00007fff2048ae49 libsystem_pthread.dylib`_pthread_cond_wait + 1298
frame #2: 0x00000001086df8e9 libmoar.dylib`uv_cond_wait + 9
frame #3: 0x00000001085c6d43 libmoar.dylib`shift + 179
frame #4: 0x000000010854dd28 libmoar.dylib`MVM_interp_run + 37048
frame #5: 0x000000010856e1f5 libmoar.dylib`start_thread + 117
frame #6: 0x00007fff2048a8fc libsystem_pthread.dylib`_pthread_start + 224
frame #7: 0x00007fff20486443 libsystem_pthread.dylib`thread_start + 15
thread #4
frame #0: 0x00007fff202b41d3 libsystem_malloc.dylib`tiny_malloc_from_free_list + 1268
frame #1: 0x00007fff202b375d libsystem_malloc.dylib`tiny_malloc_should_clear + 233
frame #2: 0x00007fff202b2667 libsystem_malloc.dylib`szone_malloc_should_clear + 66
frame #3: 0x00007fff202cbff4 libsystem_malloc.dylib`_malloc_zone_calloc + 59
frame #4: 0x00007fff20328562 libobjc.A.dylib`class_createInstance + 63
frame #5: 0x00007fff201cbb3b libxpc.dylib`_xpc_payload_create_from_mach_msg + 30
frame #6: 0x00007fff201cba03 libxpc.dylib`xpc_receive_mach_msg + 199
frame #7: 0x00007fff201e4fee libxpc.dylib`_xpc_pipe_routine + 512
frame #8: 0x00007fff201ca8e0 libxpc.dylib`xpc_pipe_routine_with_flags + 56
frame #9: 0x00007fff201ca724 libxpc.dylib`_xpc_interface_routine + 179
frame #10: 0x00007fff201d18ab libxpc.dylib`_xpc_bootstrap_services + 115
frame #11: 0x00007fff201c6e5d libxpc.dylib`_xpc_dyld_image_callback + 320
frame #12: 0x0000000200015e92 dyld`dyld::notifyBatchPartial(dyld_image_states, bool, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*), bool, bool) + 1308
frame #13: 0x0000000200025a8e dyld`ImageLoader::link(ImageLoader::LinkContext const&, bool, bool, bool, ImageLoader::RPathChain const&, char const*) + 522
frame #14: 0x0000000200016513 dyld`dyld::link(ImageLoader*, bool, bool, ImageLoader::RPathChain const&, unsigned int) + 383
frame #15: 0x000000020002209b dyld`dlopen_internal + 489
frame #16: 0x00007fff204a7c94 libdyld.dylib`dlopen_internal(char const*, int, void*) + 185
frame #17: 0x00007fff2049607e libdyld.dylib`dlopen + 28
frame #18: 0x00000001086cb0b9 libmoar.dylib`uv_cpu_info + 217
frame #19: 0x000000010868dce5 libmoar.dylib`MVM_platform_cpu_count + 21
frame #20: 0x0000000108559c38 libmoar.dylib`MVM_interp_run + 85960
frame #21: 0x000000010856e1f5 libmoar.dylib`start_thread + 117
frame #22: 0x00007fff2048a8fc libsystem_pthread.dylib`_pthread_start + 224
frame #23: 0x00007fff20486443 libsystem_pthread.dylib`thread_start + 15
thread #5
frame #0: 0x0000000108597a9d libmoar.dylib`spawn_setup + 989
frame #1: 0x0000000108592693 libmoar.dylib`async_handler + 163
frame #2: 0x00000001086d325b libmoar.dylib`uv__async_io + 363
frame #3: 0x00000001086cd641 libmoar.dylib`uv__io_poll + 2017
frame #4: 0x00000001086d3711 libmoar.dylib`uv_run + 449
frame #5: 0x0000000108592913 libmoar.dylib`enter_loop + 35
frame #6: 0x00000001085a9656 libmoar.dylib`invoke_handler + 22
frame #7: 0x000000010856e697 libmoar.dylib`thread_initial_invoke + 71
frame #8: 0x0000000108544d13 libmoar.dylib`MVM_interp_run + 163
frame #9: 0x000000010856e1f5 libmoar.dylib`start_thread + 117
frame #10: 0x00007fff2048a8fc libsystem_pthread.dylib`_pthread_start + 224
frame #11: 0x00007fff20486443 libsystem_pthread.dylib`thread_start + 15
(lldb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment