0

I have deployed jenkins as a war file in AIX on tomcat.

Right now I have no jobs set up.

Say after a few mins of working, I get out of memory error and only after tomcat re-start I can access Jenkins.

How can I sove this.

The stacktrace is shown below:

Exception: jar:file:/opt/apache-tomcat-5.5.25/webapps/jenkins/WEB-INF/lib/jenkins-core-1.504.jar!/jenkins/model/Jenkins/sidepanel.jelly:26:86: <st:include> java.lang.OutOfMemoryError
Stacktrace: 
javax.servlet.ServletException: jar:file:/opt/apache-tomcat-5.5.25/webapps/jenkins/WEB-INF/lib/jenkins-core-1.504.jar!/jenkins/model/Jenkins/sidepanel.jelly:26:86: <st:include> java.lang.OutOfMemoryError
    at org.kohsuke.stapler.jelly.JellyRequestDispatcher.forward(JellyRequestDispatcher.java:60)
    at jenkins.model.Jenkins.doScript(Jenkins.java:3356)
    at jenkins.model.Jenkins.doScript(Jenkins.java:3332)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:618)
    at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
    at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
    at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
    at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:573)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:658)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:487)
    at org.kohsuke.stapler.Stapler.service(Stapler.java:164)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
    at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
    at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
    at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:810)
Dark Matter
  • 2,231
  • 3
  • 17
  • 31
  • Have you tried another version of jenkins? I use 1.498 and it works perfectly. Add also some configuration.. – Vargan Mar 07 '13 at 15:02
  • This is the required which was proposed.And no I have not tried 1.498 version. Can't I increase the heap space or something? What conf data do you need? – Dark Matter Mar 07 '13 at 15:03

2 Answers2

2

There is a detailed Jenkins wiki topic I'm getting OutOfMemoryError about analyzing the reason, increasing heap space, etc.

Sascha Vetter
  • 2,466
  • 1
  • 19
  • 36
  • Yes I saw that but I dont know how to increase the heap space for Jenkins. How can I do it? – Dark Matter Mar 07 '13 at 15:22
  • What about _java -Xms256m -Xmx256m -jar jenkins.war_ – Sascha Vetter Mar 07 '13 at 15:36
  • I have already deployed it to tomcat.Isn't there a place where I can set these values. – Dark Matter Mar 07 '13 at 15:46
  • Set tomcat heap space: http://stackoverflow.com/questions/11446469/java-heap-space-error-in-tomcat (2nd answer) or the second comment of https://wiki.jenkins-ci.org/display/JENKINS/I%27m+getting+OutOfMemoryError – Sascha Vetter Mar 07 '13 at 15:59
  • In my case I have more than one applications deployed on tomcat.So how do I increase the heap space only for the jenkins.If I follow the above link it will increase heap space for all web apps deployed in tomcat. And is there a file known as Jenkins.xml where we can set this as seen in other posts, I have not been able to find this file. – Dark Matter Mar 07 '13 at 16:11
  • 1
    As far as I know it isn't possible if you have only one tomcat instance. You can put Jenkins in a separate instance and change the heap space for this instance. More information: http://stackoverflow.com/questions/1824099/tomcat-per-webapp-memory-settings – Sascha Vetter Mar 08 '13 at 11:50
0

Had a simulary problems few month ago and it was a "real memory problem". Upgrade the RAM and all works fine. Have you crosse-checked this?

Micha
  • 5,117
  • 8
  • 34
  • 47