Raise_application_error with 221 Chararcters Fails with java.lang.OutOfMemoryError in JDBC 12.1.0.2

(Doc ID 2169759.1)

Last updated on MARCH 08, 2017

Applies to:

JDBC - Version 12.1.0.2.0 to 12.1.0.2.0 [Release 12.1]
Information in this document applies to any platform.

Symptoms

JDBC 12.1.0.2 application calling raise_application_error with a message of 221 characters fails with java.lang.OutOfMemoryError.
The problem exists only with Oracle Database 12.1.0.2 with characterset CL8ISO8859P5; with database 11.2.0.4 this problem is not present.


ERROR
-----------------------
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
  at oracle.jdbc.driver.T4CMAREngine.unmarshalCLRforREFS(T4CMAREngine.java:879)
  at oracle.jdbc.driver.T4CTTIoer.unmarshal(T4CTTIoer.java:302)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:539)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:264)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:598)
  at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:223)
  at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:44)
  at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1241)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1558)
  at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:5767)
  at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:5973)
  at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:11018)
  at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:4764)
  at JDBCInfoFailed.main(JDBCInfoFailed.java:53)




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