You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Jarek Gawor (JIRA)" <ji...@apache.org> on 2011/06/17 17:24:47 UTC

[jira] [Commented] (GERONIMODEVTOOLS-760) Two GeronimoServerBehaviourDelegates created for one IServer

    [ https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13051133#comment-13051133 ] 

Jarek Gawor commented on GERONIMODEVTOOLS-760:
----------------------------------------------

Disabling lazy loading seems to help but it also creates other problems.


> Two GeronimoServerBehaviourDelegates created for one IServer
> ------------------------------------------------------------
>
>                 Key: GERONIMODEVTOOLS-760
>                 URL: https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-760
>             Project: Geronimo-Devtools
>          Issue Type: Bug
>          Components: eclipse-plugin
>    Affects Versions: 3.0
>            Reporter: Jarek Gawor
>            Assignee: Jarek Gawor
>
> Once in a while two GeronimoServerBehaviourDelegates are created for the same IServer and GeronimoServerBehaviourDelegates.initialize() is called twice. Here's a call stack from the two calls to .initialize():
> java.lang.Exception
> 	at org.apache.geronimo.st.v30.core.GeronimoServerBehaviourDelegate.initialize(GeronimoServerBehaviourDelegate.java:686)
> 	at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.initialize(ServerBehaviourDelegate.java:102)
> 	at org.eclipse.wst.server.core.model.InternalInitializer.initializeServerBehaviourDelegate(InternalInitializer.java:41)
> 	at org.eclipse.wst.server.core.internal.Server.getBehaviourDelegate(Server.java:510)
> 	at org.eclipse.wst.server.core.internal.Server.loadAdapter(Server.java:1493)
> 	at org.apache.geronimo.st.v30.core.Activator.getGeronimoServerBehaviourDelegate(Activator.java:154)
> 	at org.apache.geronimo.st.v30.core.Activator.triggerStartUpdateServerTask(Activator.java:169)
> 	at org.apache.geronimo.st.v30.core.Activator.start(Activator.java:117)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
> 	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
> 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
> 	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
> 	at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
> 	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
> 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
> 	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
> 	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
> 	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
> 	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
> 	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> 	at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
> 	at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
> 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
> 	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
> 	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
> 	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
> 	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
> 	at org.eclipse.wst.server.core.internal.ServerType.createServerBehaviourDelegate(ServerType.java:91)
> 	at org.eclipse.wst.server.core.internal.Server.getBehaviourDelegate(Server.java:508)
> 	at org.eclipse.wst.server.core.internal.Server.canPublish(Server.java:1095)
> 	at org.eclipse.wst.server.core.internal.Server.shouldPublish(Server.java:1109)
> 	at org.eclipse.wst.server.ui.internal.cnf.ServerDecorator.getServerStatusLabel(ServerDecorator.java:139)
> 	at org.eclipse.wst.server.ui.internal.cnf.ServerDecorator.decorate(ServerDecorator.java:73)
> 	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:269)
> 	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:81)
> 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> 	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:365)
> 	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:347)
> 	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:371)
> 	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:331)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
> java.lang.Exception
> 	at org.apache.geronimo.st.v30.core.GeronimoServerBehaviourDelegate.initialize(GeronimoServerBehaviourDelegate.java:686)
> 	at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.initialize(ServerBehaviourDelegate.java:102)
> 	at org.eclipse.wst.server.core.model.InternalInitializer.initializeServerBehaviourDelegate(InternalInitializer.java:41)
> 	at org.eclipse.wst.server.core.internal.Server.getBehaviourDelegate(Server.java:510)
> 	at org.eclipse.wst.server.core.internal.Server.canPublish(Server.java:1095)
> 	at org.eclipse.wst.server.core.internal.Server.shouldPublish(Server.java:1109)
> 	at org.eclipse.wst.server.ui.internal.cnf.ServerDecorator.getServerStatusLabel(ServerDecorator.java:139)
> 	at org.eclipse.wst.server.ui.internal.cnf.ServerDecorator.decorate(ServerDecorator.java:73)
> 	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:269)
> 	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:81)
> 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> 	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:365)
> 	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:347)
> 	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:371)
> 	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:331)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
> I believe the first call stack leads to ClassCircularityError since ConfigurationElementHandle attempts to load GeronimoServerBehaviourDelegate class which combined with lazy activated bundle forces the Activator to be called which attempts to load the GeronimoServerBehaviourDelegate class.
> Disabling lazy loading seems to help.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira