11 Replies Latest reply on Jul 31, 2008 12:49 PM by alexgalvan

    java.lang.VerifyError

    vri_97

      Hi,

      I'm trying to develop a simple client for EJB3's MDB, but somehow it will always raise exception in "(ConnectionFactory)ic.lookup("/ConnectionFactory")" statement (it's exactly the same with the sample in Jboss Messaging bundle)

      InitialContext ic = new InitialContext();
      ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
      Queue queue = (Queue)ic.lookup("/queue/testQueue");

      The exception :
      Exception in thread "main" java.lang.VerifyError: (class: org/jboss/jms/client/delegate/ClientConnectionFactoryDelegate, method: getClientAOPStack signature: ()[B) Incompatible object argument for function call

      I'm using JBoss AS 4.2, Eclipse 3.2.2, JBoss IDE2.0, and JBoss Messaging 1.3 GA. I can run the sample ejb3mdb from Jboss Messaging bundle with no problem. Does anyone know what is happening ?

      Thank you.

      Regards,
      Ferry

        • 1. Re: java.lang.VerifyError
          timfox

          What JDK/JRE are you using (exact version) ?

          There were bugs in some versions of Java that gave symptoms like this. AFAIK they were fixed in later versions of Java.

          • 2. Re: java.lang.VerifyError
            adrian_p

            same problem here....

            i'm running JBoss 4.2.0 - Messaging 1.3 GA... JDK 1.5.0_11 or 1.5.0_12 (latest)

            any ideas?

            thanks in advance...

            Exception in thread "main" java.lang.VerifyError: (class: org/jboss/jms/client/delegate/ClientConnectionFactoryDelegate, method: getClientAOPStack signature: ()[B) Incompatible object argument for function call
             at java.lang.Class.getDeclaredFields0(Native Method)
             at java.lang.Class.privateGetDeclaredFields(Class.java:2259)
             at java.lang.Class.getDeclaredField(Class.java:1852)
             at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1582)
             at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:52)
             at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:408)
             at java.security.AccessController.doPrivileged(Native Method)
             at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:400)
             at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:297)
             at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:531)
             at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
             at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
             at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
             at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
             at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
             at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
             at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
             at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
             at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
             at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
             at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
             at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:652)
             at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
             at javax.naming.InitialContext.lookup(InitialContext.java:351)
             at idsys.client.mdbclient.example(mdbclient.java:48)
             at idsys.client.mdbclient.main(mdbclient.java:33)
            
            


            • 3. Re: java.lang.VerifyError
              timfox
              • 4. Re: java.lang.VerifyError
                adrian_p

                :timfox

                I have successfully run ejb3mdb example. Should i try all the other examples and then conclude that the installation is successful?

                I can post my client code here if it's necessary.

                thanks a lot. I'm grateful for you help.

                • 5. Re: java.lang.VerifyError
                  timfox

                  You should really run all the non clustered examples if you installed non clustered or all the clustered examples if you installed clustered.

                  Can you post your client code too?

                  thanks.

                  • 6. Re: java.lang.VerifyError
                    vri_97

                    Hi All,
                    Thanks for all your response.
                    The problem is gone, after I update the following files to eclipse plugin for jboss ide :
                    - /lib/javassist.jar
                    - /deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar
                    - /deploy/jboss-aop-jdk50.deployer/trove.jar

                    the plugin for jboss ide is in :
                    {ECLIPSE}\plugins\org.jboss.ide.eclipse.jdt.aop.core_1.2.0.Beta2\


                    Regards,
                    Ferry

                    • 7. Re: java.lang.VerifyError
                      timfox

                      Ok, so you had the wrong jars on the client classpath.

                      The correct ones are explicitly mentioned in the userguide

                      http://labs.jboss.com/file-access/default/members/jbossmessaging/freezone/docs/userguide-1.3.0.GA/html/installation.html#inst.remoteclient

                      Which I guess you've now read? ;)

                      • 8. Re: java.lang.VerifyError
                        timfox

                        I should also stress that it is vital you you use the correct *versions* of the jars on your client classpath.

                        This is also detailed in the user guide, but just for clarity they are (for 1.3.0.GA):

                        jbossall-client.jar from the JBAS 4.2.0.GA distribution.

                        jboss aop 1.5.5.GA - available here http://repository.jboss.com/jboss/aop/1.5.5.GA/lib/

                        javassisst 3.5.0.GA-brew - available here http://repository.jboss.com/javassist/3.5.0.GA-brew/lib/

                        trove 1.0.2-brew - available here http://repository.jboss.com/trove/1.0.2-brew/lib/

                        also you'll need log4j - we test with 1.2.14

                        • 9. Re: java.lang.VerifyError
                          vri_97

                          Hi Tim Fox,

                          As quoted from my first post :
                          "I'm using JBoss AS 4.2, Eclipse 3.2.2, JBoss IDE2.0, and JBoss Messaging 1.3 GA. I can run the sample ejb3mdb from Jboss Messaging bundle with no problem. "

                          Yes, I can run the sample with no problem, but I have problem when run it in Eclipse 3.2.2 with JBOSS IDE2.0. So what I'm doing is to update the Jboss ide plug-in.
                          Perhaps I'm just careless of not reading the Jboss ide plug-in guide on Jboss Messaging installation.

                          The solution was found by my partner, which has the similar solution, when we have problem running EJB3 in JBoss AS 4.2 in Jboss IDE.

                          Thank you.

                          Regards,
                          Ferry

                          • 10. Re: java.lang.VerifyError
                            timfox

                            It doesn't matter if your client is running in eclipse or anywhere else, it still needs to be using the correct jars.

                            I was merely pointing out that those correct jars are specified in the user guide.

                            It seems that previously you were using different jars than those specified in the user guide, but now you are using the correct ones, so all is good :)

                            • 11. Re: java.lang.VerifyError
                              alexgalvan

                              Hi:

                              I have this same error, I'm using a JDK 1.4.2_15, a jboss 4.0.3 and JbossMessaging 1.2.

                              If I run my code (client publisher) in my local (standalone) pointing to a clustered messaging jboss AS (nodes in the same server created by the release-admin.xml), it works fine, but if I try to run my client from a different machine in the same intranet, I get this same error. Any ideas?

                              Thanks.

                              Alejandro