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

Offen
#8,192 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
cpp

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
C++
Sterne
1.3k
Forks
298
Ø Merge
5 T. 5 Std.
Gemergte PRs (30 T.)
19

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus Vector35/binaryninja-api

Alle Issues in Vector35/binaryninja-api

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.