Community
Participate
Working Groups
I had a workbench open, with the following perspectives open in the following order: team, java, java type hierarchy, debug I closed and reopened the workbench in the "java" perspective In the perspective bar on the left hand side of the screen, I right-clicked on the type hierarchy perspective, and selected "Close". Note that I had not yet used that perspective in the current invocation of the workbench. Immediately after clicking close, I clicked in the content outline in my current perspective. The UI froze completely for about 30 seconds. Using TaskManager I saw that CPU usage was very low during that time (maybe 1%). The UI didn't even repaint during this time. After awhile, the UI came back with a generic "internal error" dialog. The log file contained the following stack trace: org.eclipse.jface.util.Assert$AssertionFailedException: null argument; at org.eclipse.jface.util.Assert.isNotNull(Assert.java:133) at org.eclipse.jface.util.Assert.isNotNull(Assert.java(Compiled Code)) at org.eclipse.jface.util.ListenerList.remove(ListenerList.java:131) at org.eclipse.jdt.internal.ui.viewsupport.ProblemMarkerManager.removeListener(ProblemMarkerManager.java:184) at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.dispose(TypeHierarchyViewPart.java:366) at org.eclipse.ui.internal.WorkbenchPage.dispose(WorkbenchPage.java:500) at org.eclipse.ui.internal.WorkbenchWindow.closePage(WorkbenchWindow.java:353) at org.eclipse.ui.internal.WorkbenchWindow$6.widgetSelected(WorkbenchWindow.java:917) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:85) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:646) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java(Compiled Code)) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1160) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:675) at org.eclipse.ui.internal.Workbench.run(Workbench.java:658) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:820) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:285) at java.lang.reflect.Method.invoke(Native Method) at org.eclipse.core.launcher.Main.basicRun(Main.java:151) at org.eclipse.core.launcher.Main.run(Main.java:502) at org.eclipse.core.launcher.Main.main(Main.java:362) NOTES: JohnA (9/27/2001 3:09:31 PM) I have not yet reproduced this, but I will record more details if they become available... JohnA (9/27/2001 4:01:42 PM) I can consistently reproduce the internal error, but the freeze is intermittent. It's important that the type hierarchy perspective has never been opened during that invocation of the workbench. EG (10/1/2001 12:00:10 AM) Given the current workbench APIs the code cannot assume that createPartControl is called before dispose. When a part never becomes visible then createPartControl isn't called. Therefore the code in dispose cannot assume that variables like the viewer field are set when calling dispose. We have to review all our ViewParts: TypeHierarchy, PackagesView, SearchResults, Outliner. EG (10/1/2001 12:03:16 AM) MA pls check type hierarchy and then forward the PR to the owners of the other parts. MA (01.10.2001 11:30:29) for TypeHierarchy, fixed in 202 DM (10/1/01 4:07:32 PM) Fixed for Search view > 0.202a
Checked remaining parts.