Community
Participate
Working Groups
20030427 Imported plugins. The main thread got the JavaModelLock and waits for the workspace lock. The context thread has the workspace lock but waits for the javamodel lock. Seems to be a lock ordering problem: Can you accuire the Javamodel lock without the workspace lock? c:\devel\sdk30429\eclipse>C:\devel\j2sdk1.4.1_01\jre\bin\java.exe -Declipse.cvs.anon=true -Xmx512M -Xms512M -classpath s tartup.jar org.eclipse.core.launcher.Main -data c:\workspaces\eclipse-sh2 Full thread dump Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode): "Snapshot" prio=5 tid=0x27071D58 nid=0xd74 in Object.wait() [2878f000..2878fd8c] at java.lang.Object.wait(Native Method) - waiting on <034BA978> (a org.eclipse.core.internal.utils.Semaphore) at java.lang.Object.wait(Object.java:426) at org.eclipse.core.internal.utils.Semaphore.acquire(Semaphore.java:24) - locked <034BA978> (a org.eclipse.core.internal.utils.Semaphore) at org.eclipse.core.resources.WorkspaceLock.acquire(WorkspaceLock.java:49) at org.eclipse.ui.internal.UIWorkspaceLock.acquire(UIWorkspaceLock.java:46) at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:79) at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1558) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1593) at org.eclipse.core.internal.resources.DelayedSnapshotRunnable.runSnapshot(DelayedSnapshotRunnable.java:68) at org.eclipse.core.internal.resources.DelayedSnapshotRunnable.run(DelayedSnapshotRunnable.java:44) at java.lang.Thread.run(Thread.java:536) "ModalContext" prio=5 tid=0x27EF6830 nid=0xb0c waiting for monitor entry [2874f000..2874fd8c] at org.eclipse.jdt.internal.core.Openable.isOpen(Openable.java:322) - waiting to lock <05AD5748> (a org.eclipse.jdt.internal.core.JavaModelManager) at org.eclipse.jdt.internal.core.SetClasspathOperation.generateClasspathChangeDeltas(SetClasspathOperation.java: 282) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateClasspath(SetClasspathOperation.java:584) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation(SetClasspathOperation.java:243) at org.eclipse.jdt.internal.core.JavaModelOperation.execute(JavaModelOperation.java:365) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:704) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1595) at org.eclipse.jdt.internal.core.JavaElement.runOperation(JavaElement.java:543) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:2164) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:2180) at org.eclipse.pde.internal.core.ClasspathUtilCore.setClasspath(ClasspathUtilCore.java:68) at org.eclipse.pde.internal.ui.wizards.imports.UpdateClasspathAction.setProjectBuildpath(UpdateClasspathAction.j ava:196) at org.eclipse.pde.internal.ui.wizards.imports.UpdateClasspathAction.doUpdateClasspath(UpdateClasspathAction.jav a:176) at org.eclipse.pde.internal.ui.wizards.imports.PluginImportWizard$3.run(PluginImportWizard.java:217) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1595) at org.eclipse.pde.internal.ui.wizards.imports.PluginImportWizard$2.run(PluginImportWizard.java:192) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:101) "Decoration" daemon prio=2 tid=0x26F98BE0 nid=0xfd4 in Object.wait() [27c7f000..27c7fd8c] at java.lang.Object.wait(Native Method) - waiting on <05B9D390> (a org.eclipse.ui.internal.decorators.DecorationScheduler) at java.lang.Object.wait(Object.java:426) at org.eclipse.ui.internal.decorators.DecorationScheduler.next(DecorationScheduler.java:214) - locked <05B9D390> (a org.eclipse.ui.internal.decorators.DecorationScheduler) at org.eclipse.ui.internal.decorators.DecorationScheduler$2.run(DecorationScheduler.java:240) at java.lang.Thread.run(Thread.java:536) "Java indexing" daemon prio=4 tid=0x26E0F1D0 nid=0xe38 waiting on condition [27b9f000..27b9fd8c] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:349) at java.lang.Thread.run(Thread.java:536) "Signal Dispatcher" daemon prio=10 tid=0x009E8308 nid=0xe24 waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x0003E948 nid=0xea0 in Object.wait() [26cbf000..26cbfd8c] at java.lang.Object.wait(Native Method) - waiting on <056DA7D0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <056DA7D0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x0003D518 nid=0xa90 in Object.wait() [95f000..95fd8c] at java.lang.Object.wait(Native Method) - waiting on <056DA838> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:426) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113) - locked <056DA838> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x00034D00 nid=0xe20 in Object.wait() [7e000..7fc40] at java.lang.Object.wait(Native Method) - waiting on <07441FB8> (a org.eclipse.core.internal.utils.Semaphore) at java.lang.Object.wait(Object.java:426) at org.eclipse.core.internal.utils.Semaphore.acquire(Semaphore.java:24) - locked <07441FB8> (a org.eclipse.core.internal.utils.Semaphore) at org.eclipse.core.resources.WorkspaceLock.acquire(WorkspaceLock.java:49) at org.eclipse.ui.internal.UIWorkspaceLock.acquire(UIWorkspaceLock.java:46) at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:79) at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1558) at org.eclipse.core.internal.resources.Marker.delete(Marker.java:61) at org.eclipse.jdt.internal.core.JavaProject.flushClasspathProblemMarkers(JavaProject.java:947) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1503) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1468) at org.eclipse.jdt.internal.core.JavaProject.generateInfos(JavaProject.java:974) at org.eclipse.jdt.internal.core.Openable.buildStructure(Openable.java:72) at org.eclipse.jdt.internal.core.Openable.openWhenClosed(Openable.java:399) at org.eclipse.jdt.internal.core.JavaProject.openWhenClosed(JavaProject.java:1864) at org.eclipse.jdt.internal.core.JavaElement.openHierarchy(JavaElement.java:490) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:312) - locked <05AD5748> (a org.eclipse.jdt.internal.core.JavaModelManager) at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:254) at org.eclipse.jdt.internal.core.Openable.hasChildren(Openable.java:275) at org.eclipse.jdt.ui.StandardJavaElementContentProvider.hasChildren(StandardJavaElementContentProvider.java:241 ) at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:1049) at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:1461) at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:1412) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:960) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:940) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:911) at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:886) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:801) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:884) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$3.run(PackageExplorerContentProvider.j ava:571) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$7.run(PackageExplorerContentProvider.j ava:611) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:98) - locked <07442290> (a org.eclipse.swt.widgets.RunnableLock) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1910) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1644) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:136) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:261) at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:758) at org.eclipse.pde.internal.ui.wizards.imports.PluginImportWizard.performFinish(PluginImportWizard.java:145) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:608) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:321) at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:423) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:848) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1933) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1640) at org.eclipse.jface.window.Window.runEventLoop(Window.java:583) at org.eclipse.jface.window.Window.open(Window.java:563) at org.eclipse.ui.actions.ImportResourcesAction.run(ImportResourcesAction.java:96) at org.eclipse.jface.action.Action.runWithEvent(Action.java:842) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:526) at org.eclipse.jface.action.ActionContributionItem.access$4(ActionContributionItem.java:480) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:848) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1933) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1640) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1402) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) 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:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:291) at org.eclipse.core.launcher.Main.run(Main.java:747) at org.eclipse.core.launcher.Main.main(Main.java:583) "VM Thread" prio=5 tid=0x009E5290 nid=0x8c4 runnable "VM Periodic Task Thread" prio=10 tid=0x009E6E98 nid=0x104 waiting on condition "Suspend Checker Thread" prio=10 tid=0x009E7948 nid=0xd90 runnable
In theory, the JavaModel lock shouldn't be accessible from 3rd party code. Need to investigate.
Opening an IJavaProject forces markers to be created/deleted inside the JavaModelManager lock. This causes the deadlock.
Indeed, just got it again... Full thread dump Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode): "Snapshot" prio=5 tid=0x14C2CB58 nid=0x450 in Object.wait() [154af000..154afd8c] at java.lang.Object.wait(Native Method) - waiting on <061E9B18> (a org.eclipse.core.internal.resources.DelayedSnapshotRunnable) at org.eclipse.core.internal.resources.DelayedSnapshotRunnable.run (DelayedSnapshotRunnable.java:38) - locked <061E9B18> (a org.eclipse.core.internal.resources.DelayedSnapshotRunnable) at java.lang.Thread.run(Thread.java:536) "ModalContext" prio=5 tid=0x138112F0 nid=0x678 waiting for monitor entry [1546f000..1546fd8c] at org.eclipse.jdt.internal.core.Openable.isOpen(Openable.java:323) - waiting to lock <03E527D8> (a org.eclipse.jdt.internal.core.JavaModelManager) at org.eclipse.jdt.internal.core.SetClasspathOperation.generateClasspathChangeDelta s(SetClasspathOperation.java:282) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateClasspath (SetClasspathOperation.java:584) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:243) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:365) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:704) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1595) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:543) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2164) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2180) at org.eclipse.pde.internal.core.ClasspathUtilCore.setClasspath (ClasspathUtilCore.java:68) at org.eclipse.pde.internal.ui.wizards.imports.UpdateClasspathAction.setProjectBuil dpath(UpdateClasspathAction.java:196) at org.eclipse.pde.internal.ui.wizards.imports.UpdateClasspathAction.doUpdateClassp ath(UpdateClasspathAction.java:176) at org.eclipse.pde.internal.ui.wizards.imports.PluginImportWizard$3.run (PluginImportWizard.java:217) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1595) at org.eclipse.pde.internal.ui.wizards.imports.PluginImportWizard$2.run (PluginImportWizard.java:192) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run (ModalContext.java:101) "Decoration" daemon prio=2 tid=0x13856E40 nid=0x684 in Object.wait() [1446f000..1446fd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at org.eclipse.ui.internal.decorators.DecorationScheduler.next (DecorationScheduler.java:214) - locked <03F1E920> (a org.eclipse.ui.internal.decorators.DecorationScheduler) at org.eclipse.ui.internal.decorators.DecorationScheduler$2.run (DecorationScheduler.java:240) at java.lang.Thread.run(Thread.java:536) "Java indexing" daemon prio=4 tid=0x13648CA8 nid=0x64c in Object.wait() [1429f000..1429fd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:350) - locked <03E522C8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Thread.java:536) "Signal Dispatcher" daemon prio=10 tid=0x00904250 nid=0x668 waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x008F8218 nid=0x530 in Object.wait() [133cf000..133cfd8c] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <03950138> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x0023D3B0 nid=0x2e8 in Object.wait() [1338f000..1338fd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113) - locked <039501A0> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x00234D28 nid=0x658 in Object.wait() [6e000..6fc40] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at org.eclipse.core.internal.utils.Semaphore.acquire(Semaphore.java:24) - locked <061E9E68> (a org.eclipse.core.internal.utils.Semaphore) at org.eclipse.core.resources.WorkspaceLock.acquire (WorkspaceLock.java:49) at org.eclipse.ui.internal.UIWorkspaceLock.acquire (UIWorkspaceLock.java:46) at org.eclipse.core.internal.resources.WorkManager.checkIn (WorkManager.java:79) at org.eclipse.core.internal.resources.Workspace.prepareOperation (Workspace.java:1558) at org.eclipse.core.internal.resources.Marker.delete(Marker.java:61) at org.eclipse.jdt.internal.core.JavaProject.flushClasspathProblemMarkers (JavaProject.java:947) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1503) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1468) at org.eclipse.jdt.internal.core.JavaProject.generateInfos (JavaProject.java:974) at org.eclipse.jdt.internal.core.Openable.buildStructure (Openable.java:72) at org.eclipse.jdt.internal.core.Openable.openWhenClosed (Openable.java:399) at org.eclipse.jdt.internal.core.JavaProject.openWhenClosed (JavaProject.java:1864) at org.eclipse.jdt.internal.core.JavaElement.openHierarchy (JavaElement.java:490) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:312) - locked <03E527D8> (a org.eclipse.jdt.internal.core.JavaModelManager) at org.eclipse.jdt.internal.core.JavaElement.getChildren (JavaElement.java:254) at org.eclipse.jdt.internal.core.Openable.hasChildren(Openable.java:275) at org.eclipse.jdt.ui.StandardJavaElementContentProvider.hasChildren (StandardJavaElementContentProvider.java:241) at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable (AbstractTreeViewer.java:1049) at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus (AbstractTreeViewer.java:1461) at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren (AbstractTreeViewer.java:1401) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct (AbstractTreeViewer.java:960) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:940) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:911) at org.eclipse.jface.viewers.StructuredViewer$8.run (StructuredViewer.java:886) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection (StructuredViewer.java:801) at org.eclipse.jface.viewers.StructuredViewer.refresh (StructuredViewer.java:884) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$3.run (PackageExplorerContentProvider.java:571) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$7.run (PackageExplorerContentProvider.java:611) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:98) - locked <061EA1F0> (a org.eclipse.swt.widgets.RunnableLock) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2007) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1741) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block (ModalContext.java:136) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:261) at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:758) at org.eclipse.pde.internal.ui.wizards.imports.PluginImportWizard.performFinish (PluginImportWizard.java:145) at org.eclipse.jface.wizard.WizardDialog.finishPressed (WizardDialog.java:608) at org.eclipse.jface.wizard.WizardDialog.buttonPressed (WizardDialog.java:321) at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:423) at org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:848) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2030) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1737) at org.eclipse.jface.window.Window.runEventLoop(Window.java:583) at org.eclipse.jface.window.Window.open(Window.java:563) at org.eclipse.ui.actions.ImportResourcesAction.run (ImportResourcesAction.java:96) at org.eclipse.jface.action.Action.runWithEvent(Action.java:842) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:526) at org.eclipse.jface.action.ActionContributionItem.access$4 (ActionContributionItem.java:480) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent (ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:848) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2030) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1737) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1402) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) 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:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:291) at org.eclipse.core.launcher.Main.run(Main.java:747) at org.eclipse.core.launcher.Main.main(Main.java:583) "VM Thread" prio=5 tid=0x008DD980 nid=0x610 runnable "VM Periodic Task Thread" prio=10 tid=0x008F8E10 nid=0x6b0 waiting on condition "Suspend Checker Thread" prio=10 tid=0x008FDAB0 nid=0x374 runnable
*** Bug 38398 has been marked as a duplicate of this bug. ***
Project opening shouldn't cause marker creation. The workspace lock is likely acquired elsewhere already.
*** Bug 38509 has been marked as a duplicate of this bug. ***
*** Bug 38164 has been marked as a duplicate of this bug. ***
*** Bug 37240 has been marked as a duplicate of this bug. ***
Here is the stack trace we get Stack Traces of Threads: ThreadName=main(00035184) Status=Waiting Monitor=0184F8D0 (Object monitor for org/eclipse/core/internal/utils/Semaphore @ 04DED6DC) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait()V In org/eclipse/core/internal/utils/Semaphore.acquire()V In org/eclipse/core/resources/WorkspaceLock.acquire()Z In org/eclipse/ui/internal/UIWorkspaceLock.acquire()Z In org/eclipse/core/internal/resources/WorkManager.checkIn()V In org/eclipse/core/internal/resources/Workspace.prepareOperation()V In org/eclipse/core/internal/resources/Resource.createMarker (Ljava/lang/ String;)Lorg/eclipse/core/resources/IMarker; In org/eclipse/jdt/internal/core/JavaProject.createClasspathProblemMarke r(Lorg/eclipse/jdt/core/IJavaModelStatus;)Lorg/eclipse/core/resources/IMarker; In org/eclipse/jdt/internal/core/JavaProject.getResolvedClasspath(ZZ) [Lo rg/eclipse/jdt/core/IClasspathEntry; In org/eclipse/jdt/internal/core/JavaProject.generateInfos (Lorg/eclipse/ jdt/internal/core/OpenableElementInfo;Lorg/eclipse/core/runtime/IProgressMonito r ;Ljava/util/Map;Lorg/eclipse/core/resources/IResource;)Z In org/eclipse/jdt/internal/core/Openable.buildStructure (Lorg/eclipse/jd t/internal/core/OpenableElementInfo;Lorg/eclipse/core/runtime/IProgressMonitor; ) V In org/eclipse/jdt/internal/core/Openable.openWhenClosed (Lorg/eclipse/co re/runtime/IProgressMonitor;) Lorg/eclipse/jdt/internal/core/OpenableElementInfo; In org/eclipse/jdt/internal/core/JavaProject.openWhenClosed (Lorg/eclipse /core/runtime/IProgressMonitor;) Lorg/eclipse/jdt/internal/core/OpenableElementIn fo; In org/eclipse/jdt/internal/core/JavaElement.openHierarchy()V In org/eclipse/jdt/internal/core/JavaElement.getElementInfo() Ljava/lang/ Object; In org/eclipse/jdt/internal/core/JavaElement.getChildren() [Lorg/eclipse/ jdt/core/IJavaElement; In org/eclipse/jdt/internal/core/Openable.hasChildren()Z In org/eclipse/jdt/ui/StandardJavaElementContentProvider.hasChildren (Lja va/lang/Object;)Z In org/eclipse/jface/viewers/AbstractTreeViewer.isExpandable (Ljava/lang/ Object;)Z In org/eclipse/jface/viewers/AbstractTreeViewer.updatePlus (Lorg/eclipse/ swt/widgets/Item;Ljava/lang/Object;)V In org/eclipse/jface/viewers/AbstractTreeViewer.createTreeItem (Lorg/ecli pse/swt/widgets/Widget;Ljava/lang/Object;I)V In org/eclipse/jface/viewers/AbstractTreeViewer.updateChildren (Lorg/ecli pse/swt/widgets/Widget;Ljava/lang/Object;[Ljava/lang/Object;Z)V In org/eclipse/jface/viewers/AbstractTreeViewer.internalRefreshStruct (Lo rg/eclipse/swt/widgets/Widget;Ljava/lang/Object;Z)V In org/eclipse/jface/viewers/AbstractTreeViewer.internalRefresh (Lorg/ecl ipse/swt/widgets/Widget;Ljava/lang/Object;ZZ)V In org/eclipse/jface/viewers/AbstractTreeViewer.internalRefresh (Ljava/la ng/Object;Z)V In org/eclipse/jface/viewers/StructuredViewer$8.run()V In org/eclipse/jface/viewers/StructuredViewer.preservingSelection (Ljava/ lang/Runnable;)V In org/eclipse/jface/viewers/StructuredViewer.refresh (Ljava/lang/Object; Z)V In org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvide r$3.run()V In org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvide r$7.run()V In org/eclipse/swt/widgets/RunnableLock.run()V In org/eclipse/swt/widgets/Synchronizer.runAsyncMessages()Z In org/eclipse/swt/widgets/Display.runAsyncMessages()Z In org/eclipse/swt/widgets/Display.readAndDispatch()Z In org/eclipse/jface/operation/ModalContext$ModalContextThread.block()V In org/eclipse/jface/operation/ModalContext.run (Lorg/eclipse/jface/opera tion/IRunnableWithProgress;ZLorg/eclipse/core/runtime/IProgressMonitor;Lorg/ecl i pse/swt/widgets/Display;)V In org/eclipse/jface/wizard/WizardDialog.run (ZZLorg/eclipse/jface/operat ion/IRunnableWithProgress;)V In org/eclipse/pde/internal/ui/wizards/imports/PluginImportWizard.perfor mFinish()Z In org/eclipse/jface/wizard/WizardDialog.finishPressed()V In org/eclipse/jface/wizard/WizardDialog.buttonPressed(I)V In org/eclipse/jface/dialogs/Dialog$1.widgetSelected (Lorg/eclipse/swt/ev ents/SelectionEvent;)V In org/eclipse/swt/widgets/TypedListener.handleEvent (Lorg/eclipse/swt/wi dgets/Event;)V In org/eclipse/swt/widgets/EventTable.sendEvent (Lorg/eclipse/swt/widgets /Event;)V In org/eclipse/swt/widgets/Widget.sendEvent (Lorg/eclipse/swt/widgets/Eve nt;)V In org/eclipse/swt/widgets/Display.runDeferredEvents()Z In org/eclipse/swt/widgets/Display.readAndDispatch()Z In org/eclipse/jface/window/Window.runEventLoop (Lorg/eclipse/swt/widgets /Shell;)V In org/eclipse/jface/window/Window.open()I In org/eclipse/ui/actions/ImportResourcesAction.run()V In org/eclipse/jface/action/Action.runWithEvent (Lorg/eclipse/swt/widgets /Event;)V In org/eclipse/jface/action/ActionContributionItem.handleWidgetSelection (Lorg/eclipse/swt/widgets/Event;Z)V In org/eclipse/jface/action/ActionContributionItem.access$4 (Lorg/eclipse /jface/action/ActionContributionItem;Lorg/eclipse/swt/widgets/Event;Z)V In org/eclipse/jface/action/ActionContributionItem$6.handleEvent (Lorg/ec lipse/swt/widgets/Event;)V In org/eclipse/swt/widgets/EventTable.sendEvent (Lorg/eclipse/swt/widgets /Event;)V In org/eclipse/swt/widgets/Widget.sendEvent (Lorg/eclipse/swt/widgets/Eve nt;)V In org/eclipse/swt/widgets/Display.runDeferredEvents()Z In org/eclipse/swt/widgets/Display.readAndDispatch()Z In org/eclipse/ui/internal/Workbench.runEventLoop (Lorg/eclipse/jface/win dow/Window$IExceptionHandler;)V In org/eclipse/ui/internal/Workbench.run(Ljava/lang/Object;) Ljava/lang/O bject; In org/eclipse/core/internal/boot/InternalBootLoader.run (Ljava/lang/Stri ng;Ljava/net/URL;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;) Ljava /lang/Object; In org/eclipse/core/boot/BootLoader.run (Ljava/lang/String;Ljava/net/URL; Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object; In java/lang/reflect/AccessibleObject.invokeL(Ljava/lang/Object; [Ljava/l ang/Object;)Ljava/lang/Object; In java/lang/reflect/Method.invoke(Ljava/lang/Object; [Ljava/lang/Object; )Ljava/lang/Object; In org/eclipse/core/launcher/Main.basicRun([Ljava/lang/String;) Ljava/lan g/Object; In org/eclipse/core/launcher/Main.run([Ljava/lang/String;) Ljava/lang/Obj ect; In org/eclipse/core/launcher/Main.main([Ljava/lang/String;)V ThreadName=Gc Thread(000352C4) Status=Waiting Monitor=00034790 (System monitor) Count=0 Owner=(00000000) ThreadName=Finalizer thread(00035314) Status=Waiting Monitor=00034DC0 (System monitor) Count=0 Owner=(00000000) ThreadName=Java indexing(00035364) Status=Waiting Monitor=0184F630 (Object monitor for org/eclipse/jdt/internal/core/search/indexi ng/IndexManager @ 00C042BC) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait()V In org/eclipse/jdt/internal/core/search/processing/JobManager.run()V In java/lang/Thread.run()V ThreadName=ModalContext(000353B4) Status=Blocked on flat lock Monitor=0184F9F0 (Object monitor for org/eclipse/jdt/internal/core/JavaModelMana ger @ 00C05720) Count=1 Owner=main(0009AE00) In org/eclipse/jdt/internal/core/JavaElement.getElementInfo() Ljava/lang/ Object; In org/eclipse/jdt/internal/core/JavaElement.getChildren() [Lorg/eclipse/ jdt/core/IJavaElement; In org/eclipse/jdt/internal/core/JavaElement.getChildrenOfType(I) Ljava/u til/ArrayList; In org/eclipse/jdt/internal/core/JavaModel.getJavaProjects() [Lorg/eclips e/jdt/core/IJavaProject; In org/eclipse/jdt/internal/launching/LaunchingPlugin$VMChanges.rebind () V In org/eclipse/jdt/internal/launching/LaunchingPlugin$VMChanges.access$0 (Lorg/eclipse/jdt/internal/launching/LaunchingPlugin$VMChanges;)V In org/eclipse/jdt/internal/launching/LaunchingPlugin$1.run (Lorg/eclipse /core/runtime/IProgressMonitor;)V In org/eclipse/core/internal/resources/Workspace.run (Lorg/eclipse/core/r esources/IWorkspaceRunnable;Lorg/eclipse/core/runtime/IProgressMonitor;)V In org/eclipse/jdt/internal/launching/LaunchingPlugin$VMChanges.process ( )V In org/eclipse/jdt/internal/launching/LaunchingPlugin.processVMPrefsChan ged(Ljava/lang/String;Ljava/lang/String;)V In org/eclipse/jdt/internal/launching/LaunchingPlugin.propertyChange (Lor g/eclipse/core/runtime/Preferences$PropertyChangeEvent;)V In org/eclipse/core/runtime/Preferences.firePropertyChangeEvent (Ljava/la ng/String;Ljava/lang/Object;Ljava/lang/Object;)V In org/eclipse/core/runtime/Preferences.setValue (Ljava/lang/String;Ljava /lang/String;)V In org/eclipse/jdt/launching/JavaRuntime.saveVMDefinitions (Ljava/lang/St ring;)V In org/eclipse/jdt/launching/JavaRuntime.detectAndSaveVMDefinitions()V In org/eclipse/jdt/launching/JavaRuntime.initializeVMConfiguration()V In org/eclipse/jdt/launching/JavaRuntime.initializeVMTypes()V In org/eclipse/jdt/launching/JavaRuntime.getDefaultVMId() Ljava/lang/Stri ng; In org/eclipse/jdt/launching/JavaRuntime.getDefaultVMInstall() Lorg/eclip se/jdt/launching/IVMInstall; In org/eclipse/jdt/internal/launching/JREContainerInitializer.resolveVM ( Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/launching/IVMInstall; In org/eclipse/jdt/internal/launching/JREContainerInitializer.initialize (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)V In org/eclipse/jdt/core/JavaCore$1.run()V In org/eclipse/core/internal/runtime/InternalPlatform.run (Lorg/eclipse/c ore/runtime/ISafeRunnable;)V In org/eclipse/core/runtime/Platform.run (Lorg/eclipse/core/runtime/ISafe Runnable;)V In org/eclipse/jdt/core/JavaCore.getClasspathContainer (Lorg/eclipse/core /runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;) Lorg/eclipse/jdt/core/IClassp athContainer; In org/eclipse/jdt/internal/core/JavaProject.getResolvedClasspath ([Lorg/ eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZZLjava/util/M a p;)[Lorg/eclipse/jdt/core/IClasspathEntry; In org/eclipse/jdt/core/JavaConventions.validateClasspath (Lorg/eclipse/j dt/core/IJavaProject; [Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/ru ntime/IPath;)Lorg/eclipse/jdt/core/IJavaModelStatus; In org/eclipse/pde/internal/core/ClasspathUtilCore.setClasspath (Lorg/ecl ipse/pde/core/plugin/IPluginModelBase;ZLorg/eclipse/pde/internal/core/IMissingP l uginConfirmation;Lorg/eclipse/core/runtime/IProgressMonitor;)V In org/eclipse/pde/internal/ui/wizards/imports/UpdateClasspathAction.set ProjectBuildpath (Lorg/eclipse/pde/core/plugin/IPluginModelBase;ZLorg/eclipse/pde /internal/core/IMissingPluginConfirmation;Lorg/eclipse/core/runtime/IProgressMo n itor;)V In org/eclipse/pde/internal/ui/wizards/imports/UpdateClasspathAction.doU pdateClasspath(Lorg/eclipse/core/runtime/IProgressMonitor; [Lorg/eclipse/pde/core /plugin/IPluginModelBase;)V In org/eclipse/pde/internal/ui/wizards/imports/PluginImportWizard$3.run ( Lorg/eclipse/core/runtime/IProgressMonitor;)V In org/eclipse/core/internal/resources/Workspace.run (Lorg/eclipse/core/r esources/IWorkspaceRunnable;Lorg/eclipse/core/runtime/IProgressMonitor;)V In org/eclipse/pde/internal/ui/wizards/imports/PluginImportWizard$2.run ( Lorg/eclipse/core/runtime/IProgressMonitor;)V In org/eclipse/jface/operation/ModalContext$ModalContextThread.run()V ThreadName=Decoration(00035404) Status=Waiting Monitor=0184F840 (Object monitor for org/eclipse/ui/internal/decorators/Decorati onScheduler @ 00B7CF24) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait()V In org/eclipse/ui/internal/decorators/DecorationScheduler.next() Lorg/ecl ipse/ui/internal/decorators/DecorationReference; In org/eclipse/ui/internal/decorators/DecorationScheduler$2.run()V In java/lang/Thread.run()V
Removed marker generation from project opening.
This will turn off marker creation on startup for reporting unbound external JAR references (need manual refresh in package view). Fixed
Verified.