Bug 301640 - Classloader LockUp
Summary: Classloader LockUp
Status: CLOSED DUPLICATE of bug 212262
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Framework (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: equinox.framework-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-02 19:53 EST by Hasan Ceylan CLA
Modified: 2010-02-03 11:38 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hasan Ceylan CLA 2010-02-02 19:53:15 EST
Build Identifier: 3.6M5

I was debugging eclipse with a large workspacen on the debugger and debugged ones and come accross with a classloader lockup case:



Reproducible: Didn't try
Comment 1 Hasan Ceylan CLA 2010-02-02 19:54:15 EST
Thread Dump (Main):

Thread [main] (Suspended)	
	waiting for: org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader  (id=972)	
		owned by: Thread [Worker-5] (Suspended)	
			waiting for: org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader  (id=976)	
	org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(java.lang.String, org.eclipse.osgi.baseadaptor.hooks.ClassLoadingStatsHook[]) line: 468	
	org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(java.lang.String) line: 449	
	org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(java.lang.String) line: 210	
	org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(java.lang.String) line: 393	
	org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(java.lang.String) line: 33	
	org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(java.lang.String, boolean, java.lang.ClassLoader) line: 466	
	org.eclipse.osgi.internal.loader.BundleLoader.findClass(java.lang.String, boolean) line: 422	
	org.eclipse.osgi.internal.loader.BundleLoader.findClass(java.lang.String) line: 410	
	org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(java.lang.String, boolean) line: 104	
	org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader(java.lang.ClassLoader).loadClass(java.lang.String) line: 248	
	org.eclipse.emf.builder.internal.EMFDependencyTracker.registerEcoreResource(org.eclipse.core.resources.IResource) line: 221	
	org.eclipse.emf.builder.internal.EMFDependencyTracker.ensureRegistered(org.eclipse.core.resources.IResource) line: 193	
	org.eclipse.emf.builder.internal.EMFDependencyTracker$Visitor.visit(org.eclipse.core.resources.IResource) line: 56	
	org.eclipse.core.internal.resources.Resource$2.visit(org.eclipse.core.resources.IResourceProxy) line: 112	
	org.eclipse.core.internal.resources.Resource$1.visitElement(org.eclipse.core.internal.watson.ElementTree, org.eclipse.core.internal.watson.IPathRequestor, java.lang.Object) line: 64	
	org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(org.eclipse.core.internal.dtree.DataTreeNode, org.eclipse.core.internal.watson.IElementContentVisitor) line: 82	
	org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(org.eclipse.core.internal.dtree.DataTreeNode, org.eclipse.core.internal.watson.IElementContentVisitor) line: 86	
	org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(org.eclipse.core.internal.dtree.DataTreeNode, org.eclipse.core.internal.watson.IElementContentVisitor) line: 86	
	org.eclipse.core.internal.watson.ElementTreeIterator.iterate(org.eclipse.core.internal.watson.IElementContentVisitor) line: 127	
	org.eclipse.core.internal.resources.Project(org.eclipse.core.internal.resources.Resource).accept(org.eclipse.core.resources.IResourceProxyVisitor, int) line: 74	
	org.eclipse.core.internal.resources.Project(org.eclipse.core.internal.resources.Resource).accept(org.eclipse.core.resources.IResourceVisitor, int, int) line: 110	
	org.eclipse.core.internal.resources.Project(org.eclipse.core.internal.resources.Resource).accept(org.eclipse.core.resources.IResourceVisitor) line: 94	
	org.eclipse.emf.builder.internal.EMFDependencyTracker.doRegisterProject(org.eclipse.core.resources.IProject) line: 280	
	org.eclipse.emf.builder.internal.EMFDependencyTracker.ensureProjectRegistered(org.eclipse.core.resources.IProject) line: 179	
	org.eclipse.emf.builder.internal.EMFDependencyTracker.ensureRegistered(org.eclipse.core.resources.IProject) line: 103	
	org.eclipse.emf.builder.internal.ToggleNatureAction.toggleNature(org.eclipse.core.resources.IProject) line: 103	
	org.eclipse.emf.builder.internal.ToggleNatureAction.run(org.eclipse.jface.action.IAction) line: 36	
	org.eclipse.ui.internal.ObjectPluginAction(org.eclipse.ui.internal.PluginAction).runWithEvent(org.eclipse.swt.widgets.Event) line: 251	
	org.eclipse.ui.internal.PluginActionContributionItem(org.eclipse.jface.action.ActionContributionItem).handleWidgetSelection(org.eclipse.swt.widgets.Event, boolean) line: 584	
	org.eclipse.jface.action.ActionContributionItem.access$2(org.eclipse.jface.action.ActionContributionItem, org.eclipse.swt.widgets.Event, boolean) line: 501	
	org.eclipse.jface.action.ActionContributionItem$5.handleEvent(org.eclipse.swt.widgets.Event) line: 411	
	org.eclipse.swt.widgets.EventTable.sendEvent(org.eclipse.swt.widgets.Event) line: 84	
	org.eclipse.swt.widgets.MenuItem(org.eclipse.swt.widgets.Widget).sendEvent(org.eclipse.swt.widgets.Event) line: 1223	
	org.eclipse.swt.widgets.Display.runDeferredEvents() line: 3526	
	org.eclipse.swt.widgets.Display.readAndDispatch() line: 3145	
	org.eclipse.ui.internal.Workbench.runEventLoop(org.eclipse.jface.window.Window$IExceptionHandler, org.eclipse.swt.widgets.Display) line: 2407	
	org.eclipse.ui.internal.Workbench.runUI() line: 2371	
	org.eclipse.ui.internal.Workbench.access$4(org.eclipse.ui.internal.Workbench) line: 2220	
	org.eclipse.ui.internal.Workbench$5.run() line: 500	
	org.eclipse.core.databinding.observable.Realm.runWithDefault(org.eclipse.core.databinding.observable.Realm, java.lang.Runnable) line: 332	
	org.eclipse.ui.internal.Workbench.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 493	
	org.eclipse.ui.PlatformUI.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 149	
	org.eclipse.ui.internal.ide.application.IDEApplication.start(org.eclipse.equinox.app.IApplicationContext) line: 115	
	org.eclipse.equinox.internal.app.EclipseAppHandle.run(java.lang.Object) line: 194	
	org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(java.lang.Object) line: 110	
	org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(java.lang.Object) line: 79	
	org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.Object) line: 367	
	org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.String[], java.lang.Runnable) line: 179	
	sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method]	
	sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39	
	sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25	
	java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 597	
	org.eclipse.equinox.launcher.Main.invokeFramework(java.lang.String[], java.net.URL[]) line: 611	
	org.eclipse.equinox.launcher.Main.basicRun(java.lang.String[]) line: 566	
	org.eclipse.equinox.launcher.Main.run(java.lang.String[]) line: 1363	
	org.eclipse.equinox.launcher.Main.main(java.lang.String[]) line: 1339
