11 Replies Latest reply on Apr 17, 2009 5:27 AM by ron_sigal

    org.jboss.remoting.marshal.InvalidMarshallingResource: Can n

    sridhargoud_k

      Hi,
      Am using "SourceInfo.java" It is a transfer object containing some elementary details of a Source.It is created so as to transfer the data across, in a SOAP friendly manner.
      This clas is being deployed as part of .ejb3 jar file on jboss server.When the server is running am getting the following exception seldomly.

      org.jboss.remoting.marshal.InvalidMarshallingResource: Can not find a valid marshaller for data type: serializable
       at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:79)
       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 $Proxy0.getSourcesInfo(Unknown Source)
       at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       at com.barco.cms.dependency.CmsPerspectiveMgt$PerspectiveMgtInvocationHandler.invokeMethod(Unknown Source)
       at com.barco.cms.dependency.CmsPerspectiveMgt$PerspectiveMgtInvocationHandler.invoke(Unknown Source)
       at $Proxy1.getSourcesInfo(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.pool.SourcePool.getSourceInfo(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.impl.ProxySource.getSourceInfo(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.impl.ProxySource.isOnline(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.SourceEventSupport.onSourcePropertyChanged(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.SourceEventSupport.onPropertyChanged(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.SourceEventSupport.fireEvent(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.impl.ProxySource.fireEvent(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.PerspectiveMgtEventReader.fireEvent(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.PerspectiveMgtEventReader.access$700(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.PerspectiveMgtEventReader$EventProcessor.run(Unknown Source)
       at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
       at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
       at java.util.concurrent.FutureTask.run(Unknown Source)
       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 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 $Proxy0.getSourcesInfo(Unknown Source)
       at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       at com.barco.cms.dependency.CmsPerspectiveMgt$PerspectiveMgtInvocationHandler.invokeMethod(Unknown Source)
       at com.barco.cms.dependency.CmsPerspectiveMgt$PerspectiveMgtInvocationHandler.invoke(Unknown Source)
       at $Proxy1.getSourcesInfo(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.pool.SourcePool.getSourceInfo(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.impl.ProxySource.getSourceInfo(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.impl.ProxySource.isOnline(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.SourceEventSupport.onSourcePropertyChanged(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.SourceEventSupport.onPropertyChanged(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.SourceEventSupport.fireEvent(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.impl.ProxySource.fireEvent(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.PerspectiveMgtEventReader.fireEvent(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.PerspectiveMgtEventReader.access$700(Unknown Source)
       at com.barco.cms.perspectivemgtproxy.eventsupport.PerspectiveMgtEventReader$EventProcessor.run(Unknown Source)
       at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
       at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
       at java.util.concurrent.FutureTask.run(Unknown Source)
       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)
      


        • 1. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
          ron_sigal

          This is a very strange exception, since the existence of a marshaller for the "serializable" datatype is hard coded in Remoting. If you go to $JBOSS_HOME/server/$CONFIG/lib and type

          java -jar jboss-remoting.jar

          you'll get the version of Remoting. What is it?

          What version of the Application Server are you using?

          Have you changed the configuration of the EJB3 component in any way?

          Have you changed anything else?

          Strange ...

          • 2. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
            sridhargoud_k

            Remoting version is JBossRemoting Version 2.2.2.SP1 (Bluto)
            Application server is JBoss [Trinity] 4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)

            I have not changed any thing else in jboss Configuration.

            • 3. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
              vink

              This problem still persists. Is there any update from the latest releases of remoting. It is also reproducible on 2.2.2.SP10.

              • 4. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
                mindflyer

                We have this exception too. Our application is JBoss EJB3 + rich client application. JBoss 4.2.2.GA; JBossRemoting Version 2.2.2.SP10
                Most of the time everything is OK, but sometimes this exception occurs. It can occur and then disappear in one instance of client app without restarting client and server.
                Sometimes it is problem for our customer.

                Caused by: org.jboss.remoting.marshal.InvalidMarshallingResource: Can not find a valid marshaller for data type: serializable
                 at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:79)
                 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 net.uk.topdog.td2.security.clientserver.SecurityInterceptor.invoke(SecurityInterceptor.java:37)
                 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)
                


                • 5. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
                  vink

                  I've tried JBoss 4.2.2.GA with Remoting 2.4.0.SP1 & fortunately I've not seen this exception so far.

                  Simply using remoting jar will not work. You need to repackage jbossall-client.jar with this new version of remoting library. May be then it may also works with your version of remoting.

                  Cheers.

                  • 6. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
                    ron_sigal

                    The only problem I can see that might explain this issue is the fact that the Maps that store marshallers and unmarshallers in org.jboss.remoting.marshal.MarshalFactory are not synchronized. So, it's possible that a subsystem such as JBossMarshalling or EJB2 could be adding a marshaller at the same time that EJB3 is obtaining a marshaller.

                    I've created a JIRA issue, JBREM-1072 (https://jira.jboss.org/jira/browse/JBREM-1072) to track this problem, and I've attached to it a preview version of jboss-remoting.jar (2.2.2.SP11) in which the Maps are made synchronized.

                    I'd appreciate it if someone could try it out. Note the previous comment:

                    "vink" wrote:

                    Simply using remoting jar will not work. You need to repackage jbossall-client.jar with this new version of remoting library.


                    • 7. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
                      mindflyer

                       

                      "ron.sigal@jboss.com" wrote:

                      I've created a JIRA issue, JBREM-1072 (https://jira.jboss.org/jira/browse/JBREM-1072) to track this problem, and I've attached to it a preview version of jboss-remoting.jar (2.2.2.SP11) in which the Maps are made synchronized.
                      I'd appreciate it if someone could try it out.


                      Thanks. I will try to use 2.2.2.SP11 and will write about results.

                      • 8. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
                        vink

                        I've tried 2.2.2.SP11 as it is stable for threads but invalid marshal is reproducible. So, I rollback to 2.4.0.SP1.

                        • 9. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
                          ron_sigal

                          Thanks to a comment by "roirex" on JBREM-1072, I think the problem should be solved. See JBREM-1109 " Eliminate race in MicroRemoteClientInvoker.getDataType()", where I attached a copy of jboss-remoting.jar with the fix.

                          • 10. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C

                            We have the same problem with a customer's installation. How can I repack the jbossall-client.jar so that the patched jboss-remoting.jar is used.

                            For a start I removed jbossall-client.jar from the project and added all jars seperatly including the new jboss-remoting.jar.

                            When will a JBoss 4.2.4 be released which fixes that issue?

                            • 11. Re: org.jboss.remoting.marshal.InvalidMarshallingResource: C
                              ron_sigal

                               

                              "peter_pinnau" wrote:

                              How can I repack the jbossall-client.jar so that the patched jboss-remoting.jar is used.


                              Probably the easiest thing to do is just put the new jboss-remoting.jar in front of jbossall-client.jar in the classpath. Or, you could unpack jbossall-client.jar, delete org/jboss/remoting, unpack jboss-remoting.jar in the same directory, and then pack it up again.

                              "peter_pinnau" wrote:

                              When will a JBoss 4.2.4 be released which fixes that issue?


                              I assume you're talking about the community Application Server and not the Enterprise Application Platform (EAP). EAP 4.2/4.3 (based on AS 4.2) will be around for some time, since it's intended to provide long term stability, but I doubt (without knowing for sure) whether there will ever be a 4.2.4 AS. All the energy is going into 5.x these days.