10 Replies Latest reply on Aug 3, 2006 10:45 AM by gavin.king

    Problem with SFSB passivation

    chlabreu

      I'm using SFSB as action listeners. If the user stops acting on the system for while, the action listener enters in passivation. Then, when the user come back and performs an action, the call to the SFSB causes a exception, with a long stack trace. The user session is still valid, but seems like it is is shortened by the bean passivation time. Worst, from this momment on the system cannot recover from this error and the passivated action listener does not work anymore until the user closes the browser and opens it again (sure because we are using MyFaces with client state saving).

      What is the currect way to handle this scennario? Is this a bug or a missusing? If it is not a bug, how should we recover without depend the user to close the browser? This same thing happens the system all around.

      Thanks in advance.

      Charles Abreu

        • 1. Re: Problem with SFSB passivation
          bfo81

          Please show the exception and its stacktrace ;).

          • 2. Re: Problem with SFSB passivation
            chlabreu

            17:56:25,453 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
            javax.faces.FacesException: Error calling action method of component with id cadastro:_id21
            at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
            at javax.faces.component.UICommand.broadcast(UICommand.java:106)
            at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
            at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
            at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:343)
            at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
            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:144)
            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.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.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)
            Caused by: javax.faces.el.EvaluationException: /cep/FormEstado.xhtml @50,48 action="#{estadoAction.cancelar}": java.lang.RuntimeException: j
            ava.io.IOException
            at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:73)
            at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
            ... 27 more
            Caused by: java.lang.RuntimeException: java.io.IOException
            at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:365)
            at org.jboss.ejb3.stateful.StatefulBeanContext.getInstance(StatefulBeanContext.java:309)
            at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:75)
            at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
            at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
            at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
            at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
            at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
            at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
            at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
            at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:199)
            at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
            at $Proxy132.cancelar(Unknown Source)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at com.sun.el.parser.AstValue.invoke(AstValue.java:130)
            at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
            at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
            at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
            ... 28 more
            Caused by: java.io.IOException
            at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:107)
            at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:269)
            at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
            at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
            at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
            at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
            at org.jboss.serial.persister.ArrayPersister.readObjectArray(ArrayPersister.java:196)
            at org.jboss.serial.persister.ArrayPersister.readData(ArrayPersister.java:172)
            at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
            at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
            at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
            at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:165)
            at java.io.ObjectInputStream.readObject(ObjectInputStream.java:343)
            at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
            at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:342)
            ... 48 more
            Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:103)
            ... 62 more
            Caused by: java.lang.ClassCastException: java.util.ArrayList
            at org.jboss.ejb3.stateful.NestedStatefulBeanContext.readExternal(NestedStatefulBeanContext.java:60)
            at org.jboss.serial.persister.ExternalizePersister.readData(ExternalizePersister.java:72)
            at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
            at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
            at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
            at org.jboss.serial.persister.ObjectInputStreamProxy.readObjectOverride(ObjectInputStreamProxy.java:68)
            at java.io.ObjectInputStream.readObject(ObjectInputStream.java:343)
            at java.util.ArrayList.readObject(ArrayList.java:591)
            ... 67 more

            • 3. Re: Problem with SFSB passivation
              chlabreu

              I think it may be related to this issue

              http://jira.jboss.org/jira/browse/JBSEAM-279

              • 4. Re: Problem with SFSB passivation
                chlabreu

                I updated the version of Seam to jboss-seam-CVS.20060801 and the EJB3 to jboss-EJB-3.0_RC8-FD on jboss-4.0.4.GA. The stack trace changed, but the problem remains. It occurs on the seam booking example even, wich makes use of SFSBs. To reproduce the error, navigate the application for a while, wait a few minutes for the bean passivation or timeout, then try to click some action again.

                The stack trace follows:


                10:48:37,421 ERROR [SeamExceptionFilter] uncaught exception handled by Seam
                javax.servlet.ServletException: Error calling action method of component with id _id16:_id18
                at javax.faces.webapp.FacesServlet.service(FacesServlet.java:121)
                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:45)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
                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.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.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)
                10:48:37,421 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
                javax.faces.FacesException: Error calling action method of component with id _id16:_id18
                at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
                at javax.faces.component.UICommand.broadcast(UICommand.java:106)
                at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
                at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
                at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)
                at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
                at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
                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:45)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
                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.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.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)
                Caused by: javax.faces.el.EvaluationException: /hotel.xhtml @42,90 action="#{hotelBooking.bookHotel}": java.lang.RuntimeException: org.jboss
                .serial.exception.SerializationException: Could not create instance of org.jboss.seam.Component - org.jboss.seam.Component
                at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:73)
                at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
                ... 30 more
                Caused by: java.lang.RuntimeException: org.jboss.serial.exception.SerializationException: Could not create instance of org.jboss.seam.Compon
                ent - org.jboss.seam.Component
                at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:365)
                at org.jboss.ejb3.stateful.StatefulBeanContext.getInstance(StatefulBeanContext.java:309)
                at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:75)
                at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
                at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
                at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:188)
                at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
                at $Proxy200.bookHotel(Unknown Source)
                at org.jboss.seam.example.booking.HotelBooking$$FastClassByCGLIB$$c83b792d.invoke()
                at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
                at org.jboss.seam.interceptors.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:73)
                at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:54)
                at org.jboss.seam.ejb.SeamInterceptor.invokeInContexts(SeamInterceptor.java:134)
                at org.jboss.seam.ejb.SeamInterceptor.invoke(SeamInterceptor.java:106)
                at org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:93)
                at org.jboss.seam.interceptors.ClientSideInterceptor.interceptInvocation(ClientSideInterceptor.java:44)
                at org.jboss.seam.interceptors.ClientSideInterceptor.intercept(ClientSideInterceptor.java:38)
                at org.jboss.seam.example.booking.HotelBooking$$EnhancerByCGLIB$$a66b655c.bookHotel()
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:585)
                at com.sun.el.parser.AstValue.invoke(AstValue.java:151)
                at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
                at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
                at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
                ... 31 more
                Caused by: org.jboss.serial.exception.SerializationException: Could not create instance of org.jboss.seam.Component - org.jboss.seam.Compone
                nt
                at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:327)
                at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
                at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
                at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
                at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
                at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
                at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
                at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
                at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
                at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
                at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
                at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
                at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
                at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
                at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
                at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
                at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
                at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
                at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
                at org.jboss.serial.persister.ArrayPersister.readObjectArray(ArrayPersister.java:196)
                at org.jboss.serial.persister.ArrayPersister.readData(ArrayPersister.java:172)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
                at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
                at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:639)
                at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:165)
                at java.io.ObjectInputStream.readObject(ObjectInputStream.java:343)
                at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
                at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:342)
                ... 61 more
                Caused by: java.lang.InstantiationException: org.jboss.seam.Component
                at java.lang.Class.newInstance0(Class.java:335)
                at java.lang.Class.newInstance(Class.java:303)
                at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:319)
                ... 98 more

                • 5. Re: Problem with SFSB passivation

                  Is this problem similar or the same as when the session times out and the @Destroy method is invoked. Then when a user access that page after the time out an exception is thrown and the application is unrecoverable.

                  In doing some testing I discoverd that if when the user is logged in and the session times out, the application becomes unusable. I thought the application server would handle this timeout gracefully and redirect to the login page identifed in the security settings in the web.xml

                  Curious to know.
                  Eric Ray

                  • 6. Re: Problem with SFSB passivation
                    gavin.king

                    This is a bug in Seam that I will fix ASAP (I did not update Seam to sync it with the new stateful interceptors in later revs of EJB3).

                    It is not in any way related to the other things mentioned by c_eric_ray and chlabreu.

                    • 7. Re: Problem with SFSB passivation
                      gavin.king
                      • 8. Re: Problem with SFSB passivation
                        gavin.king

                        I fixed the bug in CVS. Please try it out and let me know if I missed anything.

                        • 9. Re: Problem with SFSB passivation
                          chlabreu

                          Gavin,

                          now I got this:

                          10:02:33,203 ERROR [SimpleStatefulCache] problem passivation thread
                          java.lang.RuntimeException: java.lang.StringIndexOutOfBoundsException: String index out of range: -2
                          at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.prePassivate(LifecycleInterceptorHandler.java:160)
                          at org.jboss.ejb3.stateful.StatefulContainer.invokePrePassivate(StatefulContainer.java:340)
                          at org.jboss.ejb3.stateful.StatefulBeanContext.prePassivate(StatefulBeanContext.java:178)
                          at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.passivateSession(StatefulSessionFilePersistenceManager.java:328
                          )
                          at org.jboss.ejb3.cache.simple.SimpleStatefulCache.passivate(SimpleStatefulCache.java:194)
                          at org.jboss.ejb3.cache.simple.SimpleStatefulCache$SessionTimeoutTask.run(SimpleStatefulCache.java:129)
                          Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -2
                          at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:886)
                          at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:833)
                          at org.jboss.seam.util.Strings.toString(Strings.java:122)
                          at org.jboss.seam.util.Reflections.toString(Reflections.java:63)
                          at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
                          at org.jboss.seam.interceptors.Interceptor.prePassivate(Interceptor.java:143)
                          at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
                          at org.jboss.seam.ejb.SeamInterceptor.invokeInContexts(SeamInterceptor.java:143)
                          at org.jboss.seam.ejb.SeamInterceptor.invoke(SeamInterceptor.java:126)
                          at org.jboss.seam.ejb.SeamInterceptor.prePassivate(SeamInterceptor.java:89)
                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                          at java.lang.reflect.Method.invoke(Method.java:585)
                          at org.jboss.ejb3.interceptor.LifecycleInvocationContextImpl.proceed(LifecycleInvocationContextImpl.java:131)
                          at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.prePassivate(LifecycleInterceptorHandler.java:156)
                          ... 5 more

                          • 10. Re: Problem with SFSB passivation
                            gavin.king

                            OK, fixed that problem, please try again. Thanks.