Skip to content

Fails to load and null ptr deref on exit on Ghidra 11.2.1 #16

@novafacing

Description

@novafacing

Describe the bug

Cartographer doesn't load (no menu options) on Ghidra 11.2.1, and throws an exception when Ghidra quits:

java.lang.NullPointerException: Cannot invoke "ghidra.framework.main.FrontEndService.addProjectListener(ghidra.framework.model.ProjectListener)" because "frontEnd" is null
java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "ghidra.framework.main.FrontEndService.addProjectListener(ghidra.framework.model.ProjectListener)" because "frontEnd" is null
	at ghidra.framework.plugintool.Plugin.cleanup(Plugin.java:288)
	at ghidra.framework.plugintool.PluginManager.dispose(PluginManager.java:105)
	at ghidra.framework.plugintool.PluginTool.dispose(PluginTool.java:515)
	at ghidra.framework.main.FrontEndTool.dispose(FrontEndTool.java:170)
	at ghidra.framework.plugintool.PluginTool.close(PluginTool.java:1212)
	at docking.DockingWindowManager.close(DockingWindowManager.java:1184)
	at docking.RootNode$JFrameWindowWrapper$1.windowClosing(RootNode.java:814)
	at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)
	at java.desktop/java.awt.Window.processWindowEvent(Window.java:2085)
	at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)
	at java.desktop/java.awt.Window.processEvent(Window.java:2044)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
	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:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
	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:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	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.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.NullPointerException: Cannot invoke "ghidra.framework.main.FrontEndService.addProjectListener(ghidra.framework.model.ProjectListener)" because "frontEnd" is null
	at ghidra.app.plugin.debug.DomainFolderChangesDisplayPlugin.dispose(DomainFolderChangesDisplayPlugin.java:63)
	at ghidra.framework.plugintool.Plugin.cleanup(Plugin.java:277)
	... 31 more

To Reproduce
Steps to reproduce the behavior:

  1. Build Cartographer against Ghidra 11.2.1
  2. Open Ghidra
  3. See there are no menu options in the Tool menu
  4. Close Ghidra
  5. See the crash exception

Expected behavior

Works as normal.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions