JPP 6.0 hangs during startup
Issue
Sometimes JPP hangs during startup, we have reproduced the problem with HSQL (development environment) and Oracle database (staging environment).
Inspecting a thread dump taken during the hanging startup, we can see that the startup is blocked by the following thread:
"MSC service thread 1-2" prio=10 tid=0x00002ae5bc648800 nid=0x2b02 runnable [0x00002ae5b96d4000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at oracle.net.ns.Packet.receive(Packet.java:300)
at oracle.net.ns.DataPacket.receive(DataPacket.java:106)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:102)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3665)
- locked <0x00000000fc643480> (a oracle.jdbc.driver.T4CConnection)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1352)
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:493)
at org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCStorageConnection.executeUpdate(CQJDBCStorageConnection.java:1922)
at org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.MultiDbJDBCConnection.addNodeRecord(MultiDbJDBCConnection.java:257)
at org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection.add(JDBCStorageConnection.java:695)
at org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCStorageConnection.add(CQJDBCStorageConnection.java:730)
at org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.doAdd(WorkspacePersistentDataManager.java:1095)
at org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager$ChangesLogPersister.save(WorkspacePersistentDataManager.java:748)
at org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.save(WorkspacePersistentDataManager.java:419)
at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.doSave(CacheableWorkspaceDataManager.java:1102)
at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.access$800(CacheableWorkspaceDataManager.java:93)
at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1045)
at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1042)
at org.exoplatform.commons.utils.SecurityHelper.doPrivilegedExceptionAction(SecurityHelper.java:310)
at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1041)
at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1007)
at org.exoplatform.services.jcr.impl.dataflow.persistent.ShareableSupportedWorkspaceDataManager.save(ShareableSupportedWorkspaceDataManager.java:176)
at org.exoplatform.services.jcr.impl.dataflow.persistent.VersionableWorkspaceDataManager.save(VersionableWorkspaceDataManager.java:334)
at org.exoplatform.services.jcr.impl.dataflow.session.TransactionableDataManager.save(TransactionableDataManager.java:471)
at org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1549)
at org.exoplatform.services.jcr.impl.core.ItemImpl.save(ItemImpl.java:706)
at org.exoplatform.services.jcr.ext.distribution.impl.AbstractDataDistributionType.createNode(AbstractDataDistributionType.java:248)
at org.exoplatform.services.jcr.ext.distribution.impl.AbstractDataDistributionType.getOrCreateDataNode(AbstractDataDistributionType.java:129)
at org.exoplatform.services.jcr.ext.hierarchy.impl.NodeHierarchyCreatorImpl.createNode(NodeHierarchyCreatorImpl.java:164)
at org.exoplatform.services.jcr.ext.hierarchy.impl.NodeHierarchyCreatorImpl.processAddPathPlugin(NodeHierarchyCreatorImpl.java:206)
at org.exoplatform.services.jcr.ext.hierarchy.impl.NodeHierarchyCreatorImpl.start(NodeHierarchyCreatorImpl.java:118)
at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.exoplatform.container.LifecycleVisitor.traverse(LifecycleVisitor.java:100)
at org.exoplatform.container.LifecycleVisitor.start(LifecycleVisitor.java:170)
at org.exoplatform.container.ConcurrentPicoContainer.start(ConcurrentPicoContainer.java:554)
at org.exoplatform.container.ExoContainer.start(ExoContainer.java:269)
- locked <0x00000000f98c2fe8> (a org.exoplatform.container.PortalContainer)
at org.exoplatform.container.PortalContainer.start(PortalContainer.java:656)
at org.exoplatform.container.ExoContainer.start(ExoContainer.java:257)
- locked <0x00000000f98c2fe8> (a org.exoplatform.container.PortalContainer)
at org.exoplatform.container.RootContainer.createPortalContainer(RootContainer.java:674)
- locked <0x00000000f95d7e38> (a org.exoplatform.container.RootContainer)
at org.exoplatform.container.RootContainer.createPortalContainers(RootContainer.java:342)
- locked <0x00000000f95d7e38> (a org.exoplatform.container.RootContainer)
at org.gatein.integration.jboss.as7.web.StartupService.start(StartupService.java:50)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Locked ownable synchronizers:
- 0x00000000f2541e20> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
- 0x00000000fb8719b0> (a java.util.concurrent.ThreadPoolExecutor$Worker)
- 0x00000000fc6b8a38> (a java.util.concurrent.locks.ReentrantLock$FairSync)
Environment
- JBoss Enterprise Portal Platform (JPP)
- 6.0 GA
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
