Version and Platform (required):
- Binary Ninja Version: 5.3.8876-dev Ultimate, bed91080
- OS: macos
- OS Version: 26.2.0
- CPU Architecture: arm64
Bug Description:
If you access metadata inside an is_valid callback function, and there are Sidekick indexes that have been created, there is noticeable UI lag. There is a number of indexes where the lag becomes a beachball. And there is a number where Binary Ninja crashes and must be force quit.
Steps To Reproduce:
- Create a local plugin file with the contents below.
- Open binary ninja
- Open a database
- Open a workbench script
- Make lots of indexes via workbench script
- Notice lag
- Make more indexes
- Notice beachball
- Start over
- Make even more indexes
- Notice you have to force quit.
from binaryninja.plugin import PluginCommand
PluginCommand.register('Fight Sidekick', 'Fight Sidekick', lambda x: True, lambda x: not x.metadata.get('fight'))
Expected Behavior:
No lag, no beachball, no crash.