Vector35 / Vector35/binaryninja-api
"Close and Reopen" results in Multiple Open Windows on Same BNDB, Preventing Saving
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: 3.3.4048-dev
- OS: Windows
- OS Version: 10
- CPU Architecture: x64
Bug Description:
When "Close and Reopen" or "Update" cause BN to reopen active windows spawned from the same view (e.g. 'Split View' -> Drag into new Window), each window is reopened in a separate, unrelated process. This causes file contention when trying to save, and unless the user is aware of the underlying issue, it causes confusion around things like 'Sync Groups' not being synchronized even though both windows show themselves being sync'd.
Steps To Reproduce:
Please provide all steps required to reproduce the behavior:
- Open a file for analysis
- Cause a view to split
- Drag one view into a new Window
- Execute
Close and Reopen - Once respawned, make a change in one of the windows
- Attempt to save and observe the file contention
Expected Behavior:
Multiple views spawned from the same BN instance would reopen under the same process, maintaining cross-view synchronizations, and changes from one would reflect in the other. Alternatively, just reopen one instance and lose extraneous views.
Screenshots:
If applicable, please add screenshots here to help explain your problem.
Additional Information:
Not a particular nuisance, since the resolution is to just close one process without saving, but if the user didn't catch on soon enough and worked in both views they might end up losing some volume of work.
https://binaryninja.slack.com/archives/C0CV88A83/p1675892840609979
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce on Windows 10 with Binary Ninja 3.3.4048-dev using the listed split-view, new-window, and Close and Reopen steps. Inspect how reopened windows are assigned to processes; done means related views share a process and no longer cause save contention or lose synchronization.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100