Closed dummys closed 4 years ago
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?
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.
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
Im' fed off , can you share release for latest ghidra/java please ?
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? (https://github.com/NationalSecurityAgency/ghidra/commit/bcb825fb029232175625bc85653ec0e810b1252e)
Please keep in mind that we may be in different time-zones so responses may be delayed.
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
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 2c8427e593777b0c6cd9ad9d75d579502a628fed thank you.
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
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
GCC RTTI Analyzer
/Windows RTTI Analyzer
GCC C++ Class Analyzer
/Windows C++ Class Analyzer
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.
ok on my way doing it. It's normal that Locating Type information
take a lot of time ?
ok on my way doing it. It's normal that
Locating Type information
take a lot of time ?
Yes
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 ?
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?
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
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.
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.
did you where able to see why it fail ?
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.
oh cool, waiting for it to test then :D thanks for hard work
I believe I have fixed the recursion issue. The fix will be present when version 2.0 is released.
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.