I think it is related to the following two threads. Worker-0 holds workspace lock (see Workspace.endOperation line 1022) and tries to join Worker-10. And Worker-10 is waiting for workspace lock (Workspace.prepareOperation line 1747). The deadlock seems to be a WTP bug, but I do not know whether it was triggered by m2e or not.




"Worker-0" prio=6 tid=0x0308a800 nid=0xfc8 in Object.wait()
[0x03f8f000..0x03f8fc14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x12d997b0> (a org.eclipse.core.internal.jobs.Semaphore)
        at org.eclipse.core.internal.jobs.Semaphore.acquire(Semaphore.java:38)
        - locked <0x12d997b0> (a org.eclipse.core.internal.jobs.Semaphore)
        at org.eclipse.core.internal.jobs.JobManager.join(JobManager.java:716)
        at org.eclipse.core.internal.jobs.InternalJob.join(InternalJob.java:329)
        at org.eclipse.core.runtime.jobs.Job.join(Job.java:384)
at org.eclipse.wst.common.componentcore.internal.builder.DependencyGraphImpl.waitForAllUpdates(DependencyGraphImpl.java:431) at org.eclipse.wst.common.componentcore.internal.builder.DependencyGraphImpl.getReferencingComponents(DependencyGraphImpl.java:72) at org.eclipse.wst.common.componentcore.internal.builder.DependencyGraph.getReferencingComponents(DependencyGraph.java:30) at org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent.getReferencingComponents(VirtualComponent.java:432) at org.eclipse.jst.j2ee.project.EarUtilities.getReferencingEARProjects(EarUtilities.java:181) at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getManifestReferences(J2EEModuleVirtualComponent.java:289) at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getManifestReferences(J2EEModuleVirtualComponent.java:270) at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent.getReferences(J2EEModuleVirtualArchiveComponent.java:34) at org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyVirtualComponent.getReferences(ClasspathDependencyVirtualComponent.java:68) at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathContainer.update(J2EEComponentClasspathContainer.java:176) at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathContainer.install(J2EEComponentClasspathContainer.java:308) at org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathInitializer.initialize(J2EEComponentClasspathInitializer.java:29) at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2371) at org.eclipse.jdt.internal.core.JavaModelManager$13.run(JavaModelManager.java:2301) at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2315) at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1679)
        at 
org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2554)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2562) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1829) at org.eclipse.jdt.internal.core.DeltaProcessingState.initializeRoots(DeltaProcessingState.java:229) at org.eclipse.jdt.internal.core.DeltaProcessor.processResourceDelta(DeltaProcessor.java:1741) at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:1923) at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:410) at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:288)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:282) at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:148) at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:313) at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1022) at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1489) at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:141) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)




"Worker-10" prio=6 tid=0x02c5f000 nid=0x514 in Object.wait()
[0x0657f000..0x0657fd14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x12d98fd0> (a org.eclipse.core.internal.jobs.Semaphore)
        at org.eclipse.core.internal.jobs.Semaphore.acquire(Semaphore.java:38)
        - locked <0x12d98fd0> (a org.eclipse.core.internal.jobs.Semaphore)
at org.eclipse.core.internal.jobs.OrderedLock.doAcquire(OrderedLock.java:169)
        at 
org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:105)
        at 
org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:82)
at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118) at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1747)
        at 
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1795)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2317) at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1679)
        at 
org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2554)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2562) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1829) at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:394)
        at 
org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:257)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:514) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:251) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:237) at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:192) at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:1697) at org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities.getSourceContainers(J2EEProjectUtilities.java:855) at org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities.getOutputContainers(J2EEProjectUtilities.java:892) at org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities.getAllOutputContainers(J2EEProjectUtilities.java:928) at org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator$ClasspathDependencyValidatorData.<init>(ClasspathDependencyValidator.java:217) at org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil.getComponentClasspathDependencies(ClasspathDependencyUtil.java:161) at org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil.getComponentClasspathDependencies(ClasspathDependencyUtil.java:145) at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getJavaClasspathReferences(J2EEModuleVirtualComponent.java:183) at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getNonManifestReferences(J2EEModuleVirtualComponent.java:120) at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:87) at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:83) at org.eclipse.wst.common.componentcore.internal.builder.DependencyGraphImpl$GraphUpdateJob$1.run(DependencyGraphImpl.java:302)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.wst.common.componentcore.internal.builder.DependencyGraphImpl$GraphUpdateJob.run(DependencyGraphImpl.java:281)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)



Henri Gomez wrote:
Could it be a WTP deadlock or do you think its related to WTP/m2eclipse ?



2008/7/30 Henri Gomez <[EMAIL PROTECTED]>:
Henri,
Hi Igor

Do you have a reliable way to reproduce the deadlock which you can share
with me? I do not see anything obvious from these stack traces (m2e sits in
the IResource#deleteMarkers) and will need to reproduce this problem locally
in order to debug it.
No way.

I see this problem on both Eclipse 3.3.2 and 3.4 (and the related WTP).

My workspace is very important (about 200 projects), and now that I
mavenize them all, I see this problem more and more often and the only
solution is to rename my workspace and reimport all projects by hand
in the newly workspace.

Hope you help me


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to