Comment 2 Hasan Ceylan CLA 2010-02-02 19:55:09 EST
Thread [Worker-5] (Suspended)	
	owns: org.eclipse.emf.builder.internal.EMFBuilder$1  (id=1187)	
	owns: org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader  (id=972)	
	waiting for: org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader  (id=976)	
	org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(java.lang.String, org.eclipse.osgi.baseadaptor.hooks.ClassLoadingStatsHook[]) line: 468	
	org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(java.lang.String) line: 449	
	org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(java.lang.String) line: 210	
	org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(java.lang.String) line: 393	
	org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(java.lang.String, boolean, java.lang.ClassLoader) line: 469	
	org.eclipse.osgi.internal.loader.BundleLoader.findClass(java.lang.String, boolean) line: 422	
	org.eclipse.osgi.internal.loader.BundleLoader.findClass(java.lang.String) line: 410	
	org.eclipse.osgi.internal.loader.buddy.DependentPolicy.loadClass(java.lang.String) line: 54	
	org.eclipse.osgi.internal.loader.buddy.PolicyHandler.doBuddyClassLoading(java.lang.String) line: 135	
	org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(java.lang.String, boolean, java.lang.ClassLoader) line: 494	
	org.eclipse.osgi.internal.loader.BundleLoader.findClass(java.lang.String, boolean) line: 422	
	org.eclipse.osgi.internal.loader.BundleLoader.findClass(java.lang.String) line: 410	
	org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(java.lang.String, boolean) line: 104	
	org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader(java.lang.ClassLoader).loadClass(java.lang.String) line: 248	
	java.lang.Class<T>.forName0(java.lang.String, boolean, java.lang.ClassLoader) line: not available [native method]	
	java.lang.Class<T>.forName(java.lang.String, boolean, java.lang.ClassLoader) line: 247	
	org.eclipse.emf.ecore.impl.EDataTypeImpl(org.eclipse.emf.ecore.impl.EClassifierImpl).getClassForName(java.lang.String) line: 430	
	org.eclipse.emf.ecore.impl.EDataTypeImpl(org.eclipse.emf.ecore.impl.EClassifierImpl).getInstanceClass() line: 410	
	org.eclipse.emf.ecore.impl.EDataTypeImpl.getDefaultValue() line: 87	
	org.eclipse.emf.ecore.impl.EDataTypeImpl.eIsSet(int) line: 295	
	org.eclipse.emf.ecore.impl.EDataTypeImpl(org.eclipse.emf.ecore.impl.BasicEObjectImpl).eIsSet(org.eclipse.emf.ecore.EStructuralFeature) line: 1247	
	org.eclipse.emf.ecore.util.EcoreValidator(org.eclipse.emf.ecore.util.EObjectValidator).validate_DataValueConforms(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EAttribute, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 803	
	org.eclipse.emf.ecore.util.EcoreValidator(org.eclipse.emf.ecore.util.EObjectValidator).validate_EveryDataValueConforms(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 791	
	org.eclipse.emf.ecore.util.EcoreValidator.validateEDataType(org.eclipse.emf.ecore.EDataType, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 1561	
	org.eclipse.emf.ecore.util.EcoreValidator.validate(int, java.lang.Object, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 410	
	org.eclipse.emf.ecore.util.EcoreValidator(org.eclipse.emf.ecore.util.EObjectValidator).validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 302	
	org.eclipse.emf.builder.internal.ValidationOperation$1(org.eclipse.emf.ecore.util.Diagnostician).validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 165	
	org.eclipse.emf.builder.internal.ValidationOperation$1.validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 40	
	org.eclipse.emf.builder.internal.ValidationOperation$1(org.eclipse.emf.ecore.util.Diagnostician).validate(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 143	
	org.eclipse.emf.builder.internal.ValidationOperation$1(org.eclipse.emf.ecore.util.Diagnostician).doValidateContents(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 184	
	org.eclipse.emf.builder.internal.ValidationOperation$1(org.eclipse.emf.ecore.util.Diagnostician).validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 168	
	org.eclipse.emf.builder.internal.ValidationOperation$1.validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 40	
	org.eclipse.emf.builder.internal.ValidationOperation$1(org.eclipse.emf.ecore.util.Diagnostician).validate(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 143	
	org.eclipse.emf.builder.internal.EMFBuilder$1(org.eclipse.emf.builder.internal.ValidationOperation).validate(org.eclipse.core.runtime.IProgressMonitor) line: 60	
	org.eclipse.emf.builder.internal.EMFBuilder$1(org.eclipse.emf.builder.internal.ValidationOperation).execute(org.eclipse.core.runtime.IProgressMonitor) line: 77	
	org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(org.eclipse.core.runtime.IProgressMonitor) line: 106	
	org.eclipse.core.internal.resources.Workspace.run(org.eclipse.core.resources.IWorkspaceRunnable, org.eclipse.core.runtime.jobs.ISchedulingRule, int, org.eclipse.core.runtime.IProgressMonitor) line: 1982	
	org.eclipse.emf.builder.internal.EMFBuilder$1(org.eclipse.ui.actions.WorkspaceModifyOperation).run(org.eclipse.core.runtime.IProgressMonitor) line: 118	
	org.eclipse.emf.builder.internal.EMFBuilder.performValidation(org.eclipse.core.resources.IResource, org.eclipse.core.runtime.IProgressMonitor) line: 192	
	org.eclipse.emf.builder.internal.EMFBuilder.buildResources(java.util.List<org.eclipse.core.resources.IResource>, org.eclipse.core.runtime.IProgressMonitor) line: 209	
	org.eclipse.emf.builder.internal.EMFBuilder.build(int, java.util.Map, org.eclipse.core.runtime.IProgressMonitor) line: 140	
	org.eclipse.core.internal.events.BuildManager$2.run() line: 627	
	org.eclipse.core.runtime.SafeRunner.run(org.eclipse.core.runtime.ISafeRunnable) line: 42	
	org.eclipse.core.internal.events.BuildManager.basicBuild(int, org.eclipse.core.resources.IncrementalProjectBuilder, java.util.Map, org.eclipse.core.runtime.MultiStatus, org.eclipse.core.runtime.IProgressMonitor) line: 170	
	org.eclipse.core.internal.events.BuildManager.basicBuild(org.eclipse.core.resources.IProject, int, org.eclipse.core.resources.ICommand[], org.eclipse.core.runtime.MultiStatus, org.eclipse.core.runtime.IProgressMonitor) line: 201	
	org.eclipse.core.internal.events.BuildManager$1.run() line: 253	
	org.eclipse.core.runtime.SafeRunner.run(org.eclipse.core.runtime.ISafeRunnable) line: 42	
	org.eclipse.core.internal.events.BuildManager.basicBuild(org.eclipse.core.resources.IProject, int, org.eclipse.core.runtime.MultiStatus, org.eclipse.core.runtime.IProgressMonitor) line: 256	
	org.eclipse.core.internal.events.BuildManager.basicBuildLoop(org.eclipse.core.resources.IProject[], org.eclipse.core.resources.IProject[], int, org.eclipse.core.runtime.MultiStatus, org.eclipse.core.runtime.IProgressMonitor) line: 309	
	org.eclipse.core.internal.events.BuildManager.build(int, org.eclipse.core.runtime.IProgressMonitor) line: 341	
	org.eclipse.core.internal.events.AutoBuildJob.doBuild(org.eclipse.core.runtime.IProgressMonitor) line: 140	
	org.eclipse.core.internal.events.AutoBuildJob.run(org.eclipse.core.runtime.IProgressMonitor) line: 238	
	org.eclipse.core.internal.jobs.Worker.run() line: 55
Comment 3 Thomas Watson CLA 2010-02-03 11:38:25 EST
Looks like another case of bug 212262.

*** This bug has been marked as a duplicate of bug 212262 ***