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

Report creating java.lang.outOfMemory error


shankarganesh

Recommended Posts

Hi,

My requirement is like i need to create a complex report which involves many queries.Since iReport supports only one query per jrxml i have designed it with many subreport elements in one main report.When i try to run main report i get java.lang.outOfMemory exception.I am copying the stack trace with this.

 

NESTED BY :

 

java.lang.OutOfMemoryError

 

 

NESTED BY :

 

net.sf.jasperreports.engine.JRRuntimeException

 

at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:569)

 

at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:271)

 

at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:311)

 

at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:279)

 

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1270)

 

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:589)

 

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:229)

 

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:127)

 

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:834)

 

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:705)

 

at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)

 

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)

 

at com.boeing.owi.Servlets.GenerateReport.fillReport(GenerateReport.java:173)

 

at com.boeing.owi.Servlets.GenerateReport.doGet(GenerateReport.java:112)

 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

 

at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721)

 

at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)

 

at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)

 

at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)

 

at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)

 

at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)

 

at java.lang.Thread.run(Thread.java:534)

 

Caused by: java.lang.OutOfMemoryError

 

OrderKey passed:197.0

 

net.sf.jasperreports.engine.JRException: No input source supplied to the exporter.

 

at net.sf.jasperreports.engine.JRAbstractExporter.setInput(JRAbstractExporter.java:231)

 

at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:209)

 

at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportManager.java:188)

 

at com.boeing.owi.Servlets.GenerateReport.exportToPDFBytes(GenerateReport.java:211)

 

at com.boeing.owi.Servlets.GenerateReport.doGet(GenerateReport.java:115)

 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

 

at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721)

 

at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)

 

at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)

 

at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)

 

at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)

 

at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)

 

at java.lang.Thread.run(Thread.java:534)

 

java.lang.NullPointerException

 

at com.boeing.owi.Servlets.GenerateReport.send2Browser(GenerateReport.java:237)

 

at com.boeing.owi.Servlets.GenerateReport.doGet(GenerateReport.java:124)

 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

 

at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721)

 

at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)

at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)

 

at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)

 

at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)

 

at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803) at java.lang.Thread.run(Thread.java:534)

 

Kindly help me debug this issue.

Thanks,

ShankarGanesh.

Link to comment
Share on other sites

  • Replies 2
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

I'm going to take a wild stab at this.

 

My best guess is that you're best off changing the database/queries (JasperETL might be useful). Barring that, you could try bumping up the Java environment variables. On my machines, they look like this:

 

Linux:

/opt/jasperserver/apache-tomcat/bin/setenv.sh

 

Code:
JAVA_OPTS="$JAVA_OPTS "-XX:MaxPermSize-512m" "-Xmx256m

Windows:

c:program filesjasperserverapache-tomcatbinsetenv.bat

 

Code:
[code]set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=512m -Xmx256m

 

Good luck, but please don't hold me to anything.

 

Mary

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...