Large JSP Reports Return Error Java.lang.OutOfMemoryError: Java Heap Space (Doc ID 1592391.1)

Last updated on JULY 04, 2016

Applies to:

Oracle Reports Developer - Version 11.1.1.2.0 and later
Information in this document applies to any platform.

Symptoms

When running a report as a JSP (without rwservlet) that returns a large set of data, the following error page is returned:
 

java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
at weblogic.servlet.internal.CharChunkOutput.adjustBuf(CharChunkOutput.java:193)
at weblogic.servlet.internal.CharChunkOutput.print(CharChunkOutput.java:129)
at weblogic.servlet.internal.ChunkOutputWrapper.print(ChunkOutputWrapper.java:171)
at weblogic.servlet.jsp.BodyContentImpl.write(BodyContentImpl.java:204)
at weblogic.servlet.jsp.BodyContentImpl.write(BodyContentImpl.java:249)
at jsp_servlet.__bigquery._jspService(__bigquery.java:229)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

Steps to Reproduce:

1. Deploy JSP to report’s war directory.

2. Run report as a JSP using sample syntax:

 http://<hostname:port>/reports/testbigquery.jsp?userid=myuser/password@db

 

Other Facts:

The same report run with a smaller set of data is successful.

This happens only when web layout is run without rwservlet.

Enabling trace level TRACE:32 does not show any errors or crashes in log files.

Setting jvmOptions in rwserver.conf for the engine does not make a difference. It fails with same error. Sample:

  

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