cyberkaida / reverse-engineering-assistant

An AI assistant for reverse engineering tasks 👩‍💻
Apache License 2.0
232 stars 17 forks source link

Ghidra error: Error constructing plugin: class reva.RevaPlugin #73

Open Degamisu opened 1 month ago

Degamisu commented 1 month ago

Very new to this plugin and it looks very exciting! I cannot get this to work with Ghidra however, as it spits out Error constructing plugin: class reva.RevaPlugin. Running ghidra-11.1.1

ghidra.framework.plugintool.util.PluginException: Error constructing plugin: class reva.RevaPlugin
    at ghidra.framework.plugintool.util.PluginUtils.instantiatePlugin(PluginUtils.java:58)
    at ghidra.framework.plugintool.PluginManager.addPlugins(PluginManager.java:146)
    at ghidra.framework.plugintool.PluginTool.lambda$addPlugins$3(PluginTool.java:918)
    at ghidra.framework.plugintool.PluginTool.lambda$checkedRunSwingNow$12(PluginTool.java:1658)
    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 ghidra.framework.plugintool.PluginTool.checkedRunSwingNow(PluginTool.java:1656)
    at ghidra.framework.plugintool.PluginTool.addPlugins(PluginTool.java:916)
    at ghidra.framework.plugintool.DefaultPluginInstaller.addPlugins(DefaultPluginInstaller.java:40)
    at ghidra.framework.plugintool.PluginConfigurationModel.addPlugin(PluginConfigurationModel.java:139)
    at ghidra.framework.plugintool.dialog.PluginInstallerTableModel.addPlugin(PluginInstallerTableModel.java:170)
    at ghidra.framework.plugintool.dialog.PluginInstallerTableModel.setValueAt(PluginInstallerTableModel.java:135)
    at java.desktop/javax.swing.JTable.setValueAt(JTable.java:2787)
    at java.desktop/javax.swing.JTable.editingStopped(JTable.java:4785)
    at java.desktop/javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:152)
    at java.desktop/javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:375)
    at java.desktop/javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:234)

It continues on and on.

cyberkaida commented 1 month ago

Thank you for trying! I am going to do some fresh installs and add some integration tests, there have been issues installing for other too.

Mites-G commented 1 month ago

Getting the same thing on a fresh install. Ghidra installed via flathub on Arch KDE Plasma


