Bug 174165 - Unhandled exception after cancel of expansion in the Packages Explorer
Summary: Unhandled exception after cancel of expansion in the Packages Explorer
Status: RESOLVED DUPLICATE of bug 92347
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-14 09:34 EST by Michael Valenta CLA
Modified: 2007-02-15 04:14 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Valenta CLA 2007-02-14 09:34:31 EST
After starting Eclipse, I tried to expand a project in the Packages Explorer. The expansion was blocked so I got the blocked dialog. I clicked on the button to cancel the expansion and an exception was logged. First of all, I wouldn't expect that expanding a project would need to obtain a scheduling rule. I would expect it to show me what it can at the time and then refresh when additional information become available. Also, I wouldn't expect to get an exception logged for performing a cancel.

Here's the trace:

org.eclipse.core.runtime.OperationCanceledException
at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:168)
at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:87)
at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:226)
at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:117)
at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1745)
at org.eclipse.core.internal.resources.Project.touch(Project.java:1031)
at org.eclipse.jdt.internal.core.SetContainerOperation.executeOperation(SetContainerOperation.java:115)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1798)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:784)
at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:4174)
at org.eclipse.pde.internal.core.RequiredPluginsInitializer.initialize(RequiredPluginsInitializer.java:33)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2068)
at org.eclipse.jdt.internal.core.JavaModelManager$9.run(JavaModelManager.java:2014)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1798)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2023)
at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1415)
at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:1517)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2550)
at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1853)
at org.eclipse.jdt.internal.core.DeltaProcessingState.initializeRoots(DeltaProcessingState.java:202)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:717)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1798)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:784)
at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:4174)
at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize(JREContainerInitializer.java:69)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2068)
at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1417)
at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:1517)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2550)
at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1853)
at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:386)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:229)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:505)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:249)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:235)
at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:190)
at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:1706)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getPackageFragmentRoots(PackageExplorerContentProvider.java:287)
at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getChildren(StandardJavaElementContentProvider.java:178)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getChildren(PackageExplorerContentProvider.java:270)
at org.eclipse.jdt.internal.ui.packageview.WorkingSetAwareContentProvider.getChildren(WorkingSetAwareContentProvider.java:87)
at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1283)
at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:394)
at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.getFilteredChildren(ProblemTreeViewer.java:205)
at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:580)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:774)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:751)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:526)
at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1370)
at org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeViewer.java:781)
at org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:1381)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:125)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:962)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:947)
at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:6656)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4365)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:1489)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4018)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3526)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4159)
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2114)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1382)
at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:5475)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3507)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5062)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4172)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2200)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3102)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2264)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2228)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2103)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:457)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:452)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:146)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:476)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:416)
at org.eclipse.equinox.launcher.Main.run(Main.java:1124)
at org.eclipse.equinox.launcher.Main.main(Main.java:1099)
Comment 1 Martin Aeschlimann CLA 2007-02-15 04:14:54 EST
In our discussions here we concluded that the correct behaviour on a cancel while expanding is to keep the node collapsed.
This has to be implemented by JFace. Currently, viewers become stale: Bug 92347.

*** This bug has been marked as a duplicate of bug 92347 ***