Details
Description
When fixing ICE-1084, I found that it would show the debug.seam page, and allow one to interact with it, but an exception was being thrown by the PushServlet:
15:15:23,705 ERROR [SeamExceptionFilter] uncaught exception handled by Seam
java.lang.NullPointerException
at com.icesoft.faces.webapp.http.servlet.PushServlet.service(PushServlet.java:26)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:41)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:18)
at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:34)
at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:31)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:41)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:18)
at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:48)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
You can duplicate this by deploying applications\jboss-seam-1.1.6-component-showcase and after bringing up the component-showcase in your browser, change the URL to be http://localhost:8080/component-showcase/debug.seam
Mircea thinks that this is the problem: The debug.xhtml file does not have any form inside it, so there's no place for the view number to go, when debug.seam is rendered. So then the bridge code loads in the browser, and tries to connect to the server via the PushServlet, but the PushServlet expects, and needs a view number, so it can access all the stuff setup by the initial serving of the page. When it doesn't find that, it craps out.
15:15:23,705 ERROR [SeamExceptionFilter] uncaught exception handled by Seam
java.lang.NullPointerException
at com.icesoft.faces.webapp.http.servlet.PushServlet.service(PushServlet.java:26)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:41)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:18)
at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:34)
at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:31)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:41)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:18)
at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:48)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
You can duplicate this by deploying applications\jboss-seam-1.1.6-component-showcase and after bringing up the component-showcase in your browser, change the URL to be http://localhost:8080/component-showcase/debug.seam
Mircea thinks that this is the problem: The debug.xhtml file does not have any form inside it, so there's no place for the view number to go, when debug.seam is rendered. So then the bridge code loads in the browser, and tries to connect to the server via the PushServlet, but the PushServlet expects, and needs a view number, so it can access all the stuff setup by the initial serving of the page. When it doesn't find that, it craps out.
Issue Links
- blocks
-
ICE-1810 Support Integration with JBoss Seam
- Closed
Activity
Mark Collette
created issue -
Mark Collette
made changes -
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 1.6DR#3 [ 10050 ] | |
Assignee | Mircea Toma [ mircea.toma ] |
Ken Fyten
made changes -
Assignee Priority | P3 |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #13476 | Thu Apr 05 16:38:10 MDT 2007 | mircea.toma | Send server error which will shutdown the bridge (for the window that did the request) -- |
Files Changed | ||||
MODIFY
/icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/PushServlet.java
|
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 1.6 [ 10031 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee Priority | P3 | |
Assignee | Mircea Toma [ mircea.toma ] |
I guess the best solution would be to not open the blocking connection if the page doesn't contain a view.