Crash when parsing CoreDevice.framework
rolfbjarne opened this issue · comments
Rolf Bjarne Kvinge commented
Repro:
- Install Xcode 15
- Download and extract https://github.com/DerekSelander/dsdump/blob/master/compiled/dsdump_compiled.zip
- Execute:
$ ~/Downloads/dsdump -a arm64 --objc /Library/Developer/PrivateFrameworks/CoreDevice.framework/CoreDevice
[1] 3344 segmentation fault ~/Downloads/dsdump -a arm64 --swift
Crash report: https://gist.github.com/rolfbjarne/7e226427136d762e927208abc08b957d
I tried the beta version too:
$ ~/Downloads/dsdump_0.8.3/dsdump -a arm64 --objc /Library/Developer/PrivateFrameworks/CoreDevice.framework/CoreDevice
2023-10-10 11:56:40.932 dsdump[3458:861129] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndexedSubscript:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(
0 CoreFoundation 0x00000001810ab104 __exceptionPreprocess + 176
1 libobjc.A.dylib 0x0000000180bc9fd0 objc_exception_throw + 60
2 CoreFoundation 0x00000001811959b4 -[__NSCFString characterAtIndex:].cold.1 + 0
3 CoreFoundation 0x000000018101eb48 -[__NSArrayM objectAtIndexedSubscript:] + 188
4 dsdump 0x0000000104e3c3b8 __53-[XRMachOLibrary(Opcode) printChainDetails:callback:]_block_invoke_2 + 748
5 dsdump 0x0000000104e46848 _ZNK5dyld311MachOLoaded9walkChainER11DiagnosticsPNS0_25ChainedFixupPointerOnDiskEtbjU13block_pointerFvS4_RbE + 308
6 dsdump 0x0000000104e469c8 _ZNK5dyld311MachOLoaded27forEachFixupInSegmentChainsER11DiagnosticsPK30dyld_chained_starts_in_segmentbU13block_pointerFvPNS0_25ChainedFixupPointerOnDiskES5_RbE + 180
7 dsdump 0x0000000104e465f8 _ZNK5dyld311MachOLoaded23forEachFixupInAllChainsER11DiagnosticsPK28dyld_chained_starts_in_imagebU13block_pointerFvPNS0_25ChainedFixupPointerOnDiskEPK30dyld_chained_starts_in_segmentRbE + 92
8 dsdump 0x0000000104e3c09c __53-[XRMachOLibrary(Opcode) printChainDetails:callback:]_block_invoke + 124
9 dsdump 0x0000000104e54860 _ZNK5dyld313MachOAnalyzer15withChainStartsER11DiagnosticsyU13block_pointerFvPK28dyld_chained_starts_in_imageE + 140
10 dsdump 0x0000000104e3bf3c -[XRMachOLibrary(Opcode) printChainDetails:callback:] + 284
11 dsdump 0x0000000104e327b4 -[XRMachOLibrary handleLoadCommand:] + 368
12 dsdump 0x0000000104e482c0 _ZNK5dyld39MachOFile18forEachLoadCommandER11DiagnosticsU13block_pointerFvPK12load_commandRbE + 160
13 dsdump 0x0000000104e32038 -[XRMachOLibrary initWithPath:] + 1456
14 dsdump 0x0000000104e31a40 -[XRMachOLibrary initWithCPath:] + 144
15 dsdump 0x0000000104e3f4ac main + 1912
16 dyld 0x0000000180bfbf28 start + 2236
)
libc++abi: terminating due to uncaught exception of type NSException
[1] 3458 abort ~/Downloads/dsdump_0.8.3/dsdump -a arm64 --objc