Comments (7)
I see. I just now loaded the most recent version of electron.exe
into Ghidra 9.2 on my Mac. It's still disassembling, though.
Will try this out for myself as soon as it's done.
from binexport.
Hi there!
Can you tell me a few more details? What's the peak amount of memory that the export process uses (roughly)?
How much RAM does your system/VM have (relevant because various JVMs set different max heap size defaults)? Any special JVM settings in `support\launch.properties'?
And finally, as I have never tested with Amazon Corretto, can you please try with a recent OpenJDK build, from the official site.
from binexport.
Hi!
What's the peak amount of memory that the export process uses (roughly)?
Is starts with "exporting instructions" at about 3 GB, then grows slowly but steadily until it fails at about 9 GB.
Here's a boring video of it (speed x25): https://imgur.com/KDLyxLX
How much RAM does your system/VM have
32 GB, I'm running on a physical PC, not a VM.
Any special JVM settings in `support\launch.properties'?
No, everything is set to default.
can you please try with a recent OpenJDK build
I'll see if I can get it running...
from binexport.
I stopped Ghidra after 1h and 84%, as it was clearly not going anywhere. Situation is similar to yours, it hovers at around 9.1GiB and the garbage collector is running wild on 4 cores.
For comparison, I have exported the file with IDA Pro, which took 1.5h to finish the initial auto-analysis. The native BinExport plugin took another 14m 45s to produce a protobuf that is 661MiB in size.
What I suspect is going on is a) Ghidra limits its heap space somewhere and b) the Java Protobuf bindings are at a disadvantage by requiring tons of Builder
objects to be created, leading to intense GC pressure.
from binexport.
Ghidra limits its heap space somewhere
According to this comment: NationalSecurityAgency/ghidra#1997 (comment), that's correct. I'll try to increase the limit and see whether it helps.
Not sure about b.
from binexport.
It worked! Peak memory usage: 17 GB:
https://i.imgur.com/bAOqDUl.png
What's strange is that the memory usage stays at 17 GB after the export. Perhaps there's a huge memory leak, which can explain the problem.
from binexport.
Still an issue on latest version, setting MAXMEM to 28G did not resolve the issue.
from binexport.
Related Issues (20)
- cmake: GIT_TAG and GIT_SHALLOW are incompatible with commit hashes HOT 1
- Wtf
- Better support for latest binary ninja builds? HOT 7
- Issue with BinExport for Binary Ninja HOT 14
- IDA Pro 7.7 Bindiff secondary file export failed HOT 1
- Ghidra extension build fails HOT 3
- Create a registry of architecture/ISA names
- Different CFG determination HOT 1
- build fails for latest xcode on macos HOT 2
- Ghidra plugin sometimes generates broken BinExport files HOT 2
- allow for specific BN API repo commit hash
- automatically regenerate_api_stubs when building for BN
- Ghidra: capture data references
- Ghidra: capture string references HOT 1
- Ghidra: BinExport: link CallGraph.Vertex messages to Module messages HOT 4
- CI workflow: add automatic builds of binexport for Ghidra
- Which messages can be deduplicated? HOT 9
- IDA: addresses are not exported for all instructions that begin a basic block
- Ghidra: addresses are not exported for all instructions that begin a basic block HOT 2
- Ghidra does not set FlowGraph.Edge.is_back_edge used to indicate loops HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from binexport.