[TIME-18] Generating report causes out of memory error

Issue #18 wontfix
Andriy Zhdanov created an issue

When this plugin is used to generate a report, it sometimes causes an out of memory error. If not very much memory is allocated, this will happen quickly - the report fails, but at least JIRA can continue. With more memory it takes much longer, often grinding JIRA to a halt for an hour or more, so I must restart Tomcat.

This occurs even when I increase the available memory as high as 1024 MB (aside from this, JIRA never exceeds 100 MB used memory).

The actual error is below. (note that the memory listed is for our initial try - we later increased the memory as high as 1 GB)

Cause:
javax.servlet.ServletException: Java heap space

Stack Trace: hide

javax.servlet.ServletException: Java heap space
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776)
at org.apache.jsp.secure.views.dashboard_jsp._jspService(dashboard_jsp.java:1374)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:253)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
at com.atlassian.jira.web.filters.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:35)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:72)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)

Referer URL: http://y-s-central:8080/jira/secure/Dashboard.jspa?configuring=false

Request Information:
Request URL: http://y-s-central:8080/jira/500page.jsp

  • Scheme: http
  • Server: y-s-central
  • Port: 8080
  • URI: /jira/500page.jsp
    • Context Path: /jira
    • Servlet Path: /500page.jsp
    • Path Info: null
    • Query String:

Request Attributes:

  • javax.servlet.forward.request_uri : /jira/secure/Dashboard.jspa
  • javax.servlet.forward.context_path : /jira
  • javax.servlet.forward.servlet_path : /secure/Dashboard.jspa
  • javax.servlet.forward.path_info : /500page.jsp
  • javax.servlet.error.message :
  • javax.servlet.error.exception : org.apache.jasper.JasperException: Java heap space
  • user : webwork.dispatcher.GenericDispatcher$LazyValueHolder@d56df2
  • os_securityfilter_already_filtered : true
  • com.atlassian.jira.web.filters.ActionCleanupDelayFilter : true
  • com.atlassian.johnson.filters.JohnsonFilter_already_filtered : true
  • javax.servlet.error.request_uri : /jira/secure/Dashboard.jspa
  • jira.webwork.generic.dispatcher : webwork.dispatcher.GenericDispatcher@253173
  • javax.servlet.error.status_code : 500
  • webwork.view_uri : /secure/views/dashboard.jsp
  • _sitemesh_filterapplied : true
  • jira.webwork.cleanup : false
  • math : com.atlassian.core.bean.MathBean@1d17d4c
  • javax.servlet.error.servlet_name : action
  • com.atlassian.jira.web.filters.gzip.GzipFilter_already_filtered : true
  • webwork.valuestack.head : com.atlassian.jira.portal.PortletConfigurationImpl@79470f
  • atlassian.core.seraph.original.url : /secure/Dashboard.jspa
  • loginfilter.already.filtered : true
  • webwork.result : Value stack =========== ===========
  • webwork.request_uri : /jira/secure/Dashboard.jspa

Request Logging:
0 log statements generated by this request:

By dsiegmann/Daniel Siegmann on Tue, 16 Jan 2007 13:17:02 -0800

Comments (2)

  1. Andriy Zhdanov reporter

    It's strange - I've never seen this problem, plugin is used in a real environment with default tomcat configuration, with about 50 users, and 5 active projects - TimeSheet reports are executed finely quite often, and without overloading system resources.

    Do you have out of memory problem on bigger number of worklogs/users?

    By azhdanov on Wed, 17 Jan 2007 14:44:25 -0800

  2. Andriy Zhdanov reporter

    The Timesheet Plug-in is documented to be functional only for product versions JIRA 3.10+

    This issue appears to have have been reported on JIRA 3.6.

    By jboarman on Wed, 9 Jan 2008 11:59:43 -0800

  3. Log in to comment