reai-ghidra icon indicating copy to clipboard operation
reai-ghidra copied to clipboard

Error when using all the analysis options

Open Veryyes opened this issue 7 months ago • 1 comments

Tried to analyze a binary from the Arlington CTF. I checked all analyze options on the GUI that showed up.

java.lang.NullPointerException: Cannot invoke "ai.reveng.toolkit.ghidra.core.services.api.GhidraRevengService.handleAnalysisCompletion(ai.reveng.toolkit.ghidra.core.RevEngAIAnalysisStatusChangedEvent)" because "this.revengService" is null
	at ai.reveng.toolkit.ghidra.core.CorePlugin.processEvent(CorePlugin.java:154)
	at ghidra.framework.plugintool.Plugin.eventSent(Plugin.java:305)
	at ghidra.framework.plugintool.mgr.EventManager.sendEvents(EventManager.java:286)
	at ghidra.framework.plugintool.mgr.EventManager.lambda$new$3(EventManager.java:49)
	at ghidra.util.Swing.lambda$runNow$2(Swing.java:227)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
	at java.desktop/java.awt.Component.show(Component.java:1728)
	at java.desktop/java.awt.Component.setVisible(Component.java:1675)
	at java.desktop/java.awt.Window.setVisible(Window.java:1036)
	at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1015)
	at docking.DockingDialog.setVisible(DockingDialog.java:351)
	at docking.DockingWindowManager.lambda$doShowDialog$5(DockingWindowManager.java:1801)
	at ghidra.util.Swing.doRun(Swing.java:292)
	at ghidra.util.Swing.runNow(Swing.java:208)
	at ghidra.util.Swing.runNow(Swing.java:163)
	at docking.DockingWindowManager.doShowDialog(DockingWindowManager.java:1805)
	at docking.DockingWindowManager.showDialog(DockingWindowManager.java:1754)
	at docking.DockingErrorDisplay.showDialog(DockingErrorDisplay.java:169)
	at docking.DockingErrorDisplay.doDisplayMessage(DockingErrorDisplay.java:134)
	at docking.DockingErrorDisplay.lambda$displayMessage$0(DockingErrorDisplay.java:102)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

---------------------------------------------------
Build Date: 2024-Nov-05 1643 EST
Ghidra Version: 11.2.1
Java Home: /usr/lib/jvm/java-21-openjdk-amd64
JVM Version: Ubuntu 21.0.3
OS: Linux 6.2.6-76060206-generic amd64

Veryyes avatar May 12 '25 18:05 Veryyes

Did this specifically not happen if some analysis options were un-checked? The error indicates that the underlying service that handles all the communication with the backend failed to initialize for some reason, and that's a pretty fundamental failure that should essential break all functionality (and thus should never be discovered so late when you are already starting an analysis)

fmagin avatar May 13 '25 09:05 fmagin