Details
Description
When the address demo is run under Jetty, the following exception is produced upon changing pages:
4448 [main] INFO com.icesoft.faces.webapp.xmlhttp.ResponseStateManager - using response state
manager: com.icesoft.faces.webapp.xmlhttp.ResponseStateManager
4472 [main] INFO org.mortbay.log - Started SelectChannelConnector @ 0.0.0.0:8080
240720 [btpool0-1] ERROR org.mortbay.log - /address/block/receive-send-updates:
java.lang.NullPointerException
at com.icesoft.faces.webapp.xmlhttp.ContinuationResponseState.cancel
(ContinuationResponseState.java:100)
at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:282)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:401)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
240723 [btpool0-1] ERROR org.mortbay.log - /address/block/receive-send-updates
java.lang.NullPointerException
at com.icesoft.faces.webapp.xmlhttp.ContinuationResponseState.cancel
(ContinuationResponseState.java:100)
at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:282)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:401)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
4448 [main] INFO com.icesoft.faces.webapp.xmlhttp.ResponseStateManager - using response state
manager: com.icesoft.faces.webapp.xmlhttp.ResponseStateManager
4472 [main] INFO org.mortbay.log - Started SelectChannelConnector @ 0.0.0.0:8080
240720 [btpool0-1] ERROR org.mortbay.log - /address/block/receive-send-updates:
java.lang.NullPointerException
at com.icesoft.faces.webapp.xmlhttp.ContinuationResponseState.cancel
(ContinuationResponseState.java:100)
at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:282)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:401)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
240723 [btpool0-1] ERROR org.mortbay.log - /address/block/receive-send-updates
java.lang.NullPointerException
at com.icesoft.faces.webapp.xmlhttp.ContinuationResponseState.cancel
(ContinuationResponseState.java:100)
at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:282)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:401)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Activity
Ted Goddard
created issue -
Icefaces Administrator
made changes -
Field | Original Value | New Value |
---|---|---|
issue.field.bugzillaimportkey | 1269 | 12367 |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
We will now check for null before invoking cancel in the continuation.
svn commit src/com/icesoft/faces/webapp/xmlhttp/ContinuationResponseState.java -m "checking that
continuation is not null before resume (
ICE-1098)"Sending src/com/icesoft/faces/webapp/xmlhttp/ContinuationResponseState.java
Transmitting file data .
Committed revision 12984.
Index: src/com/icesoft/faces/webapp/xmlhttp/ContinuationResponseState.java
===============================================================
====
— src/com/icesoft/faces/webapp/xmlhttp/ContinuationResponseState.java (revision 12983)
+++ src/com/icesoft/faces/webapp/xmlhttp/ContinuationResponseState.java (working copy)
@@ -97,7 +97,9 @@
//an exception when cancelled (like InterruptedException)
public void cancel() {
isCancelled = true;
+ if (null != continuation) { + continuation.resume(); + }
}
}