Bug 16141 - hang loading plugin (during validation)
Summary: hang loading plugin (during validation)
Status: CLOSED INVALID
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Resources (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows NT
: P2 critical (vote)
Target Milestone: ---   Edit
Assignee: Platform-Resources-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-05-16 09:42 EDT by Barry Searle CLA
Modified: 2006-11-06 11:24 EST (History)
1 user (show)

See Also:


Attachments
javacore dump from hang (25.17 KB, text/plain)
2002-05-17 08:19 EDT, Barry Searle CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Barry Searle CLA 2002-05-16 09:42:52 EDT
hang loading plugin during validation

I was doing a 'RunAnt' on a build.xml that usually works, hung
partway through (validation of server project).

1) ctrl-break stack/trhead dump attached (mostly)
2) coredump also created (email searle@ca.ibm.com to get it)

1) crtl-break stack/thread dump:
Full thread dump Classic VM (J2RE 1.3.0 IBM build cn130-20010925was, native 
threads):
    "ModalContext" (TID:0x2737c20, sys_thread_t:0x26ff1340, state:CW, native 
ID:0xad4) prio=5
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code))
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled 
Code))
        at java.net.URLClassLoader.defineClass(URLClassLoader.java(Compiled 
Code))
        at java.net.URLClassLoader.access$300(URLClassLoader.java(Compiled 
Code))
        at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java(Compiled 
Code))
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code))
        at 
org.eclipse.core.internal.plugins.PluginClassLoader.findClassParentsSelf(PluginC
lassLoader.java(Compiled Code
))
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass(DelegatingURLC
lassLoader.java(Compiled Code
))
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass(DelegatingURLC
lassLoader.java(Compiled Code
))
        at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
        at 
org.eclipse.core.internal.plugins.PluginDescriptor.internalDoPluginActivation(Pl
uginDescriptor.java:619)
        at 
org.eclipse.core.internal.plugins.PluginDescriptor.doPluginActivation(PluginDesc
riptor.java:208)
        at 
org.eclipse.core.internal.plugins.PluginClassLoader.activatePlugin(PluginClassLo
ader.java:52)
        at 
org.eclipse.core.internal.plugins.PluginClassLoader.findClassParentsSelf(PluginC
lassLoader.java(Compiled Code
))
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass(DelegatingURLC
lassLoader.java(Compiled Code
))
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass(DelegatingURLC
lassLoader.java(Compiled Code
))
        at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
        at 
org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension(Plu
ginDescriptor.java:152)
        at 
org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension(Plu
ginDescriptor.java:189)
        at 
org.eclipse.core.internal.plugins.ConfigurationElement.createExecutableExtension
(ConfigurationElement.java:97
)
        at 
com.ibm.etools.validate.registry.ValidationRegistryReader.initializeValidator(Va
lidationRegistryReader.java:4
14)
        at 
com.ibm.etools.validate.registry.ValidationRegistryReader.readExtension(Validati
onRegistryReader.java:482)
        at 
com.ibm.etools.validate.registry.ValidationRegistryReader.readRegistry(Validatio
nRegistryReader.java:508)
        at 
com.ibm.etools.validate.registry.ValidationRegistryReader.<init>(ValidationRegis
tryReader.java:84)
        at 
com.ibm.etools.validate.registry.ValidationRegistryReader.getReader(ValidationRe
gistryReader.java:329)
        at 
com.ibm.etools.validate.ValidatorManager.getReader(ValidatorManager.java:385)
        at 
com.ibm.etools.validate.ValidatorManager.loadValidatorMetaData(ValidatorManager.
java:702)
        at 
com.ibm.etools.validate.ValidatorManager.getConfiguredValidatorMetaData(Validato
rManager.java:262)
        at 
com.ibm.etools.validate.ValidatorManager.getConfiguredIncrementalValidators(Vali
datorManager.java:238)
        at 
com.ibm.etools.validate.ValidatorManager.getConfiguredIncrementalValidators(Vali
datorManager.java:228)
        at 
com.ibm.etools.validate.ValidatorManager.isAutoValidateEnabled(ValidatorManager.
java:592)
        at 
com.ibm.etools.validate.ValidatorManager.isAutoValidateEnabled(ValidatorManager.
java:567)
        at 
