Open WeiN76LQh opened 1 month ago
Resolved in dev builds >= 4.2.6359
This is 100% an iOS 18 cache issue (which we do not fully support yet) however I've added a sanity check for ivars so it should hopefully not get stuck in this anymore.
Leaving this open to track iOS 18 support for new objective-c optimizations
Version and Platform (required):
Bug Description: Sometimes loading a certain image from DSC results in Binary Ninja getting caught in what appears to be an infinite loop (probably finite bound to a very large number). During this time BN prints the following to the log view:
The address value at the end is an example. This line will keep being printed over and over, and the address value will increment by
0x20
each time. I'm guessing there's something wrong with the metadata parsing causing it to think there's a huge number of ivars to process.Steps To Reproduce:
/System/Library/Frameworks/Contacts.framework/Contacts
Binary: Extract the DSC from an iOS 18.0 beta 4 ipsw (22A5316j) for an iPhone 15 Pro Max (iPhone16,2). This has been a problem with other copies of DSC and other images within DSC, this is just one I know to be problematic with the contacts framework.
Additional Information: I believe this is a back trace for the thread thats doing the Objective-C metadata parsing. Hopefully its helpful without symbols given the version and platform information above.