StreamCorruptedException in DTM testcase
reverbel Oct 27, 2005 4:47 PMI am getting weird a java.io.StreamCorruptedException in a DTM testcase. This is a recent thing, it started to happen after a CVS update. A stack trace is included below.
To reproduce the problem in a JBoss QA lab box, check out jboss-head, uncomment the definitions for node0 and node1 in testsuite/local.properties, and run './build.sh dtm-tests' in the testsuite dir. More detailed instructions are available in http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossJTSRegressionTests .
The exception is thrown in the third testcase in a dtm-tests run (T03MixedDTMOTSUnitTestCase). However, it does not appear when you run just that testcase. For some reason it only shows up when testcase T03 runs after testcases T01 and T02. For a shorter run, you might want to edit testsuite/build.xml and remove the testcases that follow T03.
Thanks and cheers,
Francisco
PS: Here is the stack trace. It also shows a NPE in AbstractDetector. This NPE does not cause any test to fail, but I am getting it many times.
2005-10-27 14:15:29,395 ERROR [org.jboss.remoting.transport.socket.SocketClientInvoker] Got marshalling excep\ tion, exiting java.io.StreamCorruptedException at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1293) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339) at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializatio\ nManager.java:91) at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.jav\ a:46) at org.jboss.invocation.unified.marshall.InvocationUnMarshaller.read(InvocationUnMarshaller.java:33) at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:246) at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:112) at org.jboss.remoting.Client.invoke(Client.java:226) at org.jboss.remoting.Client.invoke(Client.java:189) at org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.invoke(UnifiedInvokerProxy.java:146) at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:227) at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:167) at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46) at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55) at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:169) at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:87) at $Proxy54.create(Unknown Source) at org.jboss.test.dtm.ejb.FrontEndBean.initAccounts(FrontEndBean.java:150) at org.jboss.test.dtm.ejb.FrontEndBean.ejbCreate(FrontEndBean.java:45) at org.jboss.test.dtm.ejb.FrontEndBean.ejbCreate(FrontEndBean.java:34) 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.invocation.Invocation.performCall(Invocation.java:345) at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invokeHome(StatefulSessionContainer.ja\ va:527) at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:130) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterc\ eptor.java:180) at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invokeHome(StatefulSessionInstanceInterce\ ptor.java:128) at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:41) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:110) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335) at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:146) at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:121) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:\ 93) at org.jboss.ejb.SessionContainer.internalInvokeHome(SessionContainer.java:611) at org.jboss.ejb.Container.invoke(Container.java:895) at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:143) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:82) at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:247) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:653) at org.jboss.invocation.unified.server.UnifiedInvoker.invoke(UnifiedInvoker.java:211) at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:143) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:82) at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:247) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:653) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) at $Proxy12.invoke(Unknown Source) at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:566) at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:436) at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:270) at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:308) at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:188) 2005-10-27 14:15:29,404 ERROR [org.jboss.ejb.plugins.LogInterceptor] EJBException in method: public abstract \ org.jboss.test.dtm.interfaces.FrontEnd org.jboss.test.dtm.interfaces.FrontEndHome.create(java.lang.String) th\ rows java.rmi.RemoteException,javax.ejb.CreateException, causedBy: java.rmi.MarshalException: Failed to communicate. Problem during marshalling/unmarshalling; nested exception\ is: java.io.StreamCorruptedException at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:273) at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:112) at org.jboss.remoting.Client.invoke(Client.java:226) at org.jboss.remoting.Client.invoke(Client.java:189) at org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.invoke(UnifiedInvokerProxy.java:146) at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:227) at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:167) at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46) at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55) at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:169) at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:87) at $Proxy54.create(Unknown Source) at org.jboss.test.dtm.ejb.FrontEndBean.initAccounts(FrontEndBean.java:150) at org.jboss.test.dtm.ejb.FrontEndBean.ejbCreate(FrontEndBean.java:45) at org.jboss.test.dtm.ejb.FrontEndBean.ejbCreate(FrontEndBean.java:34) 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.ejb.StatefulSessionContainer.createSession(StatefulSessionContainer.java:256) at org.jboss.ejb.StatefulSessionContainer.createHome(StatefulSessionContainer.java:315) 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.invocation.Invocation.performCall(Invocation.java:345) at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invokeHome(StatefulSessionContainer.ja\ va:527) at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:130) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterc\ eptor.java:180) at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invokeHome(StatefulSessionInstanceInterce\ ptor.java:128) at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:41) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:110) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335) at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:146) at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:121) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:\ 93) at org.jboss.ejb.SessionContainer.internalInvokeHome(SessionContainer.java:611) at org.jboss.ejb.Container.invoke(Container.java:895) at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:143) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:82) at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:247) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:653) at org.jboss.invocation.unified.server.UnifiedInvoker.invoke(UnifiedInvoker.java:211) at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:143) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:82) at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:247) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:653) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201) at $Proxy12.invoke(Unknown Source) at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:566) at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:436) at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:270) at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:308) at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:188) Caused by: java.io.StreamCorruptedException at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1326) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1293) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339) at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializatio\ nManager.java:91) at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.jav\ a:46) at org.jboss.invocation.unified.marshall.InvocationUnMarshaller.read(InvocationUnMarshaller.java:33) at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:246) ... 61 more 2005-10-27 14:15:29,502 DEBUG [org.jboss.ejb.StatefulSessionContainer] Created new session ID: efbcyl7i-37 2005-10-27 14:15:29,502 DEBUG [org.jboss.ejb.StatefulSessionContainer] Using create method for session: publi\ c void org.jboss.test.dtm.ejb.FrontEndBean.ejbCreate(java.lang.String) 2005-10-27 14:15:29,502 DEBUG [org.jboss.test.dtm.ejb.FrontEndBean#testRolledbackTx] ejbCreate(testRolledback\ Tx), ctx=org.jboss.ejb.StatefulSessionEnterpriseContext$StatefulSessionContextImpl@8a6351 2005-10-27 14:15:29,517 ERROR [jacorb.orb] no adapter activator exists for EJBHome&%dtmiioptest&%AccountEJB 2005-10-27 14:15:29,587 ERROR [jacorb.orb] no adapter activator exists for EJBHome&%dtmiioptest&%AccountEJB 2005-10-27 14:15:29,597 DEBUG [org.jboss.proxy.ejb.ProxyFactory] seting invoker proxy binding for stateful se\ ssion: stateless-unified-invoker 2005-10-27 14:15:29,702 DEBUG [org.jboss.remoting.detection.multicast.MulticastDetector] Error receiving dete\ ction java.lang.NullPointerException at org.jboss.remoting.detection.AbstractDetector.isRemoteDetection(AbstractDetector.java:450) at org.jboss.remoting.detection.AbstractDetector.detect(AbstractDetector.java:383) at org.jboss.remoting.detection.multicast.MulticastDetector.listen(MulticastDetector.java:219) at org.jboss.remoting.detection.multicast.MulticastDetector.access$100(MulticastDetector.java:30) at org.jboss.remoting.detection.multicast.MulticastDetector$Listener.run(MulticastDetector.java:247) 2005-10-27 14:15:29,851 DEBUG [jacorb.org.giop] ServerRequest: reply to register_resource 2005-10-27 14:15:29,874 DEBUG [jacorb.org.giop] ServerRequest: reply to register_resource