Error constructing plugin: class reva.RevaPlugin
ghidra.framework.plugintool.util.PluginException: Error constructing plugin: class reva.RevaPlugin
    at ghidra.framework.plugintool.util.PluginUtils.instantiatePlugin(PluginUtils.java:58)
    at ghidra.framework.plugintool.PluginManager.addPlugins(PluginManager.java:146)
    at ghidra.framework.plugintool.PluginTool.lambda$addPlugins$3(PluginTool.java:918)
    at ghidra.framework.plugintool.PluginTool.lambda$checkedRunSwingNow$12(PluginTool.java:1658)
    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 ghidra.framework.plugintool.PluginTool.checkedRunSwingNow(PluginTool.java:1656)
    at ghidra.framework.plugintool.PluginTool.addPlugins(PluginTool.java:916)
    at ghidra.framework.plugintool.DefaultPluginInstaller.addPlugins(DefaultPluginInstaller.java:40)
    at ghidra.framework.plugintool.PluginConfigurationModel.addPlugin(PluginConfigurationModel.java:139)
    at ghidra.framework.plugintool.dialog.PluginInstallerTableModel.addPlugin(PluginInstallerTableModel.java:170)
    at ghidra.framework.plugintool.dialog.PluginInstallerTableModel.setValueAt(PluginInstallerTableModel.java:135)
    at java.desktop/javax.swing.JTable.setValueAt(JTable.java:2787)
    at java.desktop/javax.swing.JTable.editingStopped(JTable.java:4785)
    at java.desktop/javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:152)
    at java.desktop/javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:375)
    at java.desktop/javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:234)
    at java.desktop/javax.swing.DefaultCellEditor$EditorDelegate.actionPerformed(DefaultCellEditor.java:392)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
    at java.desktop/javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:411)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
    at java.desktop/java.awt.Component.processEvent(Component.java:6391)
    at java.desktop/java.awt.Container.processEvent(Container.java:2266)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
    at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.repostEvent(BasicTableUI.java:987)
    at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(BasicTableUI.java:1203)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
    at java.desktop/java.awt.Component.processEvent(Component.java:6391)
    at java.desktop/java.awt.Container.processEvent(Container.java:2266)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
    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:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
    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:318)
    at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
    at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
    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:1016)
    at docking.DockingDialog.setVisible(DockingDialog.java:351)
    at docking.DockingWindowManager.lambda$doShowDialog$6(DockingWindowManager.java:1856)
    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:1860)
    at docking.DockingWindowManager.showDialog(DockingWindowManager.java:1809)
    at docking.AbstractDockingTool.showDialog(AbstractDockingTool.java:168)
    at ghidra.framework.project.tool.ExtensionManager.propmtToConfigureNewPlugins(ExtensionManager.java:73)
    at ghidra.framework.project.tool.ExtensionManager.checkForNewExtensions(ExtensionManager.java:60)
    at ghidra.framework.project.tool.GhidraTool.setVisible(GhidraTool.java:146)
    at ghidra.framework.project.tool.WorkspaceImpl.lambda$runTool$0(WorkspaceImpl.java:95)
    at ghidra.util.Swing.lambda$runNow$1(Swing.java:148)
    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:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    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:318)
    at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
    at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
    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:1016)
    at docking.DockingDialog.setVisible(DockingDialog.java:351)
    at docking.DockingWindowManager.lambda$doShowDialog$6(DockingWindowManager.java:1856)
    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:1860)
    at docking.DockingWindowManager.showDialog(DockingWindowManager.java:1809)
    at ghidra.util.task.TaskDialog.lambda$doShow$7(TaskDialog.java:373)
    at ghidra.util.Swing.runIfSwingOrRunLater(Swing.java:124)
    at ghidra.util.task.TaskDialog.doShow(TaskDialog.java:370)
    at ghidra.util.task.TaskDialog.doShowModal(TaskDialog.java:350)
    at ghidra.util.task.TaskDialog.show(TaskDialog.java:324)
    at ghidra.util.task.TaskRunner.lambda$showTaskDialog$1(TaskRunner.java:123)
    at ghidra.util.Swing.runIfSwingOrRunLater(Swing.java:124)
    at ghidra.util.task.TaskRunner.showTaskDialog(TaskRunner.java:120)
    at ghidra.util.task.TaskRunner.run(TaskRunner.java:54)
    at ghidra.util.task.TaskLauncher.<init>(TaskLauncher.java:221)
    at ghidra.util.task.TaskLauncher.<init>(TaskLauncher.java:203)
    at ghidra.framework.project.tool.WorkspaceImpl.launchSwing(WorkspaceImpl.java:117)
    at ghidra.framework.project.tool.WorkspaceImpl.runTool(WorkspaceImpl.java:92)
    at ghidra.framework.project.tool.ToolServicesImpl.defaultLaunch(ToolServicesImpl.java:209)
    at ghidra.framework.project.tool.ToolServicesImpl.launchTool(ToolServicesImpl.java:235)
    at ghidra.framework.main.ToolButton.openDomainFiles(ToolButton.java:564)
    at ghidra.framework.main.ToolButton$2.end(ToolButton.java:541)
    at ghidra.framework.main.ZoomImageRunner$1.end(ZoomImageRunner.java:54)
    at org.jdesktop.animation.timing.Animator.end(Animator.java:755)
    at org.jdesktop.animation.timing.Animator.stop(Animator.java:660)
    at org.jdesktop.animation.timing.Animator.timingEvent(Animator.java:732)
    at org.jdesktop.animation.timing.Animator.access$200(Animator.java:75)
    at org.jdesktop.animation.timing.Animator$TimerTarget.actionPerformed(Animator.java:1041)
    at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311)
    at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243)
    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:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    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)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
    at ghidra.framework.plugintool.util.PluginUtils.instantiatePlugin(PluginUtils.java:46)
    ... 152 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse
    at reva.protocol.RevaDecompilationServiceGrpc.getGetDecompilationMethod(RevaDecompilationServiceGrpc.java:40)
    at reva.protocol.RevaDecompilationServiceGrpc.getServiceDescriptor(RevaDecompilationServiceGrpc.java:498)
    at reva.protocol.RevaDecompilationServiceGrpc.bindService(RevaDecompilationServiceGrpc.java:421)
    at reva.protocol.RevaDecompilationServiceGrpc$RevaDecompilationServiceImplBase.bindService(RevaDecompilationServiceGrpc.java:226)
    at io.grpc.internal.ServerImplBuilder.addService(ServerImplBuilder.java:143)
    at io.grpc.internal.ServerImplBuilder.addService(ServerImplBuilder.java:57)
    at io.grpc.ForwardingServerBuilder.addService(ForwardingServerBuilder.java:77)
    at reva.RevaPlugin.<init>(RevaPlugin.java:278)
    ... 158 more
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.IllegalAccessError: class reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse tried to access method 'com.google.protobuf.LazyStringArrayList com.google.protobuf.LazyStringArrayList.emptyList()' (reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse and com.google.protobuf.LazyStringArrayList are in unnamed module of loader ghidra.GhidraClassLoader @3d04a311) [in thread "AWT-EventQueue-0"]
    at reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse.<init>(RevaGetDecompilation.java:1003)
    at reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse.<clinit>(RevaGetDecompilation.java:2696)
    ... 166 more

---------------------------------------------------
Build Date: 2024-Jun-15 1007 UTC
Ghidra Version: 11.1.1
Java Home: /app/jdk
JVM Version: Flathub 17.0.11
OS: Linux 6.10.1-arch1-1 amd64```
cyberkaida commented 1 month ago

Thank you both! I will try to reproduce on my linux machine.

cyberkaida commented 1 month ago

I am not sure, I have seen this when the wrong version of Gradle is used (it does not pull the protobuf library and compile the protobufs correctly).

Are you building locally? Can you try the version from the CI?

https://github.com/cyberkaida/reverse-engineering-assistant/actions/runs/10129853390

I am using:

kaida@Kaidas-Maxbook ~ % gradle --version

------------------------------------------------------------
Gradle 7.6.4
------------------------------------------------------------

Build time:   2024-02-05 14:29:18 UTC
Revision:     e0bb3fc8cefad8432c9033cdfb12dc14facc9dd9

Kotlin:       1.7.10
Groovy:       3.0.13
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          17.0.11 (Homebrew 17.0.11+0)
OS:           Mac OS X 14.5 aarch64
Mites-G commented 1 month ago

I am not sure, I have seen this when the wrong version of Gradle is used (it does not pull the protobuf library and compile the protobufs correctly).

Are you building locally? Can you try the version from the CI?

https://github.com/cyberkaida/reverse-engineering-assistant/actions/runs/10129853390

I am using:

kaida@Kaidas-Maxbook ~ % gradle --version

------------------------------------------------------------
Gradle 7.6.4
------------------------------------------------------------

Build time:   2024-02-05 14:29:18 UTC
Revision:     e0bb3fc8cefad8432c9033cdfb12dc14facc9dd9

Kotlin:       1.7.10
Groovy:       3.0.13
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          17.0.11 (Homebrew 17.0.11+0)
OS:           Mac OS X 14.5 aarch64

It does work with the CI version. I'll try to build again soon but this fixes for now. Thanks!

Degamisu commented 1 month ago

Interesting, I'm using windows currently (linux machine died 😢 ) and I'm not sure how to get this to work? I'm just trying to find the artifact download.

Update: Found it, going to run some tests now. Thanks!

Degamisu commented 1 month ago

Tried it with the CI version, same error.

cyberkaida commented 1 month ago

Tried it with the CI version, same error.

Can you please tell me your gradle and Java version, can you do a build of the extension and attach the build logs?

I am trying to see if there is some problem in the Gradle script when it compiles the protobufs.

cyberkaida commented 1 month ago

Tried it with the CI version, same error.

I'm going to improve the CI and try to get it working on Windows. I had some trouble with the GitHub action I tried.

It is time to add some integration tests I think!

Degamisu commented 1 month ago

Tried it with the CI version, same error.

Can you please tell me your gradle and Java version, can you do a build of the extension and attach the build logs?

I am trying to see if there is some problem in the Gradle script when it compiles the protobufs.

Yes sorry for the late reply, I will get this done as soon as possible.

Tried it with the CI version, same error.

I'm going to improve the CI and try to get it working on Windows. I had some trouble with the GitHub action I tried.

It is time to add some integration tests I think!

Indeed I believe that's the right idea!

cyberkaida commented 1 month ago

OK! CI for Windows and macOS is now added. Can you try the latest build?

Degamisu commented 1 month ago

OK! CI for Windows and macOS is now added. Can you try the latest build?

Sure thing! I was having crazy trouble with building it. Testing now.

Update: Might be doing something wrong, same errors.

Error:

```java Error constructing plugin: class reva.RevaPlugin ghidra.framework.plugintool.util.PluginException: Error constructing plugin: class reva.RevaPlugin at ghidra.framework.plugintool.util.PluginUtils.instantiatePlugin(PluginUtils.java:58) at ghidra.framework.plugintool.PluginManager.addPlugins(PluginManager.java:146) at ghidra.framework.plugintool.PluginTool.lambda$addPlugins$3(PluginTool.java:918) at ghidra.framework.plugintool.PluginTool.lambda$checkedRunSwingNow$12(PluginTool.java:1658) 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 ghidra.framework.plugintool.PluginTool.checkedRunSwingNow(PluginTool.java:1656) at ghidra.framework.plugintool.PluginTool.addPlugins(PluginTool.java:916) at ghidra.framework.plugintool.DefaultPluginInstaller.addPlugins(DefaultPluginInstaller.java:40) at ghidra.framework.plugintool.PluginConfigurationModel.addPlugin(PluginConfigurationModel.java:139) at ghidra.framework.plugintool.dialog.PluginInstallerTableModel.addPlugin(PluginInstallerTableModel.java:170) at ghidra.framework.plugintool.dialog.PluginInstallerTableModel.setValueAt(PluginInstallerTableModel.java:135) at java.desktop/javax.swing.JTable.setValueAt(JTable.java:2787) at java.desktop/javax.swing.JTable.editingStopped(JTable.java:4785) at java.desktop/javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:152) at java.desktop/javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:375) at java.desktop/javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:234) at java.desktop/javax.swing.DefaultCellEditor$EditorDelegate.actionPerformed(DefaultCellEditor.java:392) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:411) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.repostEvent(BasicTableUI.java:987) at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(BasicTableUI.java:1203) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) 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:318) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) at java.desktop/java.awt.Dialog.show(Dialog.java:1080) 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:1016) at docking.DockingDialog.setVisible(DockingDialog.java:351) at docking.DockingWindowManager.lambda$doShowDialog$6(DockingWindowManager.java:1856) 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:1860) at docking.DockingWindowManager.showDialog(DockingWindowManager.java:1809) at docking.AbstractDockingTool.showDialog(AbstractDockingTool.java:168) at ghidra.framework.plugintool.dialog.PluginManagerComponent.managePlugins(PluginManagerComponent.java:73) at ghidra.framework.plugintool.dialog.PluginManagerComponent$PluginPackageComponent.lambda$createConfigureHyperlink$1(PluginManagerComponent.java:196) at docking.widgets.HyperlinkComponent$1.hyperlinkUpdate(HyperlinkComponent.java:66) at java.desktop/javax.swing.JEditorPane.fireHyperlinkUpdate(JEditorPane.java:401) at java.desktop/javax.swing.text.html.HTMLEditorKit$LinkController.activateLink(HTMLEditorKit.java:906) at java.desktop/javax.swing.text.html.HTMLEditorKit$LinkController.mouseClicked(HTMLEditorKit.java:702) at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:278) at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277) at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277) at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6629) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4584) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) 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) Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at ghidra.framework.plugintool.util.PluginUtils.instantiatePlugin(PluginUtils.java:46) ... 121 more Caused by: java.lang.NoClassDefFoundError: Could not initialize class reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse at reva.protocol.RevaDecompilationServiceGrpc.getGetDecompilationMethod(RevaDecompilationServiceGrpc.java:40) at reva.protocol.RevaDecompilationServiceGrpc.getServiceDescriptor(RevaDecompilationServiceGrpc.java:498) at reva.protocol.RevaDecompilationServiceGrpc.bindService(RevaDecompilationServiceGrpc.java:421) at reva.protocol.RevaDecompilationServiceGrpc$RevaDecompilationServiceImplBase.bindService(RevaDecompilationServiceGrpc.java:226) at io.grpc.internal.ServerImplBuilder.addService(ServerImplBuilder.java:143) at io.grpc.internal.ServerImplBuilder.addService(ServerImplBuilder.java:57) at io.grpc.ForwardingServerBuilder.addService(ForwardingServerBuilder.java:77) at reva.RevaPlugin.(RevaPlugin.java:278) ... 127 more Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.IllegalAccessError: class reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse tried to access method 'com.google.protobuf.LazyStringArrayList com.google.protobuf.LazyStringArrayList.emptyList()' (reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse and com.google.protobuf.LazyStringArrayList are in unnamed module of loader ghidra.GhidraClassLoader @38cccef) [in thread "AWT-EventQueue-0"] at reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse.(RevaGetDecompilation.java:1003) at reva.protocol.RevaGetDecompilation$RevaGetDecompilationResponse.(RevaGetDecompilation.java:2696) ... 135 more --------------------------------------------------- Build Date: 2024-Jun-14 1025 EDT Ghidra Version: 11.1.1 Java Home: C:\Program Files\Java\jdk-17 JVM Version: Oracle Corporation 17.0.10 OS: Windows 11 10.0 amd64 Workstation: USERPC ```