I'm running into problems trying to get symbols loaded into an lldb session debugging a panic of a custom, universal kext. The panic happens when LogicX closes a MIDI port implemented by a MIDIplugin and serviced by the kext.
When the KP happens, I am able to attach the debugger, but running:
results in this:
Things I've tried:
Thanks in advance for any pointers or help!
When the KP happens, I am able to attach the debugger, but running:
Code Block command script import "/Library/Developer/KDKs/KDK_11.3_20E5186d.kdk/System/Library/Kernels/kernel.release.t8101.dSYM/Contents/Resources/Python/kernel_release.py"
results in this:
Code Block (lldb) kdp-remote 192.168.1.96 Version: Darwin Kernel Version 20.3.0: Thu Jan 21 00:06:51 PST 2021; root:xnu-7195.81.3~1/RELEASE_ARM64_T8101; UUID=9FE8C0DA-8ED0-381C-9CEC-2A779F3E1503; stext=0xfffffe00142b4000 Kernel UUID: 9FE8C0DA-8ED0-381C-9CEC-2A779F3E1503 Load Address: 0xfffffe00142b4000 WARNING: Unable to locate kernel binary on the debugger system. Target arch: arm64e Traceback (most recent call last): File "/Library/Developer/KDKs/KDK_11.3_20E5186d.kdk/System/Library/Kernels/kernel.release.t8101.dSYM/Contents/Resources/Python/lldbmacros/core/operating_system.py", line 704, in __init__ self.register_set = Armv8_RegisterSet() File "/Library/Developer/KDKs/KDK_11.3_20E5186d.kdk/System/Library/Kernels/kernel.release.t8101.dSYM/Contents/Resources/Python/lldbmacros/core/operating_system.py", line 63, in __init__ self.switch_context_address = osplugin_target_obj.FindSymbols('Switch_context')[0].GetSymbol().GetStartAddress().GetLoadAddress(osplugin_target_obj) File "/Users/wdawson/Downloads/Xcode-beta.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python/lldb/__init__.py", line 10450, in __getitem__ raise IndexError IndexError Target arch: arm64e Traceback (most recent call last): File "/Library/Developer/KDKs/KDK_11.3_20E5186d.kdk/System/Library/Kernels/kernel.release.t8101.dSYM/Contents/Resources/Python/lldbmacros/core/operating_system.py", line 704, in __init__ self.register_set = Armv8_RegisterSet() File "/Library/Developer/KDKs/KDK_11.3_20E5186d.kdk/System/Library/Kernels/kernel.release.t8101.dSYM/Contents/Resources/Python/lldbmacros/core/operating_system.py", line 63, in __init__ self.switch_context_address = osplugin_target_obj.FindSymbols('Switch_context')[0].GetSymbol().GetStartAddress().GetLoadAddress(osplugin_target_obj) File "/Users/wdawson/Downloads/Xcode-beta.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python/lldb/__init__.py", line 10450, in __getitem__ raise IndexError IndexError Process 1 stopped * thread #1, stop reason = signal SIGSTOP frame #0: 0xffffffe0143c9770 error: kdp read memory failed Target 0: (No executable module.) stopped. (lldb)
Things I've tried:
Multiple permutations of Xcode 12.4 - 12.5b2 and KDKs, though only KDK11.3 seems to have the release T8101 kernel binary.
On Intel (because the KDK says you can't do it on M1), where the KP does NOT happen, running the DEVELOPMENT and KASAN kernels hoping they might assert on something bad the kext is doing.
Loading a panic coredump into lldb. (Same result as "live" debugging the panic.
Thanks in advance for any pointers or help!
Wade