Vector35 / Vector35/binaryninja-api
Crash when using the API after calling shutdown()
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):
- Seems to affect all versions (from 4.2 to 5.0 at least)
- OS: Ubuntu Linux
- OS Version: 24.04
- CPU Architecture: x64
Bug Description:
Binary ninja crashes with evidence of memory corruption:
Steps To Reproduce:
lappy [0] ~/binaryninja » python
Python 3.12.3 (main, Feb 4 2025, 14:48:35) [GCC 13.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import binaryninja
>>> binaryninja.core_version()
'5.0.7182-dev Ultimate'
>>> binaryninja.shutdown()
>>> bv = binaryninja.load("/bin/ls")
double free or corruption (!prev)
Aborted
Expected Behavior:
Not sure... Maybe successfully loads the new binary? Maybe just error about how you shutdown and so shouldn't expect the API to continue working?
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
No source file or test is named. Start by running the provided Python REPL reproduction on Ubuntu, then trace the shutdown() and load() API entry points to establish the intended post-shutdown behavior; done means the behavior is decided and the reproduction no longer crashes or corrupts memory.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux, python
- Domain
- api, backend, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100