10 Replies Latest reply on Aug 3, 2006 10:45 AM by Gavin King

    Problem with SFSB passivation

    Charles Abreu Newbie

      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
          hdslkf hklsdg Apprentice

          Please show the exception and its stacktrace ;).

          • 2. Re: Problem with SFSB passivation
            Charles Abreu Newbie

            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

            • 4. Re: Problem with SFSB passivation
              Charles Abreu Newbie

              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
                Eric Ray Novice

                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 Master

                  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.

                  • 8. Re: Problem with SFSB passivation
                    Gavin King Master

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

                    • 9. Re: Problem with SFSB passivation
                      Charles Abreu Newbie

                      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 Master

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