Binary Ninja completes UI updates even if they're unnecessary #6288
Labels
Component: DSC
Issue needs changes to the DyldSharedCacheView
Component: UI
Issue needs changes to the user interface
State: Awaiting Triage
Issue is waiting for more in-depth triage from a developer
Type: Performance
Issue causes UI hangs or is overly slow
Version and Platform (required):
Bug Description:
Not sure my title does a good job of capturing the issue here so please change it if you have a more succinct description.
Loading a large BNDB or file like DYLD Shared Cache in the background causes the main UI thread to hang alot. Using the
sample
binary (on macOS) and with a debugger attached it seems that UI related updates to a Binary View created in a script can block the main UI thread even though this Binary View is not visible (and as far as I know can never be visible).The issue isn't necessarily due to large BNDBs or DYLD Shared Cache, they just make it easier to observe because they tax Binary Ninja harder. I think there maybe 2 issues occurring here:
Assuming I'm correct here about these issues, this doesn't really make sense. I think the behaviour should be more like this:
Steps To Reproduce:
binaryninja.load
and assign the result to a variable (not sure if the assignment actually matters).dsc_bv = binaryninja.load("path/to/bndb")
Alternatively:
File -> New Window
in Binary Ninja.Those steps won't show
binaryninja.load
causing the UI to freeze whilst it reads in a large file but they're quicker steps to replicate.Expected Behavior:
binaryninja.load
in the Python console.Additional Information:
There's probably some relation to #6169.
The text was updated successfully, but these errors were encountered: