kotcrab / ghidra-allegrex

Ghidra processor module adding support for the Allegrex CPU (PSP)
Apache License 2.0
88 stars 8 forks source link

Toggling breakpoints causes exception in Ghidra #23

Closed archanox closed 1 year ago

archanox commented 1 year ago

I don't know if this is due to my version of Ghidra, but the in addition to this issue module mapping seems a bit flaky. Module not appearing in the modules debug window from time to time.

Cannot invoke "ghidra.program.model.address.AddressRange.getMinAddress()" because "range" is null
java.lang.NullPointerException: Cannot invoke "ghidra.program.model.address.AddressRange.getMinAddress()" because "range" is null
    at ghidra.app.plugin.core.debug.service.breakpoint.LogicalBreakpointInternal$TraceBreakpointSet.planDelete(LogicalBreakpointInternal.java:417)
    at ghidra.app.plugin.core.debug.service.breakpoint.MappedLogicalBreakpoint.planDelete(MappedLogicalBreakpoint.java:264)
    at ghidra.app.plugin.core.debug.service.breakpoint.DebuggerLogicalBreakpointServicePlugin.lambda$deleteAll$12(DebuggerLogicalBreakpointServicePlugin.java:1172)
    at ghidra.app.plugin.core.debug.service.breakpoint.DebuggerLogicalBreakpointServicePlugin.actOnAll(DebuggerLogicalBreakpointServicePlugin.java:1137)
    at ghidra.app.plugin.core.debug.service.breakpoint.DebuggerLogicalBreakpointServicePlugin.deleteAll(DebuggerLogicalBreakpointServicePlugin.java:1167)
    at ghidra.app.plugin.core.debug.gui.breakpoint.DebuggerBreakpointMarkerPlugin$ClearBreakpointAction.actionPerformed(DebuggerBreakpointMarkerPlugin.java:665)
    at docking.PopupMenuHandler$1.run(PopupMenuHandler.java:63)
    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)

---------------------------------------------------
Build Date: 2023-Feb-08 1242 EST
Ghidra Version: 10.2.3
Java Home: /opt/homebrew/Cellar/openjdk/19.0.2/libexec/openjdk.jdk/Contents/Home
JVM Version: Homebrew 19.0.2
OS: Mac OS X 13.2.1 aarch64
kotcrab commented 1 year ago

Fixed, silly mistake.

For module mapping see README, it's possible this is no longer valid, please create separate issue if you think so.