Vector35 / Vector35/binaryninja-api

Having a type selected in the types view whilst many types are being defined causes the UI to freeze

Open
#8,192 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

Version and Platform (required):

  • Binary Ninja Version: 5.3.9429-dev Ultimate (ea9c02c3)
  • Edition: Ultimate
  • OS: macOS
  • OS Version: 26.4
  • CPU Architecture: M1

Bug Description:
If you have a type selected in the types view such that you can see its type definition, and a bunch of types are being created (for instance because a plugin is doing analysis that causes types to be generated automatically) the UI will freeze because it seems to be running an update on the main thread every time a new type gets created.

Even though I recognise this issue it still bites me quite often. I'll be looking at DYLD Shared Cache and at some point decide to load an additional image, forgetting about this issue and the fact I have a type selected in the types view. Then I get hit with a constant freeze until Binary Ninja can catch up which can be a long time (10s of minutes) depending on the image loaded and the number of types being created.

Additional Information:
I thought maybe I'd reported this issue before but I couldn't find it. My other issues related to the types view and UI freezing appear to have different causes.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Types view with a type definition selected, then reproduce the freeze while analysis or a plugin creates many types, such as when loading an additional DYLD Shared Cache image. Trace the repeated updates and verify that the UI remains responsive while type creation continues and the selected definition still updates correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop-dev, reverse-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.