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

Remy Maucherat (JIRA) jira-events at lists.jboss.org
Wed Nov 18 12:21:30 EST 2009


     [ https://jira.jboss.org/jira/browse/JBWEB-149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Remy Maucherat resolved JBWEB-149.
----------------------------------

    Resolution: Rejected


Ok, I'm rejecting the community version of the bug, as there is no actual bug in this location. This could be cause by inserting null in the structure (if at all possible), some async manipulations, a recycling bug, etc, which would be the actual issue.
The fix proposed hides the issue in JBoss and moves the error to httpd instead, which is not acceptable, as the original error occurred in JBoss (and the NPE is a very fine error message for such a totally unexpected situation).

>  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