3 Replies Latest reply on Jul 24, 2007 3:38 PM by pdpantages

    Problem with Seam2.0.Beta1 & a4j:poll

    xinhua

      hi,
      i have a a4j:poll tag on my page which has a small time interval value. (smaller than session timeout). It runs perfectly in a tab.

      But if i logout from another tab. (close my session). In the first tab i got immediately a very BORING alert dialog :

      View state could't be restated. reload page?

      and errors
      16:32:08,058 ERROR [ExceptionFilter] exception root cause
      java.lang.IllegalArgumentException: Stack must not be null
       at org.jboss.seam.core.ConversationEntry.<init>(ConversationEntry.java:39)
       at org.jboss.seam.core.ConversationEntries.createConversationEntry(ConversationEntries.java:53)
       at org.jboss.seam.core.Manager.createConversationEntry(Manager.java:510)
       at org.jboss.seam.core.Manager.beforeRedirect(Manager.java:651)
       at org.jboss.seam.faces.FacesManager.beforeRedirect(FacesManager.java:63)
       at org.jboss.seam.faces.FacesManager.appendConversationIdFromRedirectFilter(FacesManager.java:222)
       at org.jboss.seam.web.RedirectFilter$1.sendRedirect(RedirectFilter.java:65)
       at com.sun.faces.context.ExternalContextImpl.redirect(ExternalContextImpl.java:419)
       at org.ajax4jsf.framework.ajax.AjaxViewHandler.restoreView(AjaxViewHandler.java:180)
       at org.jboss.seam.jsf.SeamViewHandler.restoreView(SeamViewHandler.java:93)
       at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:316)
       at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:316)
      


      but when i use SEAM 1.3.0Alpha , page was redirected to login page smoothly without such BORING alert and exception.....

      how can i suppress this stupid dialog? Please help me :...(

      many thanks !


        • 1. Re: Problem with Seam2.0.Beta1 & a4j:poll
          wise_guybg

          I think we fixed the error:

          java.lang.IllegalArgumentException: Stack must not be null

          by adding
          no-conversation-view-id="/welcome.xhtml"

          to pages.xml

          PS Funny this exception popped up today and I can't remember what was the cause. It's obvious from the stack trace that it has something to do with conversations.

          PS 2 If it's not that attribute in pages that is missing check, also that the seam filter is properly setup:
          http://fisheye.jboss.com/browse/JBoss/jboss-seam/seam2migration.txt?r=MAIN

          • 2. Re: Problem with Seam2.0.Beta1 & a4j:poll
            xinhua

            hi,wise_guybg
            thank you for your reply. Unfortunately, it doesnot help. Same boring dialog and same boring exception :.......(

            ps: i think i have a right seam filter

            <!-- Seam -->
            
             <listener>
             <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
             </listener>
            
             <servlet>
             <servlet-name>Seam Resource Servlet</servlet-name>
             <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
             </servlet>
            
             <servlet-mapping>
             <servlet-name>Seam Resource Servlet</servlet-name>
             <url-pattern>/seam/resource/*</url-pattern>
             </servlet-mapping>
            
             <filter>
             <filter-name>Seam Filter</filter-name>
             <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
             </filter>
            
             <filter-mapping>
             <filter-name>Seam Filter</filter-name>
             <url-pattern>/*</url-pattern>
             </filter-mapping>
            


            • 3. Re: Problem with Seam2.0.Beta1 & a4j:poll
              pdpantages

              Hello, I am also seeing this with an a4j:poll. I am using Seam 1.2.1 GA. This definitely worked for me in Seam 1.1.6.

              My stack trace is a little different...

              I see that there are no interceptors at all in this stack trace, so I suppose
              the reason it doesn't punt over to my login page is that my @LoggedIn interceptor
              is not being called anymore. If the user is logged in, the interceptor is run as
              expected.

              I tried using @Interceptor(type=Interceptor.CLIENT) on my login
              interceptor, but the behaviour remained unchanged.

              Is there anyway to get my login interceptor to run before the point
              where the exception (below) happens? Or is there a alternative check that I can do for a loggedOut user?

              I also tried the "no-conversation-view-id" in pages.xml, but this resulted in no change in
              behaviour.

              Thank you kindly for any assistance.

              PdP

              javax.servlet.ServletException: Stack must not be null
               at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
               at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
               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)
              2007-07-24 13:18:02,481 ERROR [http-0.0.0.0-8080-5] org.jboss.seam.web.ExceptionFilter
              exception root cause
              
              java.lang.IllegalArgumentException: Stack must not be null
               at org.jboss.seam.core.ConversationEntry.<init>(ConversationEntry.java:40)
               at org.jboss.seam.core.ConversationEntries.createConversationEntry(ConversationEntries.java:50)
               at org.jboss.seam.core.Manager.createConversationEntry(Manager.java:685)
               at org.jboss.seam.core.Manager.beforeRedirect(Manager.java:834)
               at org.jboss.seam.core.Manager.beforeRedirect(Manager.java:852)
               at org.jboss.seam.core.Manager.appendConversationIdFromRedirectFilter(Manager.java:1104)
               at org.jboss.seam.web.RedirectFilter$1.sendRedirect(RedirectFilter.java:64)
               at javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:125)
               at org.apache.myfaces.context.servlet.ServletExternalContextImpl.redirect(ServletExternalContextImpl.java:490)
               at org.ajax4jsf.framework.ajax.AjaxViewHandler.restoreView(AjaxViewHandler.java:177)
               at org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:141)
               at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66)
               at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
               at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
               at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
               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)
              2007-07-24 13:18:02,482 ERROR [http-0.0.0.0-8080-5] org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/client].[Faces Servlet]
              Servlet.service() for servlet Faces Servlet threw exception