Startup hangs with concurrent calls to LocalManagedConnectionFactory.getDriver
Issue
- JBoss start up fails to complete. Thread dumps show the following two threads stalled in LocalManagedConnectionFactory.getDriver calls:
"main" prio=10 tid=0x00002aaab0f27800 nid=0x7b28 in Object.wait() [0x0000000042b46000]
java.lang.Thread.State: RUNNABLE
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.misc.Service$LazyIterator.next(Service.java:271)
at java.sql.DriverService.run(DriverManager.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:506)
at java.sql.DriverManager.initialize(DriverManager.java:612)
at java.sql.DriverManager.getDriver(DriverManager.java:228)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.isDriverLoadedForURL(LocalManagedConnectionFactory.java:502)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getDriver(LocalManagedConnectionFactory.java:466)
- locked <0x00000000b0d16b78> (a org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:206)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:195)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:639)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:273)
at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:689)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:404)
at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:424)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:91)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:112)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2118)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2114)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1338)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
...
Thread 138 (Thread 0x42b4a940 (LWP 31528)):
#0 0x0000003aa9a0af59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1 0x00002b3de19c877e in os::PlatformEvent::park() () from /usr/java/jdk1.6.0_24/jre/lib/amd64/server/libjvm.so
#2 0x00002b3de1a9f63a in ObjectMonitor::wait(long, bool, Thread*) () from /usr/java/jdk1.6.0_24/jre/lib/amd64/server/libjvm.so
#3 0x00002b3de1a9c8f0 in ObjectSynchronizer::waitUninterruptibly(Handle, long, Thread*) () from /usr/java/jdk1.6.0_24/jre/lib/amd64/server/libjvm.so
#4 0x00002b3de177253b in instanceKlass::initialize_impl(instanceKlassHandle, Thread*) () from /usr/java/jdk1.6.0_24/jre/lib/amd64/server/libjvm.so
#5 0x00002b3de1771b5a in instanceKlass::initialize(Thread*) () from /usr/java/jdk1.6.0_24/jre/lib/amd64/server/libjvm.so
#6 0x00002b3de1772a5c in instanceKlass::initialize_impl(instanceKlassHandle, Thread*) () from /usr/java/jdk1.6.0_24/jre/lib/amd64/server/libjvm.so
#7 0x00002b3de1771b5a in instanceKlass::initialize(Thread*) () from /usr/java/jdk1.6.0_24/jre/lib/amd64/server/libjvm.so
#8 0x00002b3de182d079 in find_class_from_class_loader(JNIEnv_*, symbolHandle, unsigned char, Handle, Handle, unsigned char, Thread*) () from /usr/java/jdk1.6.0_24/jre/lib/amd64/server/libjvm.so
#9 0x00002b3de1811326 in JVM_FindClassFromClassLoader () from /usr/java/jdk1.6.0_24/jre/lib/amd64/server/libjvm.so
#10 0x00002aaaaabde2d4 in Java_java_lang_Class_forName0 () from /usr/java/jdk1.6.0_24/jre/lib/amd64/libjava.so
#11 0x00002aaaab655453 in ?? ()
#12 0x00000000e7a4af80 in ?? ()
#13 0x0000000094e1eef0 in ?? ()
#14 0x00000000f24ed808 in ?? ()
#15 0x0000000042b46088 in ?? ()
#16 0x0000000042b460e0 in ?? ()
#17 0x00002aaaab250929 in ?? ()
#18 0x0000000090021608 in ?? ()
#19 0x0000000000000041 in ?? ()
#20 0x0000000042b460d0 in ?? ()
#21 0x00002aaaab250929 in ?? ()
#22 0x00002aaaab250929 in ?? ()
#23 0x00000000f24ed808 in ?? ()
#24 0x0000000000000001 in ?? ()
#25 0x00000000e7a4af80 in ?? ()
#26 0x0000000042b46090 in ?? ()
#27 0x0000000090019a18 in ?? ()
#28 0x0000000042b46100 in ?? ()
#29 0x00000000900ba520 in ?? ()
#30 0x000000009322a028 in ?? ()
#31 0x0000000090019a30 in ?? ()
#32 0x0000000042b46078 in ?? ()
#33 0x0000000042b460f0 in ?? ()
#34 0x0000000042b46148 in ?? ()
#35 0x00002aaaab250929 in ?? ()
#36 0x0000000000000000 in ?? ()
"ContainerBackgroundProcessor[StandardEngine[jboss.web]]" daemon prio=10 tid=0x00002aaab5d2b000 nid=0x7c95 in Object.wait() [0x000000004a0bd000]
java.lang.Thread.State: RUNNABLE
at oracle.jdbc.driver.OracleDriver.<clinit>(OracleDriver.java:187)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getDriver(LocalManagedConnectionFactory.java:474)
- locked <0x00000000b0cdf5d8> (a org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:206)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:195)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:639)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:273)
at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:689)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:404)
at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:424)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
at org.jboss.web.tomcat.service.session.persistent.DataSourcePersistentStore.getConnection(DataSourcePersistentStore.java:92)
at org.jboss.web.tomcat.service.session.persistent.RDBMSStoreBase.safeGetConnection(RDBMSStoreBase.java:1756)
at org.jboss.web.tomcat.service.session.persistent.RDBMSStoreBase.processExpires(RDBMSStoreBase.java:1270)
at org.jboss.web.tomcat.service.session.persistent.AbstractPersistentManager.processExpirationPassivation(AbstractPersistentManager.java:554)
at org.jboss.web.tomcat.service.session.JBossManager.backgroundProcess(JBossManager.java:429)
- locked <0x00000000f26833f8> (a java.util.concurrent.atomic.AtomicBoolean)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1327)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1612)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1601)
at java.lang.Thread.run(Thread.java:662)
Environment
- JBoss Enterprise Application Platform (EAP)
- 5.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.