rest of stack, for context
(lldb) up
frame #2: 0x000000010284941c libc++.1.0.dylib`std::__1::DoIOSInit::DoIOSInit() + 148
libc++.1.0.dylib`std::__1::DoIOSInit::DoIOSInit:
-> 0x10284941c <+148>: add x0, sp, #0x10
0x102849420 <+152>: bl 0x10284b034 ; std::__1::locale::~locale()
0x102849424 <+156>: nop
0x102849428 <+160>: ldr x8, #0x6ed40 ; (void *)0x00000001031743d0: vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >
(lldb)
frame #3: 0x000000010284a9d4 libc++.1.0.dylib`_GLOBAL__I_000100 + 72
libc++.1.0.dylib`:
-> 0x10284a9d4 <+72>: adr x0, #-0xf58 ; std::__1::DoIOSInit::~DoIOSInit()
0x10284a9d8 <+76>: nop
0x10284a9dc <+80>: adr x2, #-0x369dc
0x10284a9e0 <+84>: nop
(lldb)
frame #4: 0x00000001a0b4c1e0 dyld`invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const::$_0::operator()() const + 168
dyld`invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const::$_0::operator()() const:
-> 0x1a0b4c1e0 <+168>: add x0, sp, #0x10
0x1a0b4c1e4 <+172>: bl 0x1a0b2ba90 ; dyld3::ScopedTimer::endTimer()
0x1a0b4c1e8 <+176>: ldp x29, x30, [sp, #0xa0]
0x1a0b4c1ec <+180>: ldp x20, x19, [sp, #0x90]
(lldb)
frame #5: 0x00000001a0b8dc60 dyld`invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 172
dyld`invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const:
-> 0x1a0b8dc60 <+172>: add x21, x21, #0x8
0x1a0b8dc64 <+176>: cmp x21, x22
0x1a0b8dc68 <+180>: b.lo 0x1a0b8dbf0 ; <+60>
0x1a0b8dc6c <+184>: b 0x1a0b8dd2c ; <+376>
(lldb)
frame #6: 0x00000001a0b811a4 dyld`invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 528
dyld`invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const:
-> 0x1a0b811a4 <+528>: ldrb w8, [x19]
0x1a0b811a8 <+532>: cbnz w8, 0x1a0b81308 ; <+884>
0x1a0b811ac <+536>: add x8, x25, #0x50
0x1a0b811b0 <+540>: cmp x25, x23
(lldb)
frame #7: 0x00000001a0b2c2d8 dyld`dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 296
dyld`dyld3::MachOFile::forEachLoadCommand:
-> 0x1a0b2c2d8 <+296>: ldrb w8, [sp, #0x3f]
0x1a0b2c2dc <+300>: cbnz w8, 0x1a0b2c25c ; <+172>
0x1a0b2c2e0 <+304>: add w22, w22, #0x1
0x1a0b2c2e4 <+308>: ldr w8, [x20, #0x10]
(lldb)
frame #8: 0x00000001a0b801cc dyld`dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 192
dyld`dyld3::MachOFile::forEachSection:
-> 0x1a0b801cc <+192>: sub x0, x29, #0x38
0x1a0b801d0 <+196>: bl 0x1a0b2c354 ; Diagnostics::assertNoError() const
0x1a0b801d4 <+200>: add x0, sp, #0x48
0x1a0b801d8 <+204>: mov w1, #0x8
(lldb)
frame #9: 0x00000001a0b82cfc dyld`dyld3::MachOFile::forEachInitializerPointerSection(Diagnostics&, void (unsigned int, unsigned int, bool&) block_pointer) const + 160
dyld`dyld3::MachOFile::forEachInitializerPointerSection:
-> 0x1a0b82cfc <+160>: ldp x29, x30, [sp, #0x60]
0x1a0b82d00 <+164>: ldp x20, x19, [sp, #0x50]
0x1a0b82d04 <+168>: ldp x22, x21, [sp, #0x40]
0x1a0b82d08 <+172>: add sp, sp, #0x70
(lldb)
frame #10: 0x00000001a0b8d904 dyld`dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 432
dyld`dyld3::MachOAnalyzer::forEachInitializer:
-> 0x1a0b8d904 <+432>: mov x8, sp
0x1a0b8d908 <+436>: adrp x16, 374721
0x1a0b8d90c <+440>: add x16, x16, #0xed8 ; _NSConcreteStackBlock
0x1a0b8d910 <+444>: mov x17, x8
(lldb)
frame #11: 0x00000001a0b48864 dyld`dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 448
dyld`dyld4::Loader::findAndRunAllInitializers:
-> 0x1a0b48864 <+448>: ldrb w8, [x21, #0x21]
0x1a0b48868 <+452>: cbz w8, 0x1a0b48924 ; <+640>
0x1a0b4886c <+456>: add x8, sp, #0x68
0x1a0b48870 <+460>: add x8, x8, #0x8
(lldb)
frame #12: 0x00000001a0b48c18 dyld`dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const + 220
dyld`dyld4::Loader::runInitializersBottomUp:
-> 0x1a0b48c18 <+220>: ldp x29, x30, [sp, #0x40]
0x1a0b48c1c <+224>: ldp x20, x19, [sp, #0x30]
0x1a0b48c20 <+228>: ldp x22, x21, [sp, #0x20]
0x1a0b48c24 <+232>: ldp x24, x23, [sp, #0x10]
(lldb)
frame #13: 0x00000001a0b48bf4 dyld`dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const + 184
dyld`dyld4::Loader::runInitializersBottomUp:
-> 0x1a0b48bf4 <+184>: add w23, w23, #0x1
0x1a0b48bf8 <+188>: cmp w23, w22
0x1a0b48bfc <+192>: b.ne 0x1a0b48b80 ; <+68>
0x1a0b48c00 <+196>: mov x0, x19
(lldb)
frame #14: 0x00000001a0b4c26c dyld`dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const::$_1::operator()() const + 112
dyld`dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const::$_1::operator()() const:
-> 0x1a0b4c26c <+112>: ldr x1, [x19]
0x1a0b4c270 <+116>: ldr x8, [x1, #0x30]
0x1a0b4c274 <+120>: lsl x12, x8, #3
0x1a0b4c278 <+124>: add x9, x12, #0x8
(lldb)
frame #15: 0x00000001a0b48d98 dyld`dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const + 304
dyld`dyld4::Loader::runInitializersBottomUpPlusUpwardLinks:
-> 0x1a0b48d98 <+304>: ldrb w8, [x19, #0x21]
0x1a0b48d9c <+308>: cbz w8, 0x1a0b48e58 ; <+496>
0x1a0b48da0 <+312>: add x8, sp, #0x8
0x1a0b48da4 <+316>: add x8, x8, #0x8
(lldb)
frame #16: 0x00000001a0b6c984 dyld`dyld4::APIs::runAllInitializersForMain() + 468
dyld`dyld4::APIs::runAllInitializersForMain:
-> 0x1a0b6c984 <+468>: mov x0, x20
0x1a0b6c988 <+472>: mov x1, x19
0x1a0b6c98c <+476>: bl 0x1a0b44b04 ; dyld4::Loader::analyzer(dyld4::RuntimeState&) const
0x1a0b6c990 <+480>: bl 0x1a0b7fea0 ; dyld3::MachOFile::isMainExecutable() const
(lldb)
frame #17: 0x00000001a0b312d0 dyld`dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 3480
dyld`dyld4::prepare:
-> 0x1a0b312d0 <+3480>: bl 0x1a0b6aa7c ; dyld4::notifyMonitoringDyldMain()
0x1a0b312d4 <+3484>: mov w0, #0x4
0x1a0b312d8 <+3488>: movk w0, #0x1f07, lsl #16
0x1a0b312dc <+3492>: bl 0x1a0b2bdc0 ; dyld3::kdebug_trace_dyld_enabled(unsigned int)
(lldb)
frame #18: 0x00000001a0b2fe18 dyld`start + 1964
dyld`start:
-> 0x1a0b2fe18 <+1964>: mov x19, x0
0x1a0b2fe1c <+1968>: ldrb w8, [sp, #0xb1]
0x1a0b2fe20 <+1972>: cbnz w8, 0x1a0b2fe88 ; <+2076>
0x1a0b2fe24 <+1976>: ldrb w8, [sp, #0xb0]
(lldb)
error: Already at the top of the stack.
This stack trace comes from a machine running Apple Silicon, but we get essentially the same on an Intel machine. (No problems whatsoever on Linux.)