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

    java.lang.VerifyError

    Ferry Tanu Newbie

      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
          Tim Fox Master

          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 Pitulac Newbie

            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)
            
            


            • 4. Re: java.lang.VerifyError
              Adrian Pitulac Newbie

              :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
                Tim Fox Master

                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
                  Ferry Tanu Newbie

                  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
                    Tim Fox Master

                    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
                      Tim Fox Master

                      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
                        Ferry Tanu Newbie

                        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
                          Tim Fox Master

                          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
                            Alejandro Galvan Newbie

                            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