Community
Participate
Working Groups
I don't know if this is really a bug or expected behaviour but in RC2 I didn't had this problem. Now I have it everytime I start eclipse. Steps: 1. I open eclipse 2. After eclipse is opened I try to expand a java project in the package explorer. 3. I see a dialog that says: the user operation is waiting for a background work to complete. The background job is: Java - Eclipse Platform If this is expected behaviour then the user should see a better explanation than 'Java - Eclipse Platform'. Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode): "All Types Caching" prio=4 tid=0x1c73f488 nid=0x410 runnable [1e07f000..1e07fd88] at org.tigris.subversion.javahl.SVNClient.singleStatus(Native Method) at org.tigris.subversion.javahl.SVNClientSynchronized.singleStatus(SVNClientSynchronized.java:101) - locked <0x191a47d0> (a java.lang.Class) at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapter.getStatus(JhlClientAdapter.java:378) at org.tigris.subversion.subclipse.core.resources.LocalResourceStatusCache.updateStatusSet(LocalResourceStatusCache.java:121) at org.tigris.subversion.subclipse.core.resources.LocalResourceStatusCache.getStatus(LocalResourceStatusCache.java:173) at org.tigris.subversion.subclipse.core.resources.LocalResource.getStatus(LocalResource.java:159) at org.tigris.subversion.subclipse.core.resources.LocalResource.hasRemote(LocalResource.java:152) at org.tigris.subversion.subclipse.core.SVNTeamProvider.setProject(SVNTeamProvider.java:78) at org.eclipse.team.core.RepositoryProvider.mapNewProvider(RepositoryProvider.java:176) at org.eclipse.team.core.RepositoryProvider.mapExistingProvider(RepositoryProvider.java:205) at org.eclipse.team.core.RepositoryProvider.getProvider(RepositoryProvider.java:409) at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider(TeamHookDispatcher.java:71) at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory(TeamHookDispatcher.java:79) at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:86) at org.eclipse.core.internal.resources.Rules.modifyRule(Rules.java:121) at org.eclipse.core.internal.resources.Project.touch(Project.java:954) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation(SetClasspathOperation.java:280) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1673) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:744) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:2650) at org.eclipse.jdt.core.JavaCore$3.run(JavaCore.java:3433) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1673) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3246) at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:3416) at com.genuitec.eclipse.j2eedt.core.J2EEContainerInitializer.initialize(Unknown Source) at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:1261) at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:1226) at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:833) at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:1184) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1888) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1798) at org.eclipse.jdt.internal.core.search.JavaSearchScope.add(JavaSearchScope.java:78) at org.eclipse.jdt.internal.core.search.JavaWorkspaceScope.initialize(JavaWorkspaceScope.java:80) at org.eclipse.jdt.internal.core.search.JavaSearchScope.<init>(JavaSearchScope.java:52) at org.eclipse.jdt.internal.core.search.JavaWorkspaceScope.<init>(JavaWorkspaceScope.java:31) at org.eclipse.jdt.core.search.SearchEngine.createWorkspaceScope(SearchEngine.java:423) at org.eclipse.jdt.internal.corext.util.AllTypesCache.search(AllTypesCache.java:531) at org.eclipse.jdt.internal.corext.util.AllTypesCache$TypeCacher.doSearchTypes(AllTypesCache.java:197) at org.eclipse.jdt.internal.corext.util.AllTypesCache$TypeCacher.run(AllTypesCache.java:166) "Keep-Alive-Timer" daemon prio=9 tid=0x1c93ee28 nid=0x830 waiting on condition [1d83f000..1d83fd88] at java.lang.Thread.sleep(Native Method) at sun.net.www.http.KeepAliveCache.run(Unknown Source) at java.lang.Thread.run(Unknown Source) "Worker-3" prio=5 tid=0x1c324e38 nid=0x270 in Object.wait() [1d79f000..1d79fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10c4aa08> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) - locked <0x10c4aa08> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "Worker-2" prio=5 tid=0x1c34ce88 nid=0x53c in Object.wait() [1d75f000..1d75fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10c4aa08> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) - locked <0x10c4aa08> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "Worker-1" prio=5 tid=0x1c3a4d58 nid=0x284 in Object.wait() [1d71f000..1d71fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10c4aa08> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) - locked <0x10c4aa08> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "Java indexing" daemon prio=4 tid=0x1c681508 nid=0x798 in Object.wait() [1d43f000..1d43fd88] at java.lang.Object.wait(Native Method) - waiting on <0x11117730> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Object.wait(Unknown Source) at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:338) - locked <0x11117730> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Unknown Source) "Reference Cleaner - 2" prio=7 tid=0x1c60bb60 nid=0x934 in Object.wait() [1d2cf000..1d2cfd88] at java.lang.Object.wait(Native Method) - waiting on <0x1104c940> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x1104c940> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) "Reference Cleaner - 1" prio=7 tid=0x1c60a928 nid=0x5e4 in Object.wait() [1d28f0 00..1d28fd88] at java.lang.Object.wait(Native Method) - waiting on <0x1104c9b0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x1104c9b0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:207) "Worker-0" prio=5 tid=0x1c5b46e8 nid=0x7a0 in Object.wait() [1d24f000..1d24fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10c4aa08> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) - locked <0x10c4aa08> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "Start Level Event Dispatcher" daemon prio=5 tid=0x1c408008 nid=0x880 in Object. wait() [1c57f000..1c57fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10ac8d98> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Unknown Source) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) - locked <0x10ac8d98> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) "OSGi Console" prio=5 tid=0x1c408cb0 nid=0x3bc in Object.wait() [1c53f000..1c53fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10ac0ce0> (a java.lang.Object) at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:264) - locked <0x10ac0ce0> (a java.lang.Object) at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:236) at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:207) at java.lang.Thread.run(Unknown Source) "Framework Event Dispatcher" daemon prio=5 tid=0x00991660 nid=0x9a0 in Object.wa it() [1c4ff000..1c4ffd88] at java.lang.Object.wait(Native Method) - waiting on <0x10ac0d60> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Unknown Source) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) - locked <0x10ac0d60> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) "Signal Dispatcher" daemon prio=10 tid=0x0091ec60 nid=0x944 waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x0091c208 nid=0x938 in Object.wait() [1c1af000..1c1afd88] at java.lang.Object.wait(Native Method) - waiting on <0x109eae40> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x109eae40> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) "Reference Handler" daemon prio=10 tid=0x0091ad80 nid=0x984 in Object.wait() [1c16f000..1c16fd88] at java.lang.Object.wait(Native Method) - waiting on <0x109eaea8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Unknown Source) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked <0x109eaea8> (a java.lang.ref.Reference$Lock) "main" prio=7 tid=0x00235a70 nid=0x70c in Object.wait() [6d000..6fc3c] at java.lang.Object.wait(Native Method) - waiting on <0x116eb960> (a org.eclipse.core.internal.jobs.ThreadJob) at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:159) - locked <0x116eb960> (a org.eclipse.core.internal.jobs.ThreadJob) at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:87) at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:170) at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:95) at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1628) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1668) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:744) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:2650) at org.eclipse.jdt.core.JavaCore$3.run(JavaCore.java:3433) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1673) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3246) at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:3416) at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize(JREContainerInitializer.java:51) at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:1261) at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:835) at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:1184) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1888) at org.eclipse.jdt.internal.core.JavaProject.findPackageFragmentRoots(JavaProject.java:1043) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.rootsAndContainers(PackageExplorerContentProvider.java:154) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getChildren(PackageExplorerContentProvider.java:135) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.getFilteredChildren(PackageExplorerPart.java:239) at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredViewer.java:588) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:359) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:342) at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:754) at org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:765) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:179) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:820) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:805) at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:2074) at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4004) at org.eclipse.swt.widgets.Composite.WM_NOTIFY(Composite.java:722) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3019) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3298) at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1391) at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:170) at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:1668) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3001) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3298) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1467) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2396) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1375) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1346) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:252) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:272) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:128) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.basicRun(Main.java:186) at org.eclipse.core.launcher.Main.run(Main.java:647) at org.eclipse.core.launcher.Main.main(Main.java:631) "VM Thread" prio=5 tid=0x00955360 nid=0x288 runnable "VM Periodic Task Thread" prio=10 tid=0x0023fd38 nid=0x198 waiting on condition "Suspend Checker Thread" prio=10 tid=0x0091e510 nid=0x964 runnable
Main thread is waiting on workspace lock, which is expected as another thread is in the middle of an operation while initializing containers ("All Types Caching" thread). However, this one cannot complete since subversion does seem to hang: "All Types Caching" prio=4 tid=0x1c73f488 nid=0x410 runnable [1e07f000..1e07fd88] at org.tigris.subversion.javahl.SVNClient.singleStatus(Native Method) at org.tigris.subversion.javahl.SVNClientSynchronized.singleStatus (SVNClientSynchronized.java:101) - locked <0x191a47d0> (a java.lang.Class) at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapter.getStatus (JhlClientAdapter.java:378) at org.tigris.subversion.subclipse.core.resources.LocalResourceStatusCache.updateS tatusSet(LocalResourceStatusCache.java:121) at org.tigris.subversion.subclipse.core.resources.LocalResourceStatusCache.getStat us(LocalResourceStatusCache.java:173) at org.tigris.subversion.subclipse.core.resources.LocalResource.getStatus (LocalResource.java:159) at org.tigris.subversion.subclipse.core.resources.LocalResource.hasRemote (LocalResource.java:152) at org.tigris.subversion.subclipse.core.SVNTeamProvider.setProject (SVNTeamProvider.java:78) at org.eclipse.team.core.RepositoryProvider.mapNewProvider (RepositoryProvider.java:176) at org.eclipse.team.core.RepositoryProvider.mapExistingProvider (RepositoryProvider.java:205) at org.eclipse.team.core.RepositoryProvider.getProvider (RepositoryProvider.java:409) at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider (TeamHookDispatcher.java:71) at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory (TeamHookDispatcher.java:79) at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:86) at org.eclipse.core.internal.resources.Rules.modifyRule(Rules.java:121) at org.eclipse.core.internal.resources.Project.touch(Project.java:954) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:280) I am not seeing any evidence on what subversion is waiting on. So I would redirect this defect to subversion bug databse. Closing as not our bug.