Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Bindiff unable to process statically linked binaries exported with BinExport from Ghidra (flow graph already attached error)

Open
#34 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
28/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale

Research direction

Start at flow_graph.cc:85 and reproduce the failure with a statically linked ELF exported from Ghidra 11.0 using BinExport 12 and processed by BinDiff 8. The work is done when these binaries no longer report missing basic blocks or the "flow graph already attached" error.

Written by the indexing model from the issue text.

Description

bug

Describe the bug
Bindiff is unable to process statically linked binaries exported by Ghidra with BinExport.

I have not tried BinExport with IDA.

To Reproduce
Steps to reproduce the behavior:
1.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
A binary like this:
openssl: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, BuildID[sha1]=6143bc37788cd04527de063e16c35627b1610ea2, for GNU/Linux 3.2.0, not stripped

Will result in an error like this:
terminate called after throwing an instance of 'std::runtime_error'
E0215 14:29:31.721843 1785634 flow_graph.cc:85] Could not find basic block: 008D6BF0
E0215 14:29:31.721862 1785638 flow_graph.cc:85] Could not find basic block: 005A8E40
E0215 14:29:31.721827 1785635 flow_graph.cc:85] Could not find basic block: 0068A377
E0215 14:29:31.721854 1785637 flow_graph.cc:85] Could not find basic block: 00654090
E0215 14:29:31.721843 1785639 flow_graph.cc:85] Could not find basic block: 008E6230
what(): AttachFlowGraph: flow graph already attached 00401000

Environment (please complete the following information):

  • Ubuntu 23.10
  • Locale: US English
  • Disassembler and version: Ghidra 11.0 with BinExport 12 with BinDiff 8

Additional context
I have tried this with multiple statically compiled binaries and it seems to fail with the same error. Binaries that aren't statically linked do not have this error.

Dominant language
Java
Stars
3.2k
Forks
240
PR merge metrics
No merged PRs in 30d

Getting set up

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.

More from google/bindiff

All issues in google/bindiff

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.