Jump to content
We've recently updated our Privacy Statement, available here ×

Ran out of memory retrieving query results


henryedsl

Recommended Posts

Hi all,

I have a report designed with iReport 5.0.1 which is OK except that when it returns about 10000 or more rows from database, returns the next error:

GRAVE: Error executing SQL statement for : rep_asignacion_inicialnet.sf.jasperreports.engine.JRException: Error executing SQL statement for : rep_asignacion_inicial    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:240)    at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1086)    at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:667)    at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1258)    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:877)    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:822)    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:61)    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:849)    at org.openxava.actions.JasperReportBaseAction.execute(JasperReportBaseAction.java:105)    at org.openxava.controller.ModuleManager.executeAction(ModuleManager.java:374)    at org.openxava.controller.ModuleManager.executeAction(ModuleManager.java:291)    at org.openxava.controller.ModuleManager.execute(ModuleManager.java:251)    at org.apache.jsp.xava.execute_jsp._jspService(execute_jsp.java:177)    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)    at org.openxava.web.servlets.Servlets.getURIAsStream(Servlets.java:66)    at org.openxava.web.dwr.Module.getURIAsStream(Module.java:182)    at org.openxava.web.dwr.Module.request(Module.java:63)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)    at java.lang.reflect.Method.invoke(Method.java:597)    at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)    at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)    at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)    at org.admon.db.globales.modelo.FiltroUsuarioLifeRay.doFilter(FiltroUsuarioLifeRay.java:45)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)    at org.insisto.general.security.utils.LifeTimeFilter.doFilter(LifeTimeFilter.java:143)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)    at java.lang.Thread.run(Thread.java:662)Caused by: org.postgresql.util.PSQLException: Ran out of memory retrieving query results.    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1857)    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)    at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:233)    ... 58 moreCaused by: java.lang.OutOfMemoryError: Java heap space    at org.postgresql.core.PGStream.ReceiveTupleV3(PGStream.java:359)    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1854)    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)    at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:233)    at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1086)    at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:667)    at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1258)    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:877)    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:822)    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:61)    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:849)    at org.openxava.actions.JasperReportBaseAction.execute(JasperReportBaseAction.java:105)    at org.openxava.controller.ModuleManager.executeAction(ModuleManager.java:374)    at org.openxava.controller.ModuleManager.executeAction(ModuleManager.java:291)    at org.openxava.controller.ModuleManager.execute(ModuleManager.java:251)    at org.apache.jsp.xava.execute_jsp._jspService(execute_jsp.java:177)    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)[/code]

 

I set net.sf.jasperreports.jdbc.fetch.size property to different values with no success.

This report is executed from a java web application.

I am using a PostgreSQL database, and jdbc4.

I'd really appreciate any help.

Thanks in advance.

Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Hi, it is the Java VM (virtual machine ... ie running Java execution) that is running out of memory. 

So, you will need to increase the memory settings for your Java. Java runs with default memory settings, but those settings can be too small to run very large reports (and to run the JasperReports Server, for instance). 

So, if you are using the Tomcat application server, you can go to <tomcat>/bin/setclasspath.bat or .sh and edit this file. At the end of the file you can add something like: 

 

[/code]
set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx2048m    (windows)
 
JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx2024m" (linux)
 
Also, how much RAM memory does your machine have?
 

 

 

 

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...