2 Replies Latest reply on Feb 2, 2011 12:35 PM by cornhoolio22

    ClassCastException under heavy load

    cornhoolio22

      Hi,

       

      I'm looking at the same problems as described here:

      http://community.jboss.org/thread/111357

       

      Under heavy load ClassCastExceptions are thrown.

       

      The situation:

      2 ears on one server (4.2.3, jbm 1.4.5, jboss-remoting 2.2.3.SP1) calling the same ejb on another appserver (same configuration) with the same value object.

      When producing heavy load on ear 1 (10 threads parallel as clients) and then calling one time ear 2, a ClassCastException is thrown. Will list it below the text.

       

      I found a fix for the problem in https://issues.jboss.org/browse/JBREM-900. This fix seems not to be in the 2.2.3SP1 nor in the 2.2.3.SP3 release.

       

      I also read in the JIRA (http://community.jboss.org/message/583757) that there will be a 2.2.3SP4 release (hope soon ;-) ) and found a preversion from Ron (https://issues.jboss.org/browse/JBREM-1144). But the fix is also not in there (the test fails again).

       

      When I use the 2.4.0.SP1 remoting version, the test succeeds. But the Messaging System is not able to work with this version, because of changes in the Client class (the connect method params were changed).

       

      Is it possible, to release the Bugfix described in https://issues.jboss.org/browse/JBREM-900 with the 2.2.3.SP4 release?

       

      Thx and Regards,

      Markus

       

       

      javax.ejb.EJBException: java.lang.ClassCastException:

       

      org.cornhoolio22.ejbclassloadertestservice.ejbclassloadertestservice_calledclient.dto.CalledDto cannot be cast to org.cornhoolio22.ejbclassloadertestservice.ejbclassloadertestservice_calledclient.dto.CalledDto

          at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63)

          at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)

          at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)

          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:110)

          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 com.oneandone.coredev.swistec.cxfinterceptor.CxfInterceptorSpringBusCleanup.invoke(CxfInterceptorSpringBusCleanup.java:109)

          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.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:304)

          at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)

          at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)

          at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:900)

          at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:634)

          at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:409)

          at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:176)

      Caused by: java.lang.ClassCastException: org.cornhoolio22.ejbclassloadertestservice.ejbclassloadertestservice_calledclient.dto.CalledDto cannot be cast to org.cornhoolio22.ejbclassloadertestservice.ejbclassloadertestservice_calledclient.dto.CalledDto

          at $Proxy336.callService(Unknown Source)

          at org.cornhoolio22.ejbclassloadertestservice.ejbclassloadertestservice_callejb2.impl.ServiceBean.callService(ServiceBean.java:38)

          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:597)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)

          at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)

          at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)

          at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)

          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:110)

          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 com.oneandone.coredev.swistec.cxfinterceptor.CxfInterceptorSpringBusCleanup.invoke(CxfInterceptorSpringBusCleanup.java:109)

          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.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:304)

          at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)

          at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)

          at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:900)

          at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:634)

          at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:409)

          at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:176)

          at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163)

          at org.jboss.remoting.Client.invoke(Client.java:1634)

          at org.jboss.remoting.Client.invoke(Client.java:548)

          at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)

          at $Proxy4.callService(Unknown Source)

          at org.cornhoolio22.ejbclassloadertestservice.ejbclassloadertestservice_callejb2.SampleServiceTestCall3.testSampleServiceCall3(SampleServiceTestCall3.java:48)

          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:597)

          at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)

          at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)

          at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)

          at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)

          at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)

          at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)

          at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)

          at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)

          at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)

          at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)

          at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)

          at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)

          at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

          at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

          at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)

          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)

          at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)

          at $Proxy4.callService(Unknown Source)

          at org.cornhoolio22.ejbclassloadertestservice.ejbclassloadertestservice_callejb2.SampleServiceTestCall3.testSampleServiceCall3(SampleServiceTestCall3.java:48)

          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:597)

          at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)

          at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)

          at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)

          at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)

          at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)

          at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)

          at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)

          at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)

          at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)

          at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)

          at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)

          at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)

          at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

          at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)