deadlock on opening the project thanks to weaving
I had a closed scala project (scala compiler trunk). Opened it and then wanted to expand the project.
Yourkit nicely informed that I encountered a deadlock.
Yourkit nicely informed that I encountered a deadlock.
Stacks at 12:21:18 PM (uptime 1:48)
Java indexing [BLOCKED] CPU time: 0:00
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(String, ClassLoadingStatsHook[])
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(String)
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(String)
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(String)
org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(String)
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(String, boolean, ClassLoader)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(String, boolean)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(String)
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(String, boolean)
java.lang.ClassLoader.loadClass(String)
org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName(String)
org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument_aroundBody0(JavaSearchParticipant, SearchDocument, IPath)
org.eclipse.jdt.internal.core.search.JavaSearchParticipant$AjcClosure1.run(Object[])
scala.tools.eclipse.contribution.weaving.jdt.indexerprovider.IndexerProviderAspect.ajc$around$scala_tools_eclipse_contribution_weaving_jdt_indexerprovider_IndexerProviderAspect$1$16276a3cproceed(SearchDocument, IPath, AroundClosure)
scala.tools.eclipse.contribution.weaving.jdt.indexerprovider.IndexerProviderAspect.ajc$around$scala_tools_eclipse_contribution_weaving_jdt_indexerprovider_IndexerProviderAspect$1$16276a3c(SearchDocument, IPath, AroundClosure)
org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(SearchDocument, IPath)
org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(SearchDocument, SearchParticipant, Index, IPath)
org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex.execute(IProgressMonitor)
org.eclipse.jdt.internal.core.search.processing.JobManager.run()
java.lang.Thread.run()
main [BLOCKED] CPU time: 0:10
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(String, ClassLoadingStatsHook[])
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(String)
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(String)
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(String)
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(String, boolean, ClassLoader)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(String, boolean)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(String)
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(String, boolean)
java.lang.ClassLoader.loadClass(String)
org.eclipse.osgi.internal.loader.BundleLoader.loadClass(String)
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(String, boolean)
org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(String)
org.eclipse.equinox.weaving.hooks.WeavingLoaderDelegateHook.postFindClass(String, BundleClassLoader, BundleData)
org.eclipse.osgi.internal.loader.BundleLoader.searchHooks(String, int)
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(String, boolean, ClassLoader)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(String, boolean)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(String)
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(String, boolean)
java.lang.ClassLoader.loadClass(String)
org.eclipse.jdt.internal.core.util.Util.isValidCompilationUnitName(String, String, String)
org.eclipse.jdt.internal.core.PackageFragment.buildStructure(OpenableElementInfo, IProgressMonitor, Map, IResource)
org.eclipse.jdt.internal.core.Openable.generateInfos(Object, HashMap, IProgressMonitor)
org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(Object, IProgressMonitor)
org.eclipse.jdt.internal.core.JavaElement.getElementInfo(IProgressMonitor)
org.eclipse.jdt.internal.core.JavaElement.getElementInfo()
org.eclipse.jdt.internal.core.JavaElement.getChildren()
org.eclipse.jdt.internal.core.PackageFragment.hasChildren()
org.eclipse.jdt.internal.ui.filters.EmptyInnerPackageFilter.select(Viewer, Object, Object)
org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.isFiltered(Object, Object, ViewerFilter[])
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.isFiltered(Object, Object, ViewerFilter[])
org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.containsNonFiltered(Object[], Object)
org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.hasFilteredChildren(Object)
org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.isExpandable(Object)
org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Item, TreePath, Object)
org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(Item, Object)
org.eclipse.jface.viewers.TreeViewer.updatePlus(Item, Object)
org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(Widget, Object, int)
org.eclipse.jface.viewers.AbstractTreeViewer$1.run()
org.eclipse.swt.custom.BusyIndicator.showWhile(Display, Runnable)
org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(Widget, boolean)
org.eclipse.jface.viewers.TreeViewer.createChildren(Widget, boolean)
org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(Widget)
org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(TreeEvent)
org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeEvent)
org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(TreeEvent)
org.eclipse.swt.widgets.TypedListener.handleEvent(Event)
org.eclipse.swt.widgets.EventTable.sendEvent(Event)
org.eclipse.swt.widgets.Widget.sendEvent(Event)
org.eclipse.swt.widgets.Widget.sendEvent(int, Event, boolean)
org.eclipse.swt.widgets.Widget.sendEvent(int, Event)
org.eclipse.swt.widgets.Tree.gtk_test_expand_row(int, int, int)
org.eclipse.swt.widgets.Widget.windowProc(int, int, int, int)
org.eclipse.swt.widgets.Display.windowProc(int, int, int, int)
org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(int)
org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(int)
org.eclipse.swt.widgets.Display.eventProc(int, int)
org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(int, boolean)
org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(int, boolean)
org.eclipse.swt.widgets.Display.readAndDispatch()
org.eclipse.ui.internal.Workbench.runEventLoop(Window$IExceptionHandler, Display)
org.eclipse.ui.internal.Workbench.runUI()
org.eclipse.ui.internal.Workbench.access$4(Workbench)
org.eclipse.ui.internal.Workbench$7.run()
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm, Runnable)
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor)
org.eclipse.ui.PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor)
org.eclipse.ui.internal.ide.application.IDEApplication.start(IApplicationContext)
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Object)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Object)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Object)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(Object)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(String[], Runnable)
sun.reflect.NativeMethodAccessorImpl.invoke0(Method, Object, Object[])
sun.reflect.NativeMethodAccessorImpl.invoke(Object, Object[])
sun.reflect.DelegatingMethodAccessorImpl.invoke(Object, Object[])
java.lang.reflect.Method.invoke(Object, Object[])
org.eclipse.equinox.launcher.Main.invokeFramework(String[], URL[])
org.eclipse.equinox.launcher.Main.basicRun(String[])
org.eclipse.equinox.launcher.Main.run(String[])
<other threads removed for brevity>
...
Leave a comment
<p>This seems to be a known bug in the JDT weaving framework.</p>
<p><a href="https://issuetracker.springsource.com/browse/STS-1445">https://issuetracker.springsource.com/browse/STS-1445</a></p>
<p><a href="https://issuetracker.springsource.com/browse/STS-1445">https://issuetracker.springsource.com/browse/STS-1445</a></p>
on 2011-03-04 17:24 *
By Hubert Plociniczak
<p>Given that analysis, I would lower it's priority. </p>
on 2011-03-25 09:11 *
By Iulian Dragos
Version set to 1.0.0-SNAPSHOT
Eclipse version set to Helios
Branch set to wip_experiment (2.9)
on 2011-03-30 13:11 *
By Iulian Dragos
Description changed from I had a closed scala projec... to I had a closed scala projec...
This is a know problem with JDT weaving.
Information about this is available in the user doc http://scala-ide.org/docs/user/faq.html#eclipse-freezes-deadlock.
Information about this is available in the user doc http://scala-ide.org/docs/user/faq.html#eclipse-freezes-deadlock.