NationalSecurityAgency / ghidra

Ghidra is a software reverse engineering (SRE) framework
https://www.nsa.gov/ghidra
Apache License 2.0
50.97k stars 5.81k forks source link

Array index out of bounds saving modified theme #7010

Open hippietrail opened 1 day ago

hippietrail commented 1 day ago

Describe the bug Ghidra crashed after I quit it with apparently a changed theme and it prompted me first to save it and then for a name to save as after telling me the default one was not modifiable.

Attachments

Index 13 out of bounds for length 13
java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13
    at java.desktop/javax.swing.text.CompositeView.getView(CompositeView.java:158)
    at java.desktop/javax.swing.text.View.forwardUpdate(View.java:1168)
    at java.desktop/javax.swing.text.BoxView.forwardUpdate(BoxView.java:241)
    at java.desktop/javax.swing.text.View.changedUpdate(View.java:798)
    at java.desktop/javax.swing.text.html.BlockView.changedUpdate(BlockView.java:341)
    at java.desktop/javax.swing.text.View.forwardUpdateToView(View.java:1240)
    at java.desktop/javax.swing.text.View.forwardUpdate(View.java:1171)
    at java.desktop/javax.swing.text.BoxView.forwardUpdate(BoxView.java:241)
    at java.desktop/javax.swing.text.View.changedUpdate(View.java:798)
    at java.desktop/javax.swing.text.html.BlockView.changedUpdate(BlockView.java:341)
    at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.changedUpdate(BasicTextUI.java:1739)
    at java.desktop/javax.swing.plaf.basic.BasicTextUI$UpdateHandler.changedUpdate(BasicTextUI.java:2008)
    at java.desktop/javax.swing.text.AbstractDocument.fireChangedUpdate(AbstractDocument.java:256)
    at java.desktop/javax.swing.text.html.HTMLDocument.fireChangedUpdate(HTMLDocument.java:1789)
    at java.desktop/javax.swing.text.DefaultStyledDocument$ChangeUpdateRunnable.run(DefaultStyledDocument.java:2774)
    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.AbstractDockingTool.showDialog(AbstractDockingTool.java:168)
    at ghidra.framework.main.SaveDataDialog.showDialog(SaveDataDialog.java:105)
    at ghidra.framework.main.FileActionManager.saveChangedData(FileActionManager.java:515)
    at ghidra.framework.main.FileActionManager.closeProject(FileActionManager.java:437)
    at ghidra.framework.main.FrontEndPlugin.closeActiveProject(FrontEndPlugin.java:453)
    at ghidra.framework.main.FrontEndTool.canClose(FrontEndTool.java:415)
    at ghidra.framework.plugintool.PluginTool.close(PluginTool.java:1211)
    at ghidra.framework.plugintool.PluginToolMacQuitHandler.lambda$install$0(PluginToolMacQuitHandler.java:56)
    at java.desktop/com.apple.eawt._AppEventHandler$_QuitDispatcher.performUsing(_AppEventHandler.java:431)
    at java.desktop/com.apple.eawt._AppEventHandler$_QuitDispatcher.performUsing(_AppEventHandler.java:420)
    at java.desktop/com.apple.eawt._AppEventHandler$_AppEventDispatcher$1.run(_AppEventHandler.java:552)
    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-Sep-26 1444 EDT
Ghidra Version: 11.2
Java Home: /Library/Java/JavaVirtualMachines/jdk-23.jdk/Contents/Home
JVM Version: Oracle Corporation 23

Environment (please complete the following information):

dragonmacher commented 22 hours ago

This appears to be a known issue that is seen if you change themes after having the Help Window open at some point during your session.