Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-20402

NullPointerException using Jenkins with Tomcat

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: core
    • Labels:
    • Environment:
      SUSE Linux Enterprise Server 11 (Service Pack 2)
    • Similar Issues:

      Description

      We have installed the Jenkins on Tomcat (version 6.0.18).
      After upgrading Jenkins from version 1.522 to 1.537 every time a user connects to the server or clicks any link on the Jenkins GUI a null pointer exception appears in the log (see below).

      After some investigation I found that this issue was introduced with the Jenkins version 1.526.

      04.11.2013 07:00:06 org.apache.coyote.ajp.AjpMessage appendString
      SEVERE: Cannot append null value
      Throwable occurred: java.lang.NullPointerException
      at org.apache.coyote.ajp.AjpMessage.appendString(AjpMessage.java:242)
      at org.apache.coyote.ajp.AjpMessage.appendBytes(AjpMessage.java:178)
      at org.apache.coyote.ajp.AjpAprProcessor.prepareResponse(AjpAprProcessor.java:962)
      at org.apache.coyote.ajp.AjpAprProcessor.action(AjpAprProcessor.java:486)
      at org.apache.coyote.Response.action(Response.java:183)
      at org.apache.coyote.Response.sendHeaders(Response.java:379)
      at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:305)
      at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:273)
      at org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStream.java:104)
      at com.jcraft.jzlib.DeflaterOutputStream.close(DeflaterOutputStream.java:122)
      at org.kohsuke.stapler.compression.FilterServletOutputStream.close(FilterServletOutputStream.java:36)
      at java.io.FilterOutputStream.close(FilterOutputStream.java:154)
      at sun.nio.cs.StreamEncoder$CharsetSE.implClose(StreamEncoder.java:454)
      at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:183)
      at java.io.OutputStreamWriter.close(OutputStreamWriter.java:282)
      at java.io.BufferedWriter.close(BufferedWriter.java:259)
      at org.dom4j.io.XMLWriter.close(XMLWriter.java:286)
      at org.kohsuke.stapler.jelly.HTMLWriterOutput.close(HTMLWriterOutput.java:70)
      at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:56)
      at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
      at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:716)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:841)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:794)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:841)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:630)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:224)
      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 hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:64)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      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:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:438)
      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:286)
      at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:421)
      at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:378)
      at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
      at java.lang.Thread.run(Thread.java:738)

        Attachments

          Activity

          Hide
          hidminds Daniel Fischer added a comment - - edited

          Same problem here on SLES 11 SP3 (x86_64) using Jenkins version 1.554.1 .

          Jenkins authentication is performed with servlet container.
          Jenkins runs on Apache Tomcat 6 and is connected with AJP to a Apache HTTP Proxy Server.
          The client (browser) connects using HTTPS.

          Client <-= HTTPS =-> Apache <-= AJP =-> Apache Tomcat

          Here is the error message in detail (looks the same as the one in comment #0 ):

          Mai 09, 2014 2:29:45 PM org.apache.coyote.ajp.AjpMessage appendString
          SEVERE: Cannot append null value
          java.lang.NullPointerException
          at org.apache.coyote.ajp.AjpMessage.appendString(AjpMessage.java:242)
          at org.apache.coyote.ajp.AjpMessage.appendBytes(AjpMessage.java:178)
          at org.apache.coyote.ajp.AjpAprProcessor.prepareResponse(AjpAprProcessor.java:962)
          at org.apache.coyote.ajp.AjpAprProcessor.action(AjpAprProcessor.java:486)
          at org.apache.coyote.Response.action(Response.java:183)
          at org.apache.coyote.Response.sendHeaders(Response.java:379)
          at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:305)
          at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:273)
          at org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStream.java:104)
          at com.jcraft.jzlib.DeflaterOutputStream.close(DeflaterOutputStream.java:122)
          at org.kohsuke.stapler.compression.FilterServletOutputStream.close(FilterServletOutputStream
          .java:36)
          at java.io.FilterOutputStream.close(FilterOutputStream.java:160)
          at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:320)
          at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:149)
          at java.io.OutputStreamWriter.close(OutputStreamWriter.java:233)
          at java.io.BufferedWriter.close(BufferedWriter.java:266)
          at org.dom4j.io.XMLWriter.close(XMLWriter.java:286)
          at org.kohsuke.stapler.jelly.HTMLWriterOutput.close(HTMLWriterOutput.java:70)
          at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:56)
          at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
          at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:717)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
          at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
          at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
          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 hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
          at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at hudson.security.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:114)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          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:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:438)
          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:286)
          at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:421)
          at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:378)
          at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
          at java.lang.Thread.run(Thread.java:722)

          Show
          hidminds Daniel Fischer added a comment - - edited Same problem here on SLES 11 SP3 (x86_64) using Jenkins version 1.554.1 . Jenkins authentication is performed with servlet container. Jenkins runs on Apache Tomcat 6 and is connected with AJP to a Apache HTTP Proxy Server. The client (browser) connects using HTTPS. Client <-= HTTPS =-> Apache <-= AJP =-> Apache Tomcat Here is the error message in detail (looks the same as the one in comment #0 ): Mai 09, 2014 2:29:45 PM org.apache.coyote.ajp.AjpMessage appendString SEVERE: Cannot append null value java.lang.NullPointerException at org.apache.coyote.ajp.AjpMessage.appendString(AjpMessage.java:242) at org.apache.coyote.ajp.AjpMessage.appendBytes(AjpMessage.java:178) at org.apache.coyote.ajp.AjpAprProcessor.prepareResponse(AjpAprProcessor.java:962) at org.apache.coyote.ajp.AjpAprProcessor.action(AjpAprProcessor.java:486) at org.apache.coyote.Response.action(Response.java:183) at org.apache.coyote.Response.sendHeaders(Response.java:379) at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:305) at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:273) at org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStream.java:104) at com.jcraft.jzlib.DeflaterOutputStream.close(DeflaterOutputStream.java:122) at org.kohsuke.stapler.compression.FilterServletOutputStream.close(FilterServletOutputStream .java:36) at java.io.FilterOutputStream.close(FilterOutputStream.java:160) at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:320) at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:149) at java.io.OutputStreamWriter.close(OutputStreamWriter.java:233) at java.io.BufferedWriter.close(BufferedWriter.java:266) at org.dom4j.io.XMLWriter.close(XMLWriter.java:286) at org.kohsuke.stapler.jelly.HTMLWriterOutput.close(HTMLWriterOutput.java:70) at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:56) at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112) at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:717) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631) at org.kohsuke.stapler.Stapler.service(Stapler.java:225) 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 hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:114) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 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:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) 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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:438) 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:286) at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:421) at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:378) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509) at java.lang.Thread.run(Thread.java:722)
          Hide
          danielbeck Daniel Beck added a comment -

          Does this issue still occur in recent Jenkins versions? Was Jenkins 1.535 the first version to be affected by this? What happens when you don't use AJP, does it work then?

          Show
          danielbeck Daniel Beck added a comment - Does this issue still occur in recent Jenkins versions? Was Jenkins 1.535 the first version to be affected by this? What happens when you don't use AJP, does it work then?
          Hide
          torfl Torsten Fleischer added a comment -

          This issue still occurs in the recent version (1.585).
          It appeared first in version 1.526.

          It works when I use the HTTP connector instead.

          Show
          torfl Torsten Fleischer added a comment - This issue still occurs in the recent version (1.585). It appeared first in version 1.526. It works when I use the HTTP connector instead.
          Hide
          danielbeck Daniel Beck added a comment -

          It appears the AJP implementation does not want to deal with null valued headers. Unfortunately the Servlet spec does not mention whether they're allowed, and what the behavior should be.

          This exception is not actually thrown (breaking things) but purely informational:

              /**
               * Write a MessageBytes out at the current write position.
               * A null MessageBytes is encoded as a string with length 0.  
               */
              public void appendBytes(MessageBytes mb) {
                  if (mb == null) {
                      log.error(sm.getString("ajpmessage.null"), 
                              new NullPointerException());
                      appendInt(0);
                      appendByte(0);
                      return;
                  }
                  (... more code ...)
          

          Not sure this is something that needs fixing in Jenkins (or rather Stapler). That said, given the informational nature of this issue and the availability of an easy workaround (HTTP connector), I'm reducing priority.

          Show
          danielbeck Daniel Beck added a comment - It appears the AJP implementation does not want to deal with null valued headers. Unfortunately the Servlet spec does not mention whether they're allowed, and what the behavior should be. This exception is not actually thrown (breaking things) but purely informational: /** * Write a MessageBytes out at the current write position. * A null MessageBytes is encoded as a string with length 0. */ public void appendBytes(MessageBytes mb) { if (mb == null ) { log.error(sm.getString( "ajpmessage. null " ), new NullPointerException()); appendInt(0); appendByte(0); return ; } (... more code ...) Not sure this is something that needs fixing in Jenkins (or rather Stapler). That said, given the informational nature of this issue and the availability of an easy workaround (HTTP connector), I'm reducing priority.
          Hide
          danielbeck Daniel Beck added a comment -

          It appeared first in version 1.526.

          To clarify, it did not occur on 1.525?

          Show
          danielbeck Daniel Beck added a comment - It appeared first in version 1.526. To clarify, it did not occur on 1.525?
          Hide
          torfl Torsten Fleischer added a comment -

          These exceptions do not occur on 1.525, the version we currently run on our server.

          Show
          torfl Torsten Fleischer added a comment - These exceptions do not occur on 1.525, the version we currently run on our server.

            People

            • Assignee:
              Unassigned
              Reporter:
              torfl Torsten Fleischer
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: