Vector35 / Vector35/binaryninja-api

extension manager support for disabling, restarting, and updating plugins + dependencies (windows only)

Open
#8,285 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

UI: Extension Manager
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.9757-stable
  • Edition: Non-Commercial
  • OS: Windows 11
  • OS Version: 25H2
  • CPU Architecture: x64

Bug Description:
When updating Sidekick (or disabling and enabling without turning binary ninja off, any action that causes dependency update) on a Windows machine, the installation of Python packages fails with a generic error. After digging around I found out it's a permission error connected to markupsafe (might be another package) being used while it's binary is updated.

Steps To Reproduce:

  • Install Sidekick on Windows
  • Disable and re-enable it

Expected Behavior:
Sidekick should update without any issues

Additional Information:
Reproduced on 2 machines
Workarounds:

  • Disable the plugin, restart and update/re-enable
  • Turn Binary Ninja off and run the commands displayed in the log (with Binary Ninja turned on the permission error is displayed)

Example traceback:

ERROR: Exception:
Traceback (most recent call last):
  File "C:\Users\jenkins\bundled-python\310\python-3.10.10-packaged-amd64\python310\pip\_internal\cli\base_command.py", line 160, in exc_logging_wrapper
  File "C:\Users\jenkins\bundled-python\310\python-3.10.10-packaged-amd64\python310\pip\_internal\cli\req_command.py", line 247, in wrapper
  File "C:\Users\jenkins\bundled-python\310\python-3.10.10-packaged-amd64\python310\pip\_internal\commands\install.py", line 566, in run
  File "C:\Users\jenkins\bundled-python\310\python-3.10.10-packaged-amd64\python310\pip\_internal\commands\install.py", line 621, in _handle_target_dir
  File "shutil.py", line 750, in rmtree
  File "shutil.py", line 620, in _rmtree_unsafe
  File "shutil.py", line 618, in _rmtree_unsafe
PermissionError: [WinError 5] Přístup byl odepřen: 'C:\\Users\\XXX\\AppData\\Roaming\\Binary Ninja\\python310\\site-packages\\markupsafe\\_speedups.cp310-win_amd64.pyd'

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

No repository file or test is identified in the issue. Start by reproducing the Sidekick disable-and-re-enable flow on Windows and trace the dependency installation path around pip's PermissionError for markupsafe; done means disabling, restarting, and updating or re-enabling the plugin succeeds without shutting down Binary Ninja.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
operating-systems, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.