Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

ArrayIndexOutOfBoundsException when saving on quit #7286

Open
hippietrail opened this issue Dec 16, 2024 · 0 comments
Open

ArrayIndexOutOfBoundsException when saving on quit #7286

hippietrail opened this issue Dec 16, 2024 · 0 comments

Comments

@hippietrail
Copy link
Contributor

Describe the bug
I quit the official Ghidra to switch to one of my project Ghidras and got the attached crash report.

To Reproduce
Not sure this is reproducible but the crash report should help.

  1. Use Ghidra normally for a day.
  2. Command-Q to quit.
  3. Ghidra prompted me to save one changed open project.
  4. Ghidra prompted me to save my theme since I had resized some fields in listing view to fit comment sizes etc.

Expected behavior
Save changes to project and theme and shut down cleanly as usual.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context

Index 9 out of bounds for length 9
java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9
	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-Nov-05 1643 EST
Ghidra Version: 11.2.1
Java Home: /Library/Java/JavaVirtualMachines/jdk-23.jdk/Contents/Home
JVM Version: Oracle Corporation 23
OS: Mac OS X 15.0.1 aarch64
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant