Java.lang.OutOfMemoryError: Java Heap Space and java.lang.ArrayIndexOutOfBoundsException After Upgrade to WebLogic 12.1.3 (Doc ID 2065260.1)

Last updated on JUNE 27, 2017

Applies to:

JDBC - Version 12.1.0.2.0 and later
Information in this document applies to any platform.

Symptoms

On : JDBC Driver 12.1.0.2 with Weblogic 12.1.3 on Linux x86-64:

After upgrading to Weblogic Server to v12.1.3, application shows the following error on startup:


The WebLogic Server encountered a critical failure
java.lang.OutOfMemoryError: Java heap space
at oracle.jdbc.driver.PlsqlIndexTableAccessor.getOraclePlsqlIndexTable(PlsqlIndexTableAccessor.java:126)
at oracle.jdbc.driver.OracleCallableStatement.getOraclePlsqlIndexTable(OracleCallableStatement.java:5601)
at oracle.jdbc.driver.OracleCallableStatement.getPlsqlIndexTable(OracleCallableStatement.java:5400)
at oracle.jdbc.driver.OracleCallableStatementWrapper.getPlsqlIndexTable(OracleCallableStatementWrapper.java:1555)
at weblogic.jdbc.wrapper.CallableStatement_oracle_jdbc_driver_OracleCallableStatementWrapper.getPlsqlIndexTable(Unknown Source)


The error does not occur when using a v11.2.0.x JDBC driver on previous version of WebLogic.

In an effort to resolve the issue, <Patch:21043834> suggested by <Document:21043834.8> Bug 21043834 - OracleCallableStatement.getPlSqlIndexTable fails with java.lang.OutOfMemoryError: Java heap space was applied (any patch applied on top of the 12.1.0.2 JDBC driver on WebLogic 12.1.3 requires as prerequisite the installation of <Patch:20741228>, so <Patch:20741228> was applied prior to applying <Patch:21043834>). However, after the patches, even though the java.lang.OutOfMemoryError: Java heap space error is resolved, a new exception is encountered:

 ERROR (__errpage.java:183) - java.lang.ArrayIndexOutOfBoundsException: -1
 at oracle.jdbc.driver.DynamicByteArray.get(DynamicByteArray.java:489)
 at oracle.jdbc.driver.ByteArray.get(ByteArray.java:83)
 at oracle.jdbc.driver.ByteArray.getInt(ByteArray.java:148)
 at oracle.jdbc.driver.PlsqlIndexTableAccessor.getOraclePlsqlIndexTable(PlsqlIndexTableAccessor.java:122)
 at oracle.jdbc.driver.OracleCallableStatement.getOraclePlsqlIndexTable(OracleCallableStatement.java:5601)
 at oracle.jdbc.driver.OracleCallableStatement.getPlsqlIndexTable(OracleCallableStatement.java:5400)
 at oracle.jdbc.driver.OracleCallableStatementWrapper.getPlsqlIndexTable(OracleCallableStatementWrapper.java:1555)
 at weblogic.jdbc.wrapper.CallableStatement_oracle_jdbc_driver_OracleCallableStatementWrapper.getPlsqlIndexTable(Unknown Source)


 

 

Changes

WebLogic has been upgraded to version 12.1.3.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms