12 Replies Latest reply on Sep 2, 2008 12:57 PM by pmuir

    seam 2.1 Build 296 Identity.systemOp can't be Serialized

    alin.heyoulin.qq.com

      seam 2.1 Build 296 Identity.systemOp can't be Serialized

        • 1. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
          thejavafreak

          he youlin wrote on Aug 31, 2008 12:53:


          seam 2.1 Build 296 Identity.systemOp can't be Serialized


          What is it exactly that you're looking for?

          • 2. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
            pmuir

            he youlin wrote on Aug 31, 2008 12:53:


            seam 2.1 Build 296 Identity.systemOp can't be Serialized


            Yup. Please file an issue in JIRA.

            • 3. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
              alin.heyoulin.qq.com

              sorry,I can't login JIRA.


              By the way Identity.systemOp can't be ThreadLocal type.It would cause javax.el.ELException with message: java.lang.NullPointerException as systemOp.get() is always null in evey thread.

              • 4. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
                pmuir

                sorry,I can't login JIRA.

                Create a jboss.org account and use that to login.


                Put your comments on the problem and possible fix there.

                • 5. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
                  shane.bryzak

                  he youlin wrote on Aug 31, 2008 12:53:


                  seam 2.1 Build 296 Identity.systemOp can't be Serialized


                  Oops, fixed in SVN.

                  • 6. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
                    shane.bryzak

                    he youlin wrote on Aug 31, 2008 19:14:


                    sorry,I can't login JIRA.

                    By the way Identity.systemOp can't be ThreadLocal type.It would cause javax.el.ELException with message: java.lang.NullPointerException as systemOp.get() is always null in evey thread.


                    This is fixed too.

                    • 7. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
                      alin.heyoulin.qq.com

                      hi,Shane Bryzak
                      this bug may not be fixed still.I download last build.
                      Shutdown tomcat 6 Identity serialized when ie client don't logout. And then start tomcat 6 Identity unserialized,refresh ie client with s:hasRole('something') included page. So javax.el.ELException with message: java.lang.NullPointerException happen still.

                      • 8. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
                        alin.heyoulin.qq.com
                        pages has this code
                        
                        
                          <page view-id="/app/yosc/user/*">           
                            \<restrict>#{s:hasRole('admin')}</restrict>
                          </page>
                        
                        
                        
                        dubug page show
                        
                        
                           Exception during request processing: 
                        Caused by javax.el.ELException with message: "java.lang.NullPointerException" 
                        org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:333)
                        org.jboss.el.parser.AstFunction.getValue(AstFunction.java:84)
                        org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                        org.jboss.seam.core.Expressions$1.getValue(Expressions.java:112)
                        org.jboss.seam.security.Identity.evaluateExpression(Identity.java:617)
                        org.jboss.seam.security.Identity.checkRestriction(Identity.java:186)
                        org.jboss.seam.navigation.Page.checkPermission(Page.java:229)
                        org.jboss.seam.navigation.Page.preRender(Page.java:249)
                        org.jboss.seam.navigation.Pages.preRender(Pages.java:347)
                        org.jboss.seam.jsf.SeamPhaseListener.preRenderPage(SeamPhaseListener.java:562)
                        org.jboss.seam.jsf.SeamPhaseListener.beforeRenderResponse(SeamPhaseListener.java:473)
                        org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:146)
                        org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:116)
                        com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
                        com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
                        com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
                        javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
                        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                        org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:38)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
                        org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
                        org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
                        org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
                        org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
                        org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:73)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
                        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
                        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                        org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
                        org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
                        org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
                        org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
                        java.lang.Thread.run(Unknown Source)Caused by java.lang.NullPointerException with message: "" 
                        org.jboss.seam.security.Identity.hasRole(Identity.java:415)
                        org.jboss.seam.security.SecurityFunctions.hasRole(SecurityFunctions.java:12)
                        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                        sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                        sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                        java.lang.reflect.Method.invoke(Unknown Source)
                        org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
                        org.jboss.el.parser.AstFunction.getValue(AstFunction.java:84)
                        org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                        org.jboss.seam.core.Expressions$1.getValue(Expressions.java:112)
                        org.jboss.seam.security.Identity.evaluateExpression(Identity.java:617)
                        org.jboss.seam.security.Identity.checkRestriction(Identity.java:186)
                        org.jboss.seam.navigation.Page.checkPermission(Page.java:229)
                        org.jboss.seam.navigation.Page.preRender(Page.java:249)
                        org.jboss.seam.navigation.Pages.preRender(Pages.java:347)
                        org.jboss.seam.jsf.SeamPhaseListener.preRenderPage(SeamPhaseListener.java:562)
                        org.jboss.seam.jsf.SeamPhaseListener.beforeRenderResponse(SeamPhaseListener.java:473)
                        org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:146)
                        org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:116)
                        com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
                        com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
                        com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
                        javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
                        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                        org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:38)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
                        org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
                        org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
                        org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
                        org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
                        org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:73)
                        org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
                        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                        org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                        org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                        org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                        org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
                        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                        org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
                        org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
                        org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
                        org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
                        java.lang.Thread.run(Unknown Source)
                        


                        • 9. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
                          shane.bryzak

                          I've made some changes in SVN to create the systemOp field lazily now, in addition to performing null checks wherever it is referenced.  Hopefully that should fix your issue.

                          • 10. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
                            alin.heyoulin.qq.com

                            thanks. your fixing is same as mine :)

                            • 11. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
                              alin.heyoulin.qq.com

                              By the way.Could you fix JBSEAM-3359 in StatusMessages.java and warRootDirectory components loading error in Initialization.java?


                              see
                              http://seamframework.org/Community/InSeam210BETA1FacesMessagesinstanceaddstrConnotWorking

                              • 12. Re: seam 2.1 Build 296 Identity.systemOp can't be Serialized
                                pmuir

                                Both bugs should be fixed in trunk and currently nightly builds. Please test for me.