Vector35 / Vector35/binaryninja-api

Crash when using the API after calling shutdown()

Open
#6,596 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: API Effort: Trivial Impact: Low
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

  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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.