Comments (20)
Hello when I run
gradle -PGHIDRA_INSTALL_DIR=/op/ghidra buildExtension
I get an infinite loop that full my memory and crash my computer.
Gradle saif that it can't find a suitable daemon.
Hmm. This seems more like an issue with gradle if it cannot find a suitable daemon. The mechanism being used for GHIDRA_INSTALL_DIR
is the same as what is provided by ghidra's buildExtension.gradle
and my modifications are only for running test and building documentation.
Is ghidra actually in the directory /op
or did you intend to write /opt
?
What version of gradle are you using?
from ghidra-cpp-class-analyzer.
yes sure the path is /opt, sorry its copy past.
Version of gradle:
-> $ gradle -v
------------------------------------------------------------
Gradle 6.3
------------------------------------------------------------
Build time: 2020-03-24 22:12:49 UTC
Revision: <unknown>
Kotlin: 1.3.70
Groovy: 2.5.10
Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM: 13.0.2 (Oracle Corporation 13.0.2+8)
OS: Linux 5.5.13-arch2-1 amd64
you are right, it's definitely gradle problem, when I do gradle init
in a folder I got the same error.
Tried to remove everything what is is ~/.gradle
same shit. Opened a case in gradle github.
from ghidra-cpp-class-analyzer.
now trying on a ubuntu VM, get this error:
What went wrong:
A problem occurred evaluating root project 'Ghidra-Cpp-Class-Analyzer'.
> Could not find method runtimeOnly() for arguments [directory '/root/ghidra/Ghidra/Framework'] on root project 'Ghidra-Cpp-Class-Analyzer'.
root@ubuntu-xenial:~/Ghidra-Cpp-Class-Analyzer# ls /root/ghidra/Ghidra/Framework/
DB Demangler Docking FileSystem Generic Graph Help Project SoftwareModeling Utility
Ups sorry I think the problem is there because this useless distribution is using gradle version 2.3, let me install 6.0 and come back
Same problem on this useless os:
root@ubuntu-xenial:~/Ghidra-Cpp-Class-Analyzer# /root/gradle-6.3/bin/gradle
root@ubuntu-xenial:~/Ghidra-Cpp-Class-Analyzer# /root/gradle-6.3/bin/gradle -PGHIDRA_INSTALL_DIR=/root/ghidra buildExtension
Welcome to Gradle 6.3!
Here are the highlights of this release:
- Java 14 support
- Improved error messages for unexpected failures
For more details see https://docs.gradle.org/6.3/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
Starting a Gradle Daemon, 1 busy Daemon could not be reused, use --status for details
Starting a Gradle Daemon, 2 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 3 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 4 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 5 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 6 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 7 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 8 busy Daemons could not be reused, use --status for details
Starting a Gradle Daemon, 9 busy Daemons could not be reused, use --status for details
from ghidra-cpp-class-analyzer.
Im' fed off , can you share release for latest ghidra/java please ?
from ghidra-cpp-class-analyzer.
Im' fed off , can you share release for latest ghidra/java please ?
Yes no problem. I will do so later today. Are you looking for one of the latest 9.1 ghidra release or the current development version of ghidra 9.2? (NationalSecurityAgency/ghidra@bcb825f)
Please keep in mind that we may be in different time-zones so responses may be delayed.
from ghidra-cpp-class-analyzer.
yes no problem for timezone. It's ok I made the compilation works on ubuntu 18 only. But when I want to install for latest ghidra: https://ghidra-sre.org/ghidra_9.1.2_PUBLIC_20200212.zip
then I get Extension version for ghidra-cpp-clas-anal is incompatible with Ghidra
.
EDIT: It's ok i fixed it modifying the extension.properties
and fixiing the 9.1.2
in 9.1
but now I get trouble finding documentation on how to run your plugin. you mention in the "documentation": To use simply add the ghidra_scripts folder into Ghidra's scripts path, run the GccRtti analyzer and then run parse_vtable_db.py. For best results run the parser before running the C++ Class Analyzer.
but there is no "GccRTTI analyzer" in the scripts folder. I found:
ClassReferences.java DynamicCaster.java parse_vtable_db.py vtable_dumper.py
For example. if I run vtable_dumper.py
I get this:
vtable_dumper.py> Running...
Traceback (most recent call last):
File "/opt/ghidra/Ghidra/Extensions/Ghidra-Cpp-Class-Analyzer/ghidra_scripts/vtable_dumper.py", line 88, in <module>
types = get_types(symbol_table)
File "/opt/ghidra/Ghidra/Extensions/Ghidra-Cpp-Class-Analyzer/ghidra_scripts/vtable_dumper.py", line 41, in get_types
return getClassTypeInfoList(currentProgram)
TypeError: getClassTypeInfoList(): expected 2 args; got 1
from ghidra-cpp-class-analyzer.
yes no problem for timezone. It's ok I made the compilation works on ubuntu 18 only. But when I want to install for latest ghidra:
https://ghidra-sre.org/ghidra_9.1.2_PUBLIC_20200212.zip
then I getExtension version for ghidra-cpp-clas-anal is incompatible with Ghidra
.EDIT: It's ok i fixed it modifying the
extension.properties
and fixiing the9.1.2
in9.1
but now I get trouble finding documentation on how to run your plugin. you mention in the "documentation":
To use simply add the ghidra_scripts folder into Ghidra's scripts path, run the GccRtti analyzer and then run parse_vtable_db.py. For best results run the parser before running the C++ Class Analyzer.
but there is no "GccRTTI analyzer" in the scripts folder. I found:
ClassReferences.java DynamicCaster.java parse_vtable_db.py vtable_dumper.py
For example. if I run
vtable_dumper.py
I get this:vtable_dumper.py> Running... Traceback (most recent call last): File "/opt/ghidra/Ghidra/Extensions/Ghidra-Cpp-Class-Analyzer/ghidra_scripts/vtable_dumper.py", line 88, in <module> types = get_types(symbol_table) File "/opt/ghidra/Ghidra/Extensions/Ghidra-Cpp-Class-Analyzer/ghidra_scripts/vtable_dumper.py", line 41, in get_types return getClassTypeInfoList(currentProgram) TypeError: getClassTypeInfoList(): expected 2 args; got 1
The version number is strange. It gets automatically set to the version of ghidra in GHIDRA_INSTALL_DIR
when I build the extension. For reference what did you set the value to?
The GccRTTIAnalyzer and Class Analyzers will appear among the rest of the analyzers under
Analysis->Auto Analyze
I just fixed the missing argument in vtable_dumper.py
in 2c8427e thank you.
from ghidra-cpp-class-analyzer.
Ok. What is the exact procedure to run your tool ? the documentation is not clear to me. Do I need to run dumper before /or after etc ? Can you make a clear how to step ? Like 1. Run the auto analysis, 2. Run dumper 3. etc ? thanks for your plugin
from ghidra-cpp-class-analyzer.
Ok. What is the exact procedure to run your tool ? the documentation is not clear to me. Do I need to run dumper before /or after etc ? Can you make a clear how to step ? Like 1. Run the auto analysis, 2. Run dumper 3. etc ? thanks for your plugin
- Run
GCC RTTI Analyzer
/Windows RTTI Analyzer
- If Gcc compiled binary and the binary has been stripped, run the parse_vtable_db script. Otherwise continue to step 3.
- Run
GCC C++ Class Analyzer
/Windows C++ Class Analyzer
- Report any problems.
If you happen to have a copy of the exact libraries the binary is linking against then you can run the dumping scripts on the libraries. The gdt
and json files I distribute with the releases were created from libstdc++.so
. Unfortunately I have been unable to track down the corresponding library for Visual Studio compiled binaries so there is only one available for gcc/clang.
from ghidra-cpp-class-analyzer.
ok on my way doing it. It's normal that Locating Type information
take a lot of time ?
from ghidra-cpp-class-analyzer.
ok on my way doing it. It's normal that
Locating Type information
take a lot of time ?
Yes
from ghidra-cpp-class-analyzer.
like a whole night for a small DLL ? and if something break it's possible to continue from where it left ? it seems to be blocked at 79% is there a way to know if it's break ?
from ghidra-cpp-class-analyzer.
like a whole night for a small DLL ? and if something break it's possible to continue from where it left ? it seems to be blocked at 79% is there a way to know if it's break ?
No that's not normal. Which analyzer is stuck?
from ghidra-cpp-class-analyzer.
get this:
An unexpected error occurred while processing the command: Auto Analysis
java.lang.OutOfMemoryError: Java heap space
at ghidra.program.model.data.DataTypeImpl.<init>(DataTypeImpl.java:50)
at ghidra.program.model.data.GenericDataType.<init>(GenericDataType.java:40)
at ghidra.program.model.data.CompositeDataTypeImpl.<init>(CompositeDataTypeImpl.java:52)
at ghidra.program.model.data.StructureDataType.<init>(StructureDataType.java:89)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:671)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134)
at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479)
at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134)
at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479)
at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134)
at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479)
at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134)
at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479)
at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363)
---------------------------------------------------
Build Date: 2020-Feb-20 2210 UTC
Ghidra Version: 9.1
Java Home: /usr/lib/jvm/java-11-openjdk
JVM Version: Oracle Corporation 11.0.6
OS: Linux 5.6.2-arch1-2 amd64
Workstation: localhost.localdomain
from ghidra-cpp-class-analyzer.
get this:
An unexpected error occurred while processing the command: Auto Analysis java.lang.OutOfMemoryError: Java heap space at ghidra.program.model.data.DataTypeImpl.<init>(DataTypeImpl.java:50) at ghidra.program.model.data.GenericDataType.<init>(GenericDataType.java:40) at ghidra.program.model.data.CompositeDataTypeImpl.<init>(CompositeDataTypeImpl.java:52) at ghidra.program.model.data.StructureDataType.<init>(StructureDataType.java:89) at ghidra.program.database.data.StructureDB.clone(StructureDB.java:671) at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984) at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946) at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673) at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134) at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479) at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363) at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984) at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946) at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673) at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134) at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479) at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363) at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984) at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946) at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673) at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984) at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946) at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673) at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134) at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479) at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363) at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984) at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946) at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673) at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134) at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479) at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363) --------------------------------------------------- Build Date: 2020-Feb-20 2210 UTC Ghidra Version: 9.1 Java Home: /usr/lib/jvm/java-11-openjdk JVM Version: Oracle Corporation 11.0.6 OS: Linux 5.6.2-arch1-2 amd64 Workstation: localhost.localdomain
I see. That's the same as what is being encountered in #13 . The stack trace is helpful though as it appears there is some infinite recursion somewhere in the AbstractCppClassBuilder or the Gcc/Windows CppClassBuilder. I'll try to look into it this weekend if time allows.
May I have a copy of your application.log? It should be in ~/.ghidra/$ghidra_version
. It is ok if you edit the log as it will contain file names and things you may wish to alter.
from ghidra-cpp-class-analyzer.
2020-04-10 08:48:52 ERROR (RunManager$RunnerJob) Unexpected error processing runnable: Decompiler java.lang.RuntimeException: Timed-out waiting to run a Swing task--potential deadlock!
at ghidra.util.Swing.runNow(Swing.java:180)
at ghidra.util.SystemUtilities.runSwingNow(SystemUtilities.java:253)
at ghidra.util.task.RunManager$RunnerJob.doExecute(RunManager.java:340)
at ghidra.util.task.RunManager$RunnerJob.run(RunManager.java:309)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:133)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:123)
at generic.concurrent.ConcurrentQ$CallbackCallable.call(ConcurrentQ.java:655)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at generic.concurrent.FutureTaskMonitor.run(FutureTaskMonitor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: ghidra.util.exception.UnableToSwingException: Timed-out waiting for Swing thread lock in 20 SECONDS
at ghidra.util.Swing.waitFor(Swing.java:259)
at ghidra.util.Swing.runNow(Swing.java:238)
at ghidra.util.Swing.runNow(Swing.java:166)
... 11 more
2020-04-10 08:49:17 ERROR (RunManager$RunnerJob) Unexpected error processing runnable: Decompiler java.lang.RuntimeException: Timed-out waiting to run a Swing task--potential deadlock!
at ghidra.util.Swing.runNow(Swing.java:180)
at ghidra.util.SystemUtilities.runSwingNow(SystemUtilities.java:253)
at ghidra.util.task.RunManager$RunnerJob.doExecute(RunManager.java:340)
at ghidra.util.task.RunManager$RunnerJob.run(RunManager.java:309)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:133)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:123)
at generic.concurrent.ConcurrentQ$CallbackCallable.call(ConcurrentQ.java:655)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at generic.concurrent.FutureTaskMonitor.run(FutureTaskMonitor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: ghidra.util.exception.UnableToSwingException: Timed-out waiting for Swing thread lock in 20 SECONDS
at ghidra.util.Swing.waitFor(Swing.java:259)
at ghidra.util.Swing.runNow(Swing.java:238)
at ghidra.util.Swing.runNow(Swing.java:166)
... 11 more
2020-04-10 08:49:44 ERROR (RunManager$RunnerJob) Unexpected error processing runnable: Decompiler java.lang.RuntimeException: Timed-out waiting to run a Swing task--potential deadlock!
at ghidra.util.Swing.runNow(Swing.java:180)
at ghidra.util.SystemUtilities.runSwingNow(SystemUtilities.java:253)
at ghidra.util.task.RunManager$RunnerJob.doExecute(RunManager.java:340)
at ghidra.util.task.RunManager$RunnerJob.run(RunManager.java:309)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:133)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:123)
at generic.concurrent.ConcurrentQ$CallbackCallable.call(ConcurrentQ.java:655)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at generic.concurrent.FutureTaskMonitor.run(FutureTaskMonitor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: ghidra.util.exception.UnableToSwingException: Timed-out waiting for Swing thread lock in 20 SECONDS
at ghidra.util.Swing.waitFor(Swing.java:259)
at ghidra.util.Swing.runNow(Swing.java:238)
at ghidra.util.Swing.runNow(Swing.java:166)
... 11 more
2020-04-10 08:50:09 ERROR (RunManager$RunnerJob) Unexpected error processing runnable: Decompiler java.lang.RuntimeException: Timed-out waiting to run a Swing task--potential deadlock!
at ghidra.util.Swing.runNow(Swing.java:180)
at ghidra.util.SystemUtilities.runSwingNow(SystemUtilities.java:253)
at ghidra.util.task.RunManager$RunnerJob.doExecute(RunManager.java:340)
at ghidra.util.task.RunManager$RunnerJob.run(RunManager.java:309)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:133)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:123)
at generic.concurrent.ConcurrentQ$CallbackCallable.call(ConcurrentQ.java:655)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at generic.concurrent.FutureTaskMonitor.run(FutureTaskMonitor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: ghidra.util.exception.UnableToSwingException: Timed-out waiting for Swing thread lock in 20 SECONDS
at ghidra.util.Swing.waitFor(Swing.java:259)
at ghidra.util.Swing.runNow(Swing.java:238)
at ghidra.util.Swing.runNow(Swing.java:166)
... 11 more
2020-04-10 08:52:39 ERROR (RunManager$RunnerJob) Unexpected error processing runnable: Decompiler java.lang.RuntimeException: Timed-out waiting to run a Swing task--potential deadlock!
at ghidra.util.Swing.runNow(Swing.java:180)
at ghidra.util.SystemUtilities.runSwingNow(SystemUtilities.java:253)
at ghidra.util.task.RunManager$RunnerJob.doExecute(RunManager.java:340)
at ghidra.util.task.RunManager$RunnerJob.run(RunManager.java:309)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:133)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:123)
at generic.concurrent.ConcurrentQ$CallbackCallable.call(ConcurrentQ.java:655)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at generic.concurrent.FutureTaskMonitor.run(FutureTaskMonitor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: ghidra.util.exception.UnableToSwingException: Timed-out waiting for Swing thread lock in 20 SECONDS
at ghidra.util.Swing.waitFor(Swing.java:259)
at ghidra.util.Swing.runNow(Swing.java:238)
at ghidra.util.Swing.runNow(Swing.java:166)
... 11 more
2020-04-10 08:53:44 ERROR (RunManager$RunnerJob) Unexpected error processing runnable: Decompiler java.lang.RuntimeException: Timed-out waiting to run a Swing task--potential deadlock!
at ghidra.util.Swing.runNow(Swing.java:180)
at ghidra.util.SystemUtilities.runSwingNow(SystemUtilities.java:253)
at ghidra.util.task.RunManager$RunnerJob.doExecute(RunManager.java:340)
at ghidra.util.task.RunManager$RunnerJob.run(RunManager.java:309)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:133)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:123)
at generic.concurrent.ConcurrentQ$CallbackCallable.call(ConcurrentQ.java:655)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at generic.concurrent.FutureTaskMonitor.run(FutureTaskMonitor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: ghidra.util.exception.UnableToSwingException: Timed-out waiting for Swing thread lock in 20 SECONDS
at ghidra.util.Swing.waitFor(Swing.java:259)
at ghidra.util.Swing.runNow(Swing.java:238)
at ghidra.util.Swing.runNow(Swing.java:166)
... 11 more
2020-04-10 08:54:36 ERROR (RunManager$RunnerJob) Unexpected error processing runnable: Decompiler java.lang.RuntimeException: Timed-out waiting to run a Swing task--potential deadlock!
at ghidra.util.Swing.runNow(Swing.java:180)
at ghidra.util.SystemUtilities.runSwingNow(SystemUtilities.java:253)
at ghidra.util.task.RunManager$RunnerJob.doExecute(RunManager.java:340)
at ghidra.util.task.RunManager$RunnerJob.run(RunManager.java:309)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:133)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:123)
at generic.concurrent.ConcurrentQ$CallbackCallable.call(ConcurrentQ.java:655)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at generic.concurrent.FutureTaskMonitor.run(FutureTaskMonitor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: ghidra.util.exception.UnableToSwingException: Timed-out waiting for Swing thread lock in 20 SECONDS
at ghidra.util.Swing.waitFor(Swing.java:259)
at ghidra.util.Swing.runNow(Swing.java:238)
at ghidra.util.Swing.runNow(Swing.java:166)
... 11 more
2020-04-10 08:56:00 ERROR (RunManager$RunnerJob) Unexpected error processing runnable: Decompiler java.lang.RuntimeException: Timed-out waiting to run a Swing task--potential deadlock!
at ghidra.util.Swing.runNow(Swing.java:180)
at ghidra.util.SystemUtilities.runSwingNow(SystemUtilities.java:253)
at ghidra.util.task.RunManager$RunnerJob.doExecute(RunManager.java:340)
at ghidra.util.task.RunManager$RunnerJob.run(RunManager.java:309)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:133)
at ghidra.util.worker.AbstractWorker$JobCallback.process(AbstractWorker.java:123)
at generic.concurrent.ConcurrentQ$CallbackCallable.call(ConcurrentQ.java:655)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at generic.concurrent.FutureTaskMonitor.run(FutureTaskMonitor.java:75)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: ghidra.util.exception.UnableToSwingException: Timed-out waiting for Swing thread lock in 20 SECONDS
at ghidra.util.Swing.waitFor(Swing.java:259)
at ghidra.util.Swing.runNow(Swing.java:238)
at ghidra.util.Swing.runNow(Swing.java:166)
... 11 more
2020-04-10 08:58:15 ERROR (BackgroundCommandTask) Command Failure: An unexpected error occurred while processing the command: Auto Analysis java.lang.OutOfMemoryError: Java heap space
at ghidra.program.model.data.DataTypeImpl.<init>(DataTypeImpl.java:50)
at ghidra.program.model.data.GenericDataType.<init>(GenericDataType.java:40)
at ghidra.program.model.data.CompositeDataTypeImpl.<init>(CompositeDataTypeImpl.java:52)
at ghidra.program.model.data.StructureDataType.<init>(StructureDataType.java:89)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:671)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134)
at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479)
at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134)
at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479)
at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134)
at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479)
at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363)
at ghidra.program.model.data.StructureDataType.doReplaceWithUnaligned(StructureDataType.java:984)
at ghidra.program.model.data.StructureDataType.replaceWith(StructureDataType.java:946)
at ghidra.program.database.data.StructureDB.clone(StructureDB.java:673)
at ghidra.program.model.data.UnionDataType.doAdd(UnionDataType.java:134)
at ghidra.program.model.data.UnionDataType.replaceWith(UnionDataType.java:479)
at ghidra.program.database.data.UnionDB.clone(UnionDB.java:363)
2020-04-10 08:58:15 ERROR (ToolTaskManager) Auto Analysis Failed: Unspecified error occurred.
from ghidra-cpp-class-analyzer.
did you where able to see why it fail ?
from ghidra-cpp-class-analyzer.
did you where able to see why it fail ?
I can't say for sure but even though none of my classes are in the stack tract this is likely my fault. A large commit should be coming within the next few weeks that has DB classes for ClassTypeInfo and Vtable to work with ghidra's database system. I'm using this opportunity to clean up some things and fix potential issues. Hopefully whatever caused this will get resolved by it.
from ghidra-cpp-class-analyzer.
oh cool, waiting for it to test then :D thanks for hard work
from ghidra-cpp-class-analyzer.
I believe I have fixed the recursion issue. The fix will be present when version 2.0 is released.
from ghidra-cpp-class-analyzer.
Related Issues (20)
- Binary 10.1.2 release HOT 1
- Resource Leak
- Extension won't install for Ghidra version 10.1.3 HOT 2
- Extension doesn't appear in the Experimental Plugin List HOT 12
- When process comes to cppclassanalyzer.plugin.ClassTypeInfoManagerPlugin.getExternalClassTypeInfo(ClassTypeInfoManagerPlugin.java:331), it haven't ProjectClassTypeInfoManager instancies in heap. HOT 7
- Add Drag n drop handlers
- Plugin: ClassTypeInfoManager name collision
- Duplicated data types with GNU Demangler HOT 6
- Ghidra 10.1.4: "String index out of range: 0" when trying to analyze an executable HOT 3
- `UnresolvedClassTypeInfoException`: Unable to locate archived data HOT 5
- Analysis failure, unable to copy some library ClassTypeInfo data to a project archive HOT 8
- Everything seems to be working fine, but RTTI finds no results. HOT 14
- Error using `TypeInfo *` in structs HOT 2
- Clone method implemented incorrectly for TypeInfoFactoryDataType HOT 3
- Class analyzer errors while analyzing binary HOT 6
- 10.2 Build
- Plugin Related Analysis Tools do not Appear. HOT 4
- 10.2 plugin incompatible with Ghidra 10.3 HOT 6
- getManagerNode is null in analyzer
- Fails to progress due to demangle exception 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 ghidra-cpp-class-analyzer.