ICEfaces
  1. ICEfaces
  2. ICE-1372

Exception thrown when showing Seam debug page

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6DR#3
    • Fix Version/s: 1.6DR#3, 1.6
    • Component/s: Bridge
    • Labels:
      None
    • Environment:
      JBoss 4.0.5, Seam 1.1.6

      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.

        Issue Links

          Activity

          Hide
          Mircea Toma added a comment -

          I guess the best solution would be to not open the blocking connection if the page doesn't contain a view.

          Show
          Mircea Toma added a comment - I guess the best solution would be to not open the blocking connection if the page doesn't contain a view.
          Hide
          Mircea Toma added a comment -

          Send server error which will shutdown the bridge.

          Show
          Mircea Toma added a comment - Send server error which will shutdown the bridge.

            People

            • Assignee:
              Unassigned
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: