Any advice how to debug a MacOS memory crash like ...
# kotlin-native
m
Any advice how to debug a MacOS memory crash like below?
Copy code
Target 0: (test.kexe) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
  * frame #0: 0x00007fff37e038b5 CoreFoundation`_cow_failure + 21
    frame #1: 0x00007fff37e027d3 CoreFoundation`-[__NSArrayM dealloc].cold.1 + 16
    frame #2: 0x00007fff37c7722f CoreFoundation`-[__NSArrayM dealloc] + 350
    frame #3: 0x00007fff364d38a3 CFNetwork`___lldb_unnamed_symbol82$$CFNetwork + 115
    frame #4: 0x00007fff37da5599 CoreFoundation`_CFRelease + 238
    frame #5: 0x00007fff364d37a7 CFNetwork`___lldb_unnamed_symbol80$$CFNetwork + 153
    frame #6: 0x00007fff70be15e4 libobjc.A.dylib`object_cxxDestructFromClass(objc_object*, objc_class*) + 83
    frame #7: 0x00007fff70bda7e0 libobjc.A.dylib`objc_destructInstance + 94
    frame #8: 0x00007fff70bda748 libobjc.A.dylib`_objc_rootDealloc + 62
    frame #9: 0x00007fff364d3b02 CFNetwork`___lldb_unnamed_symbol91$$CFNetwork + 41
    frame #10: 0x00007fff364d3aad CFNetwork`___lldb_unnamed_symbol90$$CFNetwork + 22
    frame #11: 0x00007fff364eb75a CFNetwork`___lldb_unnamed_symbol685$$CFNetwork + 288
    frame #12: 0x00007fff364ea28e CFNetwork`___lldb_unnamed_symbol683$$CFNetwork + 356
    frame #13: 0x000000010031209e test.kexe`-[NSObject(NSObjectToKotlin) releaseAsAssociatedObject:] + 30
    frame #14: 0x000000010053be04 test.kexe`Kotlin_ObjCExport_detachAndReleaseAssociatedObject + 84
    frame #15: 0x000000010051a0b6 test.kexe`ObjHeader::destroyMetaObject(ObjHeader*) + 118
    frame #16: 0x000000010053788a test.kexe`kotlin::RunFinalizers(ObjHeader*) + 138
The crash looks pretty random so I'm guessing something is thrashing memory somewhere. Looks like using valgrind on MacOS is not an option. Are there any other tools besides codereviewing every memory allocation carefully ? 🕵️