-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Medium
-
Affects Version/s: 3.1
-
Component/s: Core - OSGi Plugins Platform
When Confluence is starting, sometimes it hangs due to a deadlock in our OSGi framework Felix. In the logs, the last line is "Initialising the plugin system":
2009-09-09 10:58:49,567 INFO [main] [com.atlassian.confluence.lifecycle] contextInitialized Starting Confluence 3.1-SNAPSHOT (build #1704) 2009-09-09 10:58:50,211 INFO [main] [atlassian.plugin.manager.DefaultPluginManager] init Initialising the plugin system 2009-09-09 10:58:50,397 INFO [main] [atlassian.plugin.manager.DefaultPluginManager] init Plugin system started in 0:00:00.183 2009-09-09 10:58:51,434 INFO [main] [springframework.web.context.ContextLoader] initWebApplicationContext Root WebApplicationContext: initialization started [Deprecated] Xalan: org.apache.xalan.processor.TransformerFactoryImpl 2009-09-09 10:58:58,656 INFO [main] [com.atlassian.confluence.lifecycle] <init> Loading EhCache cache manager 2009-09-09 10:59:06,407 INFO [main] [springframework.web.context.ContextLoader] initWebApplicationContext Root WebApplicationContext: initialization completed in 14972 ms 2009-09-09 10:59:06,553 INFO [main] [atlassian.plugin.manager.DefaultPluginManager] init Initialising the plugin system
The relevant sections of a thread dump looks kind like this:
"SpringOsgiExtenderThread-1" prio=5 tid=0x0000000101c2d000 nid=0x1369e5000 waiting for monitor entry [0x00000001369e3000..0x00000001369e4a50] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.resolve(R4SearchPolicyCore.java:1023) - waiting to lock <0x0000000110c1b6b8> (a org.apache.felix.moduleloader.ModuleFactoryImpl) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource(R4SearchPolicyCore.java:377) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:185) at org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45) at org.apache.felix.moduleloader.ModuleImpl.getClass(ModuleImpl.java:179) at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1503) at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:358) at org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:99) at org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156) at java.lang.ClassLoader.loadClass(ClassLoader.java:254) ... at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396) ... at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$3.run(AbstractDelegatedExecutionApplicationContext.java:269) - locked <0x000000010ea4db00> (a java.lang.Object) at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:247) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:222) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:175) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:175) at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:718) at java.lang.Thread.run(Thread.java:637)
"main" prio=5 tid=0x0000000101801000 nid=0x101201000 runnable [0x00000001011fc000..0x0000000101200ba0] java.lang.Thread.State: RUNNABLE at java.util.HashMap.put(HashMap.java:376) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.calculateUsesConstraints(R4SearchPolicyCore.java:1857) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.calculateUsesConstraints(R4SearchPolicyCore.java:1843) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.calculateUsesConstraints(R4SearchPolicyCore.java:1843) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.calculateUsesConstraints(R4SearchPolicyCore.java:1795) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.isClassSpaceConsistent(R4SearchPolicyCore.java:1697) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.isClassSpaceConsistent(R4SearchPolicyCore.java:1685) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.isClassSpaceConsistent(R4SearchPolicyCore.java:1685) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findConsistentClassSpace(R4SearchPolicyCore.java:1476) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.resolve(R4SearchPolicyCore.java:1093) - locked <0x0000000110c1b6b8> (a org.apache.felix.moduleloader.ModuleFactoryImpl) at org.apache.felix.framework.Felix._resolveBundle(Felix.java:1719) at org.apache.felix.framework.Felix._startBundle(Felix.java:1588) at org.apache.felix.framework.Felix.startBundle(Felix.java:1541) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:371) at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:342) - locked <0x00000001121a5990> (a com.atlassian.plugin.osgi.factory.OsgiPlugin) at com.atlassian.plugin.impl.AbstractPlugin.enable(AbstractPlugin.java:212) at com.atlassian.plugin.impl.AbstractDelegatingPlugin.enable(AbstractDelegatingPlugin.java:213) at com.atlassian.plugin.manager.PluginEnabler.enable(PluginEnabler.java:65) at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:547) at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:156) at com.atlassian.confluence.plugin.ConfluencePluginManager.init(ConfluencePluginManager.java:164) ... at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
- is duplicated by
-
CONFSERVER-16886 Confluence hangs at plugin initialisation
-
- Closed
-