Java thread stack overflow caused by Oracle JDBC driver
Issue
- JBoss without this data source starts up normally, however when it is added to the deploy directory JBoss fails to start, with this error in the console output:
11:52:05,720 INFO [ConnectionProviderFactory] Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider ./run.sh: line 210: 18206 Segmentation fault "$JAVA" $JAVA_OPTS -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" -classpath "$JBOSS_CLASSPATH" org.jboss.Main "$@"
- The following error in the Linux /var/log/messages file:
kernel: java[17601]: segfault at 00000000498a2ca8 rip 00002aac2144459d rsp 00000000498a2c90 error 6 java.lang.StackOverflowError-
After one node in the cluster crashes, the other nodes crash in quick succession.
- JVM crash after switching to Oracle thin jdbc driver
# SIGSEGV (0xb) at pc=0x063966c3, pid=11885, tid=638315408 # Problematic frame: # V [libjvm.so+0x3966c3] # Current thread (0x0a013c00): JavaThread "main" [_thread_in_vm, id=11897, stack(0x2606e000,0x260bf000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000000 Stack: [0x2606e000,0x260bf000], sp=0x260ba1c8, free space=304k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x3966c3] C [libocijdbc11.so+0x4d67] Java_oracle_jdbc_driver_T2CConnection_t2cSetSessionTimeZone+0x57 j oracle.jdbc.driver.T2CConnection.t2cSetSessionTimeZone(JLjava/lang/String;)I+0 j oracle.jdbc.driver.T2CConnection.logon()V+825 j oracle.jdbc.driver.PhysicalConnection.<init>(Ljava/lang/String;Ljava/util/Properties;Loracle/jdbc/driver/OracleDriverExtension;)V+323 j oracle.jdbc.driver.T2CConnection.<init>(Ljava/lang/String;Ljava/util/Properties;Loracle/jdbc/driver/OracleDriverExtension;)V+4 j oracle.jdbc.driver.T2CDriverExtension.getConnection(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;+34 j oracle.jdbc.driver.OracleDriver.connect(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;+296 j org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(Ljavax/security/auth/Subject;Ljavax/resource/spi/ConnectionRequestInfo;)Ljavax/resource/spi/ManagedConnection;+113 .. .. Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j oracle.jdbc.driver.T2CConnection.t2cSetSessionTimeZone(JLjava/lang/String;)I+0 j oracle.jdbc.driver.T2CConnection.logon()V+825 j oracle.jdbc.driver.PhysicalConnection.<init>(Ljava/lang/String;Ljava/util/Properties;Loracle/jdbc/driver/OracleDriverExtension;)V+323 j oracle.jdbc.driver.T2CConnection.<init>(Ljava/lang/String;Ljava/util/Properties;Loracle/jdbc/driver/OracleDriverExtension;)V+4 j oracle.jdbc.driver.T2CDriverExtension.getConnection(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;+34 j oracle.jdbc.driver.OracleDriver.connect(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;+296 j org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(Ljavax/security/auth/Subject;Ljavax/resource/spi/ConnectionRequestInfo;)Ljavax/resource/spi/ManagedConnection;+113
Environment
- Oracle JDBC thin (Java) driver version 11.2.0.1.0
- Oracle JDBC OCI driver 11.2
- Oracle/Sun JDK 1.6.0_u13
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.