com.ibm.etools.validate.ValidatorManager.isAutoValidateChecked(ValidatorManager.
java:544)
        at com.ibm.etools.validate.ValidationBuilder.build(Unknown Source)
        at 
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:66)
        at 
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:808
)
        at org.eclipse.core.runtime.Platform.run(Platform.java:393)
        at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:87)
        at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:176)
        at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:476)
        at 
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:128)
        at 
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:808
)
        at org.eclipse.core.runtime.Platform.run(Platform.java:393)
        at 
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:142)
        at 
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:512)
        at 
org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:663)
        at 
org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:905)
        at com.ibm.etools.j2ee.extras.BuildApplicationUtilJar.execute(Unknown 
Source)
        at org.apache.tools.ant.Task.perform(Task.java:217)
        at org.apache.tools.ant.Target.execute(Target.java:184)
        at org.apache.tools.ant.Target.performTasks(Target.java:202)
        at org.apache.tools.ant.Project.executeTarget(Project.java:601)
        at org.apache.tools.ant.Project.executeTargets(Project.java:560)
        at org.eclipse.ant.core.AntRunner.runBuild(AntRunner.java:636)
        at org.eclipse.ant.core.AntRunner.run(AntRunner.java:555)
        at org.eclipse.ant.core.AntRunner.run(AntRunner.java:577)
        at 
org.eclipse.ant.internal.ui.AntLaunchWizard$1.run(AntLaunchWizard.java:277)
        at 
org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.jav
a:98)

    "Thread-25" (TID:0x30239e0, sys_thread_t:0x25de46e8, state:CW, native 
ID:0xa20) prio=5
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code))
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled 
Code))
        at java.net.URLClassLoader.defineClass(URLClassLoader.java(Compiled 
Code))
        at java.net.URLClassLoader.access$300(URLClassLoader.java(Compiled 
Code))
        at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java(Compiled 
Code))
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code))
        at 
org.eclipse.core.internal.plugins.PluginClassLoader.findClassParentsSelf(PluginC
lassLoader.java(Compiled Code
))
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass(DelegatingURLC
lassLoader.java(Compiled Code
))
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass(DelegatingURLC
lassLoader.java(Compiled Code
))
        at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
        at com.ibm.etools.dtd.util.DTDUtil.populateDTD(DTDUtil.java:345)
        at com.ibm.etools.dtd.util.DTDUtil.populateDTD(DTDUtil.java:270)
        at com.ibm.etools.dtd.util.DTDUtil.parse(DTDUtil.java:123)
        at 
com.ibm.etools.contentmodel.mofimpl.DTDImpl.buildDTDModel(DTDImpl.java:32)
        at 
com.ibm.etools.contentmodel.mofimpl.DTDImpl.buildCMDocument(DTDImpl.java:22)
        at 
com.ibm.etools.contentmodel.mofimpl.CMDocumentBuilderImpl.buildCMDocument(CMDocu
mentBuilderImpl.java:62)
        at 
com.ibm.etools.contentmodel.util.CMDocumentBuilderRegistry.buildCMDocument(CMDoc
umentBuilderRegistry.java:75)

        at 
com.ibm.etools.contentmodel.util.CMDocumentBuilderRegistry.buildCMDocument(CMDoc
umentBuilderRegistry.java:61)

        at 
com.ibm.etools.contentmodel.modelqueryimpl.CMDocumentManagerImpl.buildCMDocument
(CMDocumentManagerImpl.java:1
09)
        at 
com.ibm.etools.contentmodel.modelqueryimpl.CMDocumentManagerImpl$Request.run(CMD
ocumentManagerImpl.java:136)
        at java.lang.Thread.run(Thread.java:498)

    "Thread-24" (TID:0x3023a28, sys_thread_t:0x25de4418, state:CW, native 
ID:0xa24) prio=5
        at 
com.ibm.etools.dtd.meta.impl.MetaDTDFileImpl.initInstance(MetaDTDFileImpl.java:5
4)
        at 
com.ibm.etools.emf.ref.impl.InstantiatorDescriptorImpl.getMetaData(InstantiatorD
escriptorImpl.java(Compiled C
ode))
        at 
com.ibm.etools.dtd.gen.impl.DTDPackageGenImpl.metaDTDFile(DTDPackageGenImpl.java
:128)
        at 
com.ibm.etools.dtd.gen.impl.DTDPackageGenImpl.getEMetaObjects(DTDPackageGenImpl.
java:234)
        at 
