SerializationException on JBoss EAP

Solution Verified - Updated -

Issue

  • Scenario:
        import org.jboss.annotation.ejb.Service;
        import javax.ejb.EJB;

        An @Service annotated bean calls via injection (@EJB) another @Service bean. The return of that method is of type java.io.File.
  • The following error can be seen in the server.log:
        java.lang.reflect.UndeclaredThrowableException     
            at $Proxy119.getFile(Unknown Source)        
            at aaa.bbb.ccc.ddd.eee.WorkerProcessFactoryBean.getClassPath(WorkerProcessFactoryBean.java:144)        
            at aaa.bbb.ccc.ddd.eee.WorkerProcessFactoryBean.newProcess(WorkerProcessFactoryBean.java:290)        
            at aaa.bbb.ccc.ddd.eee.ThreadProcessState.startProcessIfNeeded(ThreadProcessState.java:188)        
            at aaa.bbb.ccc.ddd.eee.ThreadProcessState.runTask(ThreadProcessState.java:385)        
            at aaa.bbb.ccc.ddd.eee.ThreadProcessState.ping(ThreadProcessState.java:293)        
            at aaa.bbb.ccc.ddd.eee.ThreadProcessState.afterTask(ThreadProcessState.java:352)        
            at aaa.bbb.ccc.ddd.eee.WorkerProcessThreadPoolExecutor.afterExecute(WorkerProcessThreadPoolExecutor.java:48)        
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)        
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)        
            at java.lang.Thread.run(Unknown Source)        
            at aaa.bbb.ccc.ddd.eee.WorkerProcessThread.run(WorkerProcessThread.java:186)        
        Caused by: java.io.IOException        
            at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:109)        
            at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:286)        
            at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:258)        
            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$DataContainerInput.readObject(DataContainer.java:847)        
            at org.jboss.serial.io.MarshalledObjectForLocalCalls.get(MarshalledObjectForLocalCalls.java:60)        
            at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:96)        
            at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)        
            at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)        
            at org.jboss.ejb3.service.ServiceRemoteProxy.invoke(ServiceRemoteProxy.java:97)
                    ... 12 more

        Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:105)
                  ... 22 more

        Caused by: org.jboss.serial.exception.SerializationException: Excepted to be int
            at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readInt(DataContainer.java:1050)
            at org.jboss.serial.persister.ObjectInputStreamProxy.readInt(ObjectInputStreamProxy.java:156)
            at org.jboss.serial.objectmetamodel.FieldsContainer.readMyself(FieldsContainer.java:214)
            at org.jboss.serial.persister.ObjectInputStreamProxy.readFields(ObjectInputStreamProxy.java:224)
            at java.io.File.readObject(Unknown Source)
                    ... 27 more

        Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.jboss.serial.finalcontainers.IntegerContainer
            at org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readInt(DataContainer.java:1046)

                    ... 31 more
  • or following error occurs in the logs :
2013-09-26 01:32:51,674 DEBUG [org.jboss.serial.persister.RegularObjectPersister] (WorkerThread#0[172.18.66.179:36794]) defaultRead::slot[0]=java.util.Vector
2013-09-26 01:32:51,674 DEBUG [org.jboss.serial.persister.RegularObjectPersister] (WorkerThread#0[172.18.66.179:36794]) readSlotWithFields slot=java.util.Vector
2013-09-26 01:32:51,674 DEBUG [org.jboss.serial.persister.RegularObjectPersister] (WorkerThread#0[172.18.66.179:36794]) FieldName on Read=elementData
2013-09-26 01:32:51,674 DEBUG [org.jboss.serial.persister.RegularObjectPersister] (WorkerThread#0[172.18.66.179:36794]) readSlotWithFields slot=java.util.Vector field=elementData<<-reading Object

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 4.3
    • 5.x
  • JDK 6 Update 19+, JDK 7

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.