2 Replies Latest reply on Dec 4, 2009 7:37 AM by bsgcic

    Exception on @Destroy method causes jboss server to stall

    troy.sellers
      Hi,

      We have a seam 2.02 app running on JBoss EAP-4.3_CP02_FP1 that, when left alone without any hits for a little while will throw an exception when calling the @Destroy method of one of our stateful components.

      The stack trace doesn't really give me much of an idea, I was hoping that someone who is more knowledgeable of such things could have a look and possible suggestions? I am completely stumped as to what is going on here.  The method marked @Destroy (also @Remove) simply has a logger.info statement in it saying that it is destroying.

      The really worrying thing about this is that it seems to stop the server. The process is still visible when doing ps aux \| grep jboss but the /etc/init.d/jboss restart command will fail to stop the server.  A kill -9 must be issued to stop it. Obviously, in this state it also doesn't react to further requests from the web.


      2009-01-15 00:00:00,717 WARN  [org.jboss.seam.Component\] Exception calling component @Destroy method: menuManager
      java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException
              at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postActivate(LifecycleInterceptorHandler.java:152)
              at org.jboss.ejb3.stateful.StatefulContainer.invokePostActivate(StatefulContainer.java:402)
              at org.jboss.ejb3.stateful.StatefulBeanContext.postActivate(StatefulBeanContext.java:385)
              at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.activateSession(StatefulSessionFilePersistenceManager.java:316)
              at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:387)
              at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:375)
              at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:61)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
              at org.jboss.ejb3.stateful.StatefulRemoveInterceptor.invoke(StatefulRemoveInterceptor.java:97)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
              at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
              at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
              at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
              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:206)
              at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:117)
              at $Proxy120.destroy(Unknown Source)
              at sun.reflect.GeneratedMethodAccessor1594.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
              at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
              at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
              at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:43)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
              at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
              at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
              at org.javassist.tmp.java.lang.Object_$$_javassist_9.destroy(Object_$$_javassist_9.java)
              at sun.reflect.GeneratedMethodAccessor1597.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
              at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
              at org.jboss.seam.Component.callComponentMethod(Component.java:2211)
              at org.jboss.seam.Component.callDestroyMethod(Component.java:2142)
              at org.jboss.seam.Component.destroy(Component.java:1436)
              at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
              at org.jboss.seam.contexts.Contexts.destroyConversationContext(Contexts.java:413)
              at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:258)
              at org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:146)
              at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:58)
              at org.apache.catalina.session.StandardSession.expire(StandardSession.java:702)
              at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592)
              at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:682)
              at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:667)
              at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1270)
              at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1555)
              at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1564)
              at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1564)
              at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1544)
              at java.lang.Thread.run(Thread.java:595)
      Caused by: java.lang.RuntimeException: java.io.IOException
              at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:819)
              at org.jboss.ejb3.stateful.StatefulBeanContext.getInterceptorInstances(StatefulBeanContext.java:778)
              at org.jboss.ejb3.interceptor.LifecycleInvocationContextImpl.getLifecycleInvocationContext(LifecycleInvocationContextImpl.java:65)
              at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postActivate(LifecycleInterceptorHandler.java:143)
              ... 54 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:412)
              at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
              at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
              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:412)
              at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
              at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
              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:412)
              at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
              at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
              at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
              at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
              at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:790)
              ... 57 more
      Caused by: java.lang.reflect.InvocationTargetException
              at sun.reflect.GeneratedMethodAccessor1596.invoke(Unknown Source)
              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)
              ... 77 more
      Caused by: org.jboss.serial.exception.SerializationException: Could not create instance of com.yum.matador.entity.Variety - com.yum.matador.entity.Variety
              at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:342)
              at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
              at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
              at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
              at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
              at org.jboss.serial.persister.ObjectInputStreamProxy.readObjectOverride(ObjectInputStreamProxy.java:68)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:342)
              at java.util.ArrayList.readObject(ArrayList.java:591)
              ... 81 more
      Caused by: java.lang.InstantiationException: com.yum.matador.entity.Variety
              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:334)
              ... 88 more

      Any ideas on what this problem could be?