[
https://jira.jboss.org/jira/browse/JBWEB-149?page=com.atlassian.jira.plug...
]
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