com.ibm.etools.emf.ecore.gen.impl.EPackageGenImpl.refValue(EPackageGenImpl.java:
136)
        at 
com.ibm.etools.emf.ref.impl.RefObjectImpl.refSetValueForContainMVReference(RefOb
jectImpl.java:497)
        at 
com.ibm.etools.emf.ecore.gen.impl.EMetaObjectGenImpl.setEPackage(EMetaObjectGenI
mpl.java:85)
        at 
com.ibm.etools.emf.ecore.gen.impl.EDataTypeGenImpl.setEPackage(EDataTypeGenImpl.
java:162)
        at 
com.ibm.etools.dtd.meta.impl.MetaDTDBasicTypeKindImpl.initInstance(MetaDTDBasicT
ypeKindImpl.java:58)
        at 
com.ibm.etools.emf.ref.impl.InstantiatorDescriptorImpl.getMetaData(InstantiatorD
escriptorImpl.java(Compiled C
ode))
        at 
com.ibm.etools.dtd.gen.impl.DTDPackageGenImpl.metaDTDBasicTypeKind(DTDPackageGen
Impl.java:188)
        at 
com.ibm.etools.dtd.impl.DTDPackageImpl.initilaizeStatics(DTDPackageImpl.java:35)
        at com.ibm.etools.dtd.impl.DTDPackageImpl.<init>(DTDPackageImpl.java:30)
        at com.ibm.etools.dtd.impl.DTDPackageImpl.<init>(DTDPackageImpl.java:23)
        at java.lang.Class.newInstance0(Native Method)
        at java.lang.Class.newInstance(Class.java(Compiled Code))
        at 
org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension(Plu
ginDescriptor.java:160)
        at 
org.eclipse.core.internal.plugins.PluginDescriptor.createExecutableExtension(Plu
ginDescriptor.java:189)
        at 
org.eclipse.core.internal.plugins.ConfigurationElement.createExecutableExtension
(ConfigurationElement.java:97
)
        at 
com.ibm.etools.emf.plugin.RegistryReader$PluginClassDescriptor.createInstance(Re
gistryReader.java:118)
        at 
com.ibm.etools.emf.ref.RefRegister.createPackageFromPreRegister(RefRegister.java
:64)
        at 
com.ibm.etools.emf.ref.RefRegister.getPackage(RefRegister.java(Compiled Code))
        at 
com.ibm.etools.dtd.gen.impl.DTDFactoryGenImpl.getPackage(DTDFactoryGenImpl.java:
200)
        at 
com.ibm.etools.dtd.impl.DTDFactoryImpl.instance(DTDFactoryImpl.java:21)
        at com.ibm.etools.dtd.util.DTDUtil.parse(DTDUtil.java:114)
        at 
com.ibm.etools.contentmodel.mofimpl.DTDImpl.buildDTDModel(DTDImpl.java:32)
        at 
com.ibm.etools.contentmodel.mofimpl.DTDImpl.buildCMDocument(DTDImpl.java:22)
        at 
com.ibm.etools.contentmodel.mofimpl.CMDocumentBuilderImpl.buildCMDocument(CMDocu
mentBuilderImpl.java:62)
        at 
com.ibm.etools.contentmodel.util.CMDocumentBuilderRegistry.buildCMDocument(CMDoc
umentBuilderRegistry.java:75)

        at 
com.ibm.etools.contentmodel.util.CMDocumentBuilderRegistry.buildCMDocument(CMDoc
umentBuilderRegistry.java:61)

        at 
com.ibm.etools.contentmodel.modelqueryimpl.CMDocumentManagerImpl.buildCMDocument
(CMDocumentManagerImpl.java:1
09)
        at 
com.ibm.etools.contentmodel.modelqueryimpl.CMDocumentManagerImpl$Request.run(CMD
ocumentManagerImpl.java:136)
        at java.lang.Thread.run(Thread.java:498)

    "Thread-23" (TID:0x3023a70, sys_thread_t:0x25de9778, state:CW, native 
ID:0xad0) prio=5
        at com.ibm.etools.dtd.util.DTDUtil.populateDTD(DTDUtil.java:345)
        at com.ibm.etools.dtd.util.DTDUtil.populateDTD(DTDUtil.java:270)
        at com.ibm.etools.dtd.util.DTDUtil.parse(DTDUtil.java:123)
        at 
com.ibm.etools.contentmodel.mofimpl.DTDImpl.buildDTDModel(DTDImpl.java:32)
        at 
com.ibm.etools.contentmodel.mofimpl.DTDImpl.buildCMDocument(DTDImpl.java:22)
        at 
com.ibm.etools.contentmodel.mofimpl.CMDocumentBuilderImpl.buildCMDocument(CMDocu
mentBuilderImpl.java:62)
        at 
com.ibm.etools.contentmodel.util.CMDocumentBuilderRegistry.buildCMDocument(CMDoc
umentBuilderRegistry.java:75)

        at 
com.ibm.etools.contentmodel.util.CMDocumentBuilderRegistry.buildCMDocument(CMDoc
umentBuilderRegistry.java:61)

        at 
com.ibm.etools.contentmodel.modelqueryimpl.CMDocumentManagerImpl.buildCMDocument
(CMDocumentManagerImpl.java:1
09)
        at 
com.ibm.etools.contentmodel.modelqueryimpl.CMDocumentManagerImpl$Request.run(CMD
ocumentManagerImpl.java:136)
        at java.lang.Thread.run(Thread.java:498)

    "org.eclipse.jdt.internal.ui.text.JavaReconciler" (TID:0x2f0b5b0, 
sys_thread_t:0x25bac148, state:CW, native ID:0xac8
) prio=1
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jdt.internal.ui.text.JavaReconciler$BackgroundThread.run(JavaReconci
ler.java:108)

    "Java indexing: org.eclipse.jdt.internal.core.search.indexing.IndexManager" 
(TID:0x10ef228, sys_thread_t:0x23c6d328,
 state:CW, native ID:0x964) prio=5
        at java.lang.Thread.sleep(Native Method)
        at 
org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:2
27)
        at java.lang.Thread.run(Thread.java:498)

    "Finalizer" (TID:0x8e8708, sys_thread_t:0x8291e0, state:CW, native ID:0xa84) 
prio=8
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java(Compiled 
Code))
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java(Compiled 
Code))
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java(Compiled 
Code))

    "Reference Handler" (TID:0x8e8750, sys_thread_t:0x8252a0, state:CW, native 
ID:0x5b8) prio=10
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:421)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java(Compiled 
Code))

    "Signal dispatcher" (TID:0x8e8798, sys_thread_t:0x7ee940, state:R, native 
ID:0xa60) prio=5

    "main" (TID:0x8e87e0, sys_thread_t:0x235ea0, state:R, native ID:0x89c) 
prio=5
        at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)
        at org.eclipse.swt.widgets.Display.sleep(Display.java:1475)
        at 
org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.j
ava(Compiled Code))
        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:258)
        at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:715)
        at 
org.eclipse.ant.internal.ui.AntLaunchWizard.performFinish(AntLaunchWizard.java:2
90)
        at 
org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:572)
        at 
org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:313)
        at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:211)
        at 
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:83)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java(Compiled 
Code))
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:634)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1282)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1092)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:536)
        at org.eclipse.jface.window.Window.open(Window.java:523)
        at 
org.eclipse.ant.internal.ui.RunAntActionDelegate.run(RunAntActionDelegate.java:7
9)
        at org.eclipse.ui.internal.PluginAction.run(PluginAction.java:125)
Comment 1 Barry Searle CLA 2002-05-17 08:19:26 EDT
Created attachment 863 [details]
javacore dump from hang
Comment 2 John Arthorne CLA 2002-05-20 10:57:15 EDT
What a mess!

There seem to be four "active" threads, two are classloading, and two are doing 
other things.  It is not clear that this is "our fault".  Classloading always 
happens in a critical region, so it will always have some lock acquired during 
this process.  I don't know what has caused the other two threads to be blocked. 
 Why are there so many threads trying to work at once?  The deadlock could be 
caused by that DTD tooling code, since three of the threads are running code in 
"com.ibm.etools.dtd.".  I suggest that someone who is familiar with that 
(WSAD?) code  should take a look at those stack traces and figure out what is 
happening.
Comment 3 DJ Houghton CLA 2002-09-27 09:55:09 EDT
This is being investigated by WSAD.
Please re-open if you determine this is a Platform problem.
Comment 4 Barry Searle CLA 2006-11-06 11:24:26 EST
old bug.  closing.