Skip to content

macOS minidumps are missing a dyld module #46

@sfackler

Description

@sfackler

After #44, macOS minidumps almost work perfectly, except that they appear to be missing a module entry for dyld, which means the last few frames under main don't get processed properly:

...

14  diskwrite!std::rt::lang_start + 0x40
     x19 = 0x00000001026f8060    x20 = 0x000000010249db14
     x21 = 0x0000000102864070    x22 = 0x0000000000000000
     x23 = 0x0000000000000000    x24 = 0x0000000000000000
     x25 = 0x000000016d962230    x26 = 0x0000000149e04301
     x27 = 0x0000000000000000    x28 = 0x0000000000000000
      fp = 0x000000016d963020     sp = 0x000000016d962fe0
      pc = 0x00000001024a39d8
    Found by: call frame info
15  diskwrite!main + 0x1c
     x19 = 0x00000001026f8060    x20 = 0x000000010249db14
     x21 = 0x0000000102864070    x22 = 0x0000000000000000
     x23 = 0x0000000000000000    x24 = 0x0000000000000000
     x25 = 0x000000016d962230    x26 = 0x0000000149e04301
     x27 = 0x0000000000000000    x28 = 0x0000000000000000
      fp = 0x000000016d963030     sp = 0x000000016d963030
      pc = 0x000000010249db34
    Found by: call frame info
16  0x102809088
     x19 = 0x00000001026f8060    x20 = 0x000000010249db14
     x21 = 0x0000000102864070    x22 = 0x0000000000000000
     x23 = 0x0000000000000000    x24 = 0x0000000000000000
     x25 = 0x000000016d962230    x26 = 0x0000000149e04301
     x27 = 0x0000000000000000    x28 = 0x0000000000000000
      fp = 0x000000016d963180     sp = 0x000000016d963040
      pc = 0x000000010280908c
    Found by: call frame info
17  0x102809088
      sp = 0x000000016d963190     pc = 0x000000010280908c
    Found by: previous frame's frame pointer

...

LLDB (on a different binary) shows the last frame being the start symbol from dyld:

    frame #18: 0x0000000100001240 test`std::rt::lang_start::h5b57405ebf269449 + 48
    frame #19: 0x000000010000140c test`main + 32
    frame #20: 0x000000010007508c dyld`start + 520

and shows dyld loaded between the main binary and libSystem.B.dylib:

[  0] 6C610B65-C8E1-31D7-8359-A31DDA460F58 0x0000000100000000 /Users/sfackler/test
[  1] D9C2A46E-8DC4-3950-9D6A-F799E8CCB683 0x0000000100070000 /usr/lib/dyld
[  2] BF249051-3A83-36E9-A2D5-6D798639C80E 0x00000001994d1000 /usr/lib/libSystem.B.dylib
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions