SoarGroup / Soar

Soar, a general cognitive architecture for systems that exhibit intelligent behavior.
http://soar.eecs.umich.edu
Other
322 stars 70 forks source link

spurious debugger errors after closing an agent window #431

Closed garfieldnate closed 4 months ago

garfieldnate commented 4 months ago
  1. Open the debugger with a new agent.
  2. Create a new agent in a new window.
  3. Close the second window.
  4. Step.

The debugger continues to work fine, but spews tons of exception stacktraces. Presumably the debugger still has a reference to the window and tries to do something with it, but can't because it has been destroyed already:

org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed))))))))))
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesTillClosed(Document.java:1080)
    at edu.umich.soar.debugger.SWTApplication.startApp(SWTApplication.java:295)
    at edu.umich.soar.debugger.Application.<init>(Application.java:31)
    at edu.umich.soar.debugger.Application.main(Application.java:54)
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)))))))))
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesOneStep(Document.java:1100)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommandGeneral(Document.java:1207)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommand(Document.java:1147)
    at edu.umich.soar.debugger.modules.AbstractComboView.executeAgentCommand(AbstractComboView.java:634)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:455)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 6 more
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed))))))))
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesOneStep(Document.java:1100)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommandGeneral(Document.java:1207)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommand(Document.java:1147)
    at edu.umich.soar.debugger.modules.AbstractComboView.executeAgentCommand(AbstractComboView.java:634)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:455)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 16 more
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)))))))
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesOneStep(Document.java:1100)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommandGeneral(Document.java:1207)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommand(Document.java:1147)
    at edu.umich.soar.debugger.modules.AbstractComboView.executeAgentCommand(AbstractComboView.java:634)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:455)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 26 more
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed))))))
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesOneStep(Document.java:1100)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommandGeneral(Document.java:1207)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommand(Document.java:1147)
    at edu.umich.soar.debugger.modules.AbstractComboView.executeAgentCommand(AbstractComboView.java:634)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:455)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 36 more
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)))))
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesOneStep(Document.java:1100)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommandGeneral(Document.java:1207)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommand(Document.java:1147)
    at edu.umich.soar.debugger.modules.AbstractComboView.executeAgentCommand(AbstractComboView.java:634)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:455)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 46 more
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed))))
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesOneStep(Document.java:1100)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommandGeneral(Document.java:1207)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommand(Document.java:1147)
    at edu.umich.soar.debugger.modules.AbstractComboView.executeAgentCommand(AbstractComboView.java:634)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:455)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 56 more
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)))
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesOneStep(Document.java:1100)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommandGeneral(Document.java:1207)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommand(Document.java:1147)
    at edu.umich.soar.debugger.modules.AbstractComboView.executeAgentCommand(AbstractComboView.java:634)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:455)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 66 more
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed))
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesOneStep(Document.java:1100)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommandGeneral(Document.java:1207)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommand(Document.java:1147)
    at edu.umich.soar.debugger.modules.AbstractComboView.executeAgentCommand(AbstractComboView.java:634)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:455)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 76 more
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesOneStep(Document.java:1100)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommandGeneral(Document.java:1207)
    at edu.umich.soar.debugger.doc.Document.sendAgentCommand(Document.java:1147)
    at edu.umich.soar.debugger.modules.AbstractComboView.executeAgentCommand(AbstractComboView.java:634)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:455)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 86 more
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.SWT.error(SWT.java:4804)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
    at org.eclipse.swt.widgets.Combo.getText(Combo.java:985)
    at edu.umich.soar.debugger.modules.AbstractComboView.moveComboCursorToEnd(AbstractComboView.java:376)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:446)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 96 more
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesTillClosed(Document.java:1080)
    at edu.umich.soar.debugger.SWTApplication.startApp(SWTApplication.java:295)
    at edu.umich.soar.debugger.Application.<init>(Application.java:31)
    at edu.umich.soar.debugger.Application.main(Application.java:54)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.SWT.error(SWT.java:4804)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
    at org.eclipse.swt.widgets.Combo.getText(Combo.java:985)
    at edu.umich.soar.debugger.modules.AbstractComboView.moveComboCursorToEnd(AbstractComboView.java:376)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:446)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 6 more
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesTillClosed(Document.java:1080)
    at edu.umich.soar.debugger.SWTApplication.startApp(SWTApplication.java:295)
    at edu.umich.soar.debugger.Application.<init>(Application.java:31)
    at edu.umich.soar.debugger.Application.main(Application.java:54)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.SWT.error(SWT.java:4804)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
    at org.eclipse.swt.widgets.Combo.getText(Combo.java:985)
    at edu.umich.soar.debugger.modules.AbstractComboView.moveComboCursorToEnd(AbstractComboView.java:376)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:446)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 6 more
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesTillClosed(Document.java:1080)
    at edu.umich.soar.debugger.SWTApplication.startApp(SWTApplication.java:295)
    at edu.umich.soar.debugger.Application.<init>(Application.java:31)
    at edu.umich.soar.debugger.Application.main(Application.java:54)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.SWT.error(SWT.java:4804)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
    at org.eclipse.swt.widgets.Combo.getText(Combo.java:985)
    at edu.umich.soar.debugger.modules.AbstractComboView.moveComboCursorToEnd(AbstractComboView.java:376)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:446)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 6 more
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesTillClosed(Document.java:1080)
    at edu.umich.soar.debugger.SWTApplication.startApp(SWTApplication.java:295)
    at edu.umich.soar.debugger.Application.<init>(Application.java:31)
    at edu.umich.soar.debugger.Application.main(Application.java:54)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.SWT.error(SWT.java:4804)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
    at org.eclipse.swt.widgets.Combo.getText(Combo.java:985)
    at edu.umich.soar.debugger.modules.AbstractComboView.moveComboCursorToEnd(AbstractComboView.java:376)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:446)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 6 more
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesTillClosed(Document.java:1080)
    at edu.umich.soar.debugger.SWTApplication.startApp(SWTApplication.java:295)
    at edu.umich.soar.debugger.Application.<init>(Application.java:31)
    at edu.umich.soar.debugger.Application.main(Application.java:54)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.SWT.error(SWT.java:4804)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
    at org.eclipse.swt.widgets.Combo.getText(Combo.java:985)
    at edu.umich.soar.debugger.modules.AbstractComboView.moveComboCursorToEnd(AbstractComboView.java:376)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:446)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 6 more
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesTillClosed(Document.java:1080)
    at edu.umich.soar.debugger.SWTApplication.startApp(SWTApplication.java:295)
    at edu.umich.soar.debugger.Application.<init>(Application.java:31)
    at edu.umich.soar.debugger.Application.main(Application.java:54)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.SWT.error(SWT.java:4804)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
    at org.eclipse.swt.widgets.Combo.getText(Combo.java:985)
    at edu.umich.soar.debugger.modules.AbstractComboView.moveComboCursorToEnd(AbstractComboView.java:376)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:446)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 6 more
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesTillClosed(Document.java:1080)
    at edu.umich.soar.debugger.SWTApplication.startApp(SWTApplication.java:295)
    at edu.umich.soar.debugger.Application.<init>(Application.java:31)
    at edu.umich.soar.debugger.Application.main(Application.java:54)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.SWT.error(SWT.java:4804)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
    at org.eclipse.swt.widgets.Combo.getText(Combo.java:985)
    at edu.umich.soar.debugger.modules.AbstractComboView.moveComboCursorToEnd(AbstractComboView.java:376)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:446)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 6 more
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4368)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3991)
    at edu.umich.soar.debugger.doc.Document.pumpMessagesTillClosed(Document.java:1080)
    at edu.umich.soar.debugger.SWTApplication.startApp(SWTApplication.java:295)
    at edu.umich.soar.debugger.Application.<init>(Application.java:31)
    at edu.umich.soar.debugger.Application.main(Application.java:54)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4918)
    at org.eclipse.swt.SWT.error(SWT.java:4833)
    at org.eclipse.swt.SWT.error(SWT.java:4804)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:811)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:597)
    at org.eclipse.swt.widgets.Combo.getText(Combo.java:985)
    at edu.umich.soar.debugger.modules.AbstractComboView.moveComboCursorToEnd(AbstractComboView.java:376)
    at edu.umich.soar.debugger.modules.AbstractComboView.commandEntered(AbstractComboView.java:446)
    at edu.umich.soar.debugger.modules.AbstractComboView.lambda$updateNow$1(AbstractComboView.java:590)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    ... 6 more
garfieldnate commented 4 months ago

It appears that the debugger deregisters handlers based on when agents are destroyed, not when the window is closed. When the window is closed there are still handlers that refer to the window for printing updates when the user steps (or does any other commands), and the referenced window is destroyed, causing this error.