10 Replies Latest reply on Sep 7, 2011 6:47 AM by lconceic

    Could not deserialize info in timer

    saranganajwala

      I am getting following error while trying to deploy EJB Timer in JBossAS6.0.0.Final. The timers are working in JBoss4.2.2.GA.

      Any pointers? Tried searching forums and found that this issue was occuring in older version and is resolved in 6.0.0.Final version. "com.mycompany.ce.dm.timerservice.TimerSrvc" is my TimerService EJB implemetation whcih works fine in 4.2.2. Are some specific chanegs required for migration from 4.2.2 to 6.0.0?

       

      16:43:26,716 WARN  [TimerServiceContainer] EJBTHREE-2193: using deprecated TimerServiceFactory for restoring timers

      16:43:28,076 ERROR [AbstractKernelController] Error installing to Start: name=jboss.j2ee:ear=MyProjApplicationEAR.ear,jar=MyProjDMService.jar,name=TimerSrvcEJB,service=EJB3 state=Create: java.lang.RuntimeException: Could not deserialize info in timer

          at org.jboss.ejb3.timerservice.mk2.TimerImpl.deserialize(TimerImpl.java:724) [:1.0.0-alpha-13]

          at org.jboss.ejb3.timerservice.mk2.TimerImpl.<init>(TimerImpl.java:185) [:1.0.0-alpha-13]

          at org.jboss.ejb3.timerservice.mk2.TimerServiceImpl.getActiveTimers(TimerServiceImpl.java:1002) [:1.0.0-alpha-13]

          at org.jboss.ejb3.timerservice.mk2.TimerServiceImpl.restoreTimers(TimerServiceImpl.java:738) [:1.0.0-alpha-13]

          at org.jboss.ejb3.timerservice.mk2.TimerServiceFactoryImpl.restoreTimerService(TimerServiceFactoryImpl.java:123) [:1.0.0-alpha-13]

          at org.jboss.ejb3.TimerServiceContainer.restoreTimerService(TimerServiceContainer.java:244) [:1.7.17]

          at org.jboss.ejb3.TimerServiceContainer.afterStart(TimerServiceContainer.java:129) [:1.7.17]

          at org.jboss.ejb3.EJBContainer.start(EJBContainer.java:1113) [:1.7.17]

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_20]

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_20]

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_20]

          at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_20]

          at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:60) [jboss-reflect.jar:2.2.0.GA]

          at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:168) [jboss-reflect.jar:2.2.0.GA]

          at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66) [jboss-reflect.jar:2.2.0.GA]

          at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:257) [jboss-kernel.jar:2.2.0.GA]

          at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47) [jboss-kernel.jar:2.2.0.GA]

          at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:125) [jboss-kernel.jar:2.2.0.GA]

          at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:72) [jboss-kernel.jar:2.2.0.GA]

          at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:202) [jboss-kernel.jar:2.2.0.GA]

          at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.GA]

          at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:894) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:641) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:182) [:2.2.0.GA]

          at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:58) [:2.2.0.GA]

          at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62) [:2.2.0.GA]

          at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55) [:2.2.0.GA]

          at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) [:2.2.0.GA]

          at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1832) [:2.2.0.GA]

          at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1550) [:2.2.0.GA]

          at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1571) [:2.2.0.GA]

          at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1603) [:2.2.0.GA]

          at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1491) [:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983) [:2.2.0.GA]

          at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076) [:2.2.0.GA]

          at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679) [:2.2.0.GA]

          at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106) [:6.0.0.Final]

          at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:143) [:0.2.2]

          at org.jboss.profileservice.dependency.ProfileDeployAction.deploy(ProfileDeployAction.java:151) [:0.2.2]

          at org.jboss.profileservice.dependency.ProfileDeployAction.installActionInternal(ProfileDeployAction.java:94) [:0.2.2]

          at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.GA]

          at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]

          at org.jboss.profileservice.dependency.ProfileActivationWrapper$BasicProfileActivation.start(ProfileActivationWrapper.java:190) [:0.2.2]

          at org.jboss.profileservice.dependency.ProfileActivationWrapper.start(ProfileActivationWrapper.java:87) [:0.2.2]

          at org.jboss.profileservice.dependency.ProfileActivationService.activateProfile(ProfileActivationService.java:215) [:0.2.2]

          at org.jboss.profileservice.dependency.ProfileActivationService.activate(ProfileActivationService.java:159) [:0.2.2]

          at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.activate(AbstractProfileServiceBootstrap.java:112) [:0.2.2]

          at org.jboss.profileservice.resolver.BasicResolverFactory$ProfileResolverFacade.deploy(BasicResolverFactory.java:87) [:0.2.2]

          at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.start(AbstractProfileServiceBootstrap.java:91) [:0.2.2]

          at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:132) [:6.0.0.Final]

          at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56) [:6.0.0.Final]

          at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]

          at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-5]

          at java.lang.Thread.run(Thread.java:619) [:1.6.0_20]

      Caused by: java.lang.ClassNotFoundException: com.mycompany.ce.dm.timerservice.TimerSrvc

          at java.net.URLClassLoader$1.run(URLClassLoader.java:202) [:1.6.0_20]

          at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_20]

          at java.net.URLClassLoader.findClass(URLClassLoader.java:190) [:1.6.0_20]

          at java.lang.ClassLoader.loadClass(ClassLoader.java:307) [:1.6.0_20]

          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) [:1.6.0_20]

          at java.lang.ClassLoader.loadClass(ClassLoader.java:248) [:1.6.0_20]

          at java.lang.Class.forName0(Native Method) [:1.6.0_20]

          at java.lang.Class.forName(Class.java:247) [:1.6.0_20]

          at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:284) [jboss-classloader.jar:2.2.0.GA]

          at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1152) [jboss-classloader.jar:2.2.0.GA]

          at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:886) [jboss-classloader.jar:2.2.0.GA]

          at org.jboss.classloader.spi.base.BaseClassLoader.doLoadClass(BaseClassLoader.java:505) [jboss-classloader.jar:2.2.0.GA]

          at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:450) [jboss-classloader.jar:2.2.0.GA]

          at java.lang.ClassLoader.loadClass(ClassLoader.java:248) [:1.6.0_20]

          at java.lang.Class.forName0(Native Method) [:1.6.0_20]

          at java.lang.Class.forName(Class.java:247) [:1.6.0_20]

          at java.io.ObjectInputStream.resolveProxyClass(ObjectInputStream.java:676) [:1.6.0_20]

          at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531) [:1.6.0_20]

          at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493) [:1.6.0_20]

          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) [:1.6.0_20]

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) [:1.6.0_20]

          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) [:1.6.0_20]

          at java.util.HashMap.readObject(HashMap.java:1030) [:1.6.0_20]

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_20]

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_20]

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_20]

          at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_20]

          at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) [:1.6.0_20]

          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) [:1.6.0_20]

          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) [:1.6.0_20]

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) [:1.6.0_20]

          at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) [:1.6.0_20]

          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) [:1.6.0_20]

          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) [:1.6.0_20]

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) [:1.6.0_20]

          at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947) [:1.6.0_20]

          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871) [:1.6.0_20]

          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) [:1.6.0_20]

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) [:1.6.0_20]

          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) [:1.6.0_20]

          at org.jboss.ejb3.timerservice.mk2.TimerImpl.deserialize(TimerImpl.java:716) [:1.0.0-alpha-13]

          ... 82 more

        • 1. Could not deserialize info in timer
          jaikiran

          Sarang Anajwala wrote:

           

          "com.mycompany.ce.dm.timerservice.TimerSrvc" is my TimerService EJB implemetation

          You mean, an object of that class is added as the serializable info of your timer?

           

           

          Sarang Anajwala wrote:

           


          Caused by: java.lang.ClassNotFoundException: com.mycompany.ce.dm.timerservice.TimerSrvc

          Where exactly is that class located?

          • 2. Could not deserialize info in timer
            saranganajwala

            Hi Jaikiran,

             

            Thanks for quick response and apoloigies for posting the query in two threads.

            Regarding 'com.mycompany.ce.dm.timerservice.TimerSrvc', yes this is my application specific TimeService implementation and it's object reference goes in TimerInfo. [not an ideal thing... wanna refactor the code to remove it as soon as possible ]

            However, the class is available in the classpath (in EAR). (I am runing it successfully in 4.2.2.)

             

            This issue seems to be same as JBAS-8671 & EJBTHREE-2193.

            I quickly debugged the code and found that 'org.jboss.ejb3.timerservice.mk2.TimerServiceFactoryImpl' (1.0.0-alpha-13) implements 'org.jboss.ejb3.timerservice.spi.TimerServiceFactory'.

            Based on Carlo's fix dated 04/Nov/10 5:19 AM in EJBTHREE-2193 (changeset 109113), I inferred that TimerServiceFactoryImpl should implement 'org.jboss.ejb3.timerservice.spi.TimerServiceFactory_2'. Is that correct understanding?

             

            Please let me know if a latest version of 'jboss-ejb3-timerservice-mk2' (after 1.0.0-alpha-13) is available in jboss-svn? I found the source code jar only in github so couldn't check if a latest version is available for the same. I could not find in anonsvn.jboss.org.

             

            Thanks,

            Sarang

            • 3. Could not deserialize info in timer
              jaikiran

              Sarang Anajwala wrote:

               

              Hi Jaikiran,

               


              This issue seems to be same as JBAS-8671 & EJBTHREE-2193.

              I quickly debugged the code and found that 'org.jboss.ejb3.timerservice.mk2.TimerServiceFactoryImpl' (1.0.0-alpha-13) implements 'org.jboss.ejb3.timerservice.spi.TimerServiceFactory'.

              Based on Carlo's fix dated 04/Nov/10 5:19 AM in EJBTHREE-2193 (changeset 109113), I inferred that TimerServiceFactoryImpl should implement 'org.jboss.ejb3.timerservice.spi.TimerServiceFactory_2'. Is that correct understanding?

              Yes, that needs to change. But I'm still not sure that you are running into this issue (although you might be). So I'm trying to first figure out your application packaging.

               

               

               

              Sarang Anajwala wrote:

               

              Hi Jaikiran,

               


              However, the class is available in the classpath (in EAR). (I am runing it successfully in 4.2.2.)

               

              Where exactly in the .ear? Same jar as the TimerSrvcEJB bean?

              • 4. Could not deserialize info in timer
                saranganajwala
                So I'm trying to first figure out your application packaging.

                 

                My application packaging is something like this.

                 

                MyApplicationEAR

                     - MyTimerAppJAR: This jar contains TimerSrvc & TimerSrvcEJB. Also it contains TimerInfo object which contains an object MyAppObject.class which has reference of TimerSrvc object.

                • 5. Could not deserialize info in timer
                  jaikiran

                  Sarang Anajwala wrote:

                   

                   

                  My application packaging is something like this.

                   

                  MyApplicationEAR

                       - MyTimerAppJAR: This jar contains TimerSrvc & TimerSrvcEJB. Also it contains TimerInfo object which contains an object MyAppObject.class which has reference of TimerSrvc object.

                  Is MyTimerAppJAR == MyProjDMService.jar?

                  • 6. Could not deserialize info in timer
                    saranganajwala
                    Is MyTimerAppJAR == MyProjDMService.jar?

                    Yes.

                    • 7. Could not deserialize info in timer
                      saranganajwala

                      Hi Jaikiran,

                      any pointers towards this?

                      • 8. Could not deserialize info in timer
                        jaikiran

                        Sorry, forgot about this. Will take a look at this one, this week and update this thread.

                        • 9. Could not deserialize info in timer
                          saranganajwala

                          Hi Jaikiran,

                          Any pointers in this issue?

                           

                          Regards,

                          Sarang

                          • 10. Re: Could not deserialize info in timer
                            lconceic

                            Hi Jaikiran,

                             

                            This is still on JBOSS 6.1 Final. Will it be fixed?

                             

                            Regards,