[jboss-jira] [JBoss JIRA] Created: (JBWEB-149) Occassional NullPointerException when using the AJP Connector

Samuel Mendenhall (JIRA) jira-events at lists.jboss.org
Thu Oct 1 10:05:49 EDT 2009


 Occassional NullPointerException when using the AJP Connector
--------------------------------------------------------------

                 Key: JBWEB-149
                 URL: https://jira.jboss.org/jira/browse/JBWEB-149
             Project: JBoss Web
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Core
            Reporter: Samuel Mendenhall
            Assignee: Remy Maucherat


ERROR 2009-04-30 10:54:14,547 [ajp-xxxxxxxxxxxxxxxx%2F10.230.10.131-22803-2][][] org.apache.coyote.ajp.AjpMessage '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.AjpProcessor.prepareResponse(AjpProcessor.java:961)
       at org.apache.coyote.ajp.AjpProcessor.action(AjpProcessor.java:495)
       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.Response.finishResponse(Response.java:486)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:257)
       at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
       at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:381)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
       at java.lang.Thread.run(Thread.java:619) 


The fix Jean-Frederic highlighted being:
src/share/classes/org/apache/coyote/ajp/AjpProcessor.java

        responseHeaderMessage.appendInt(numHeaders);
        for (int i = 0; i < numHeaders; i++) {
            MessageBytes hN = headers.getName(i);
+            if (hN == null || hN.toString() == null)
+                continue;
            int hC = Constants.getResponseAjpIndex(hN.toString());
            if (hC > 0) {
                responseHeaderMessage.appendInt(hC);
+++

Which, after using a patched jar, the customer has not seen the NPE since.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list