Bug 37274 - Deadlock on plugin import
Summary: Deadlock on plugin import
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0 M1   Edit
Assignee: Philipe Mulet CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 37240 38164 38398 38509 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-05-06 11:28 EDT by Martin Aeschlimann CLA
Modified: 2003-06-06 12:24 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Aeschlimann CLA 2003-05-06 11:28:36 EDT
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
Comment 1 Philipe Mulet CLA 2003-05-06 12:08:46 EDT
In theory, the JavaModel lock shouldn't be accessible from 3rd party code.
Need to investigate.
Comment 2 Jerome Lanneluc CLA 2003-05-23 07:46:44 EDT
Opening an IJavaProject forces markers to be created/deleted inside the 
JavaModelManager lock. This causes the deadlock.
Comment 3 Philipe Mulet CLA 2003-05-23 12:33:49 EDT
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
Comment 4 Philipe Mulet CLA 2003-06-04 06:33:20 EDT
*** Bug 38398 has been marked as a duplicate of this bug. ***
Comment 5 Philipe Mulet CLA 2003-06-04 06:34:05 EDT
Project opening shouldn't cause marker creation. The workspace lock is likely 
acquired elsewhere already.
Comment 6 Philipe Mulet CLA 2003-06-05 12:26:00 EDT
*** Bug 38509 has been marked as a duplicate of this bug. ***
Comment 7 Wassim Melhem CLA 2003-06-05 13:16:39 EDT
*** Bug 38164 has been marked as a duplicate of this bug. ***
Comment 8 Wassim Melhem CLA 2003-06-05 13:17:13 EDT
*** Bug 37240 has been marked as a duplicate of this bug. ***
Comment 9 Tod Creasey CLA 2003-06-05 13:34:30 EDT
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
Comment 10 Philipe Mulet CLA 2003-06-05 16:07:38 EDT
Removed marker generation from project opening.
Comment 11 Philipe Mulet CLA 2003-06-05 16:08:45 EDT
This will turn off marker creation on startup for reporting unbound external 
JAR references (need manual refresh in package view).

Fixed
Comment 12 David Audel CLA 2003-06-06 12:24:02 EDT
Verified.