11 Replies Latest reply on Jun 1, 2004 9:01 AM by shantharam_a

    Bug in Clustering without farming on 3.2 ?

      Hi,
      I'm trying to setup a cluster in JBoss 3.2 without
      farming. Starting with the plain 'all' configuration,
      I changed the mulitcast port in cluster-service.xml,
      deleted all/farm and all/deploy/farm-service.xml.
      Now when I start 2 machines with this configuration,
      the last started gets the following exception:
      11:13:12,053 ERROR [DefaultPartition] setState failed
      java.io.InvalidClassException: org.jboss.ha.framework.interfaces.HARMIServer; Incompatible
      local class name. Expected class name compatible with org.jboss.ha.framework.server.HARMI
      ServerImpl_Stub
      at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:528)
      at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:562)
      at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:931)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:361)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
      at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1181)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
      at java.util.HashMap.readObject(HashMap.java:835)
      at java.lang.reflect.Method.invoke(Native Method)
      at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2209)
      at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1406)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
      at java.util.HashMap.readObject(HashMap.java:835)
      at java.lang.reflect.Method.invoke(Native Method)
      at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2209)
      at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1406)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
      at java.io.ObjectInputStream.inputArray(ObjectInputStream.java:1137)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
      at java.util.HashMap.readObject(HashMap.java:835)
      at java.lang.reflect.Method.invoke(Native Method)
      at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2209)
      at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1406)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:381)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:231)
      at org.jboss.ha.framework.server.HAPartitionImpl.objectFromByteBuffer(HAPartitionI
      mpl.java:114)
      at org.jboss.ha.framework.server.HAPartitionImpl.setState(HAPartitionImpl.java:332
      )
      at org.javagroups.blocks.MessageDispatcher$ProtocolAdapter.passUp(MessageDispatche
      r.java:468)
      at org.javagroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:294)
      at org.javagroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.ja
      va:513)
      at org.javagroups.JChannel.up(JChannel.java:841)
      at org.javagroups.stack.ProtocolStack.up(ProtocolStack.java:302)
      at org.javagroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:318)
      at org.javagroups.stack.Protocol.passUp(Protocol.java:435)
      at org.javagroups.protocols.pbcast.STATE_TRANSFER.handleStateRsp(STATE_TRANSFER.ja
      va:316)
      at org.javagroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:123)
      at org.javagroups.stack.UpHandler.run(Protocol.java:55)
      11:13:12,073 ERROR [HANamingService] Starting failed
      java.rmi.StubNotFoundException: Stub class missing constructor: org.jboss.ha.framework.ser
      ver.HARMIServerImpl_Stub; nested exception is:
      java.lang.NoSuchMethodException
      java.lang.NoSuchMethodException
      at java.lang.Class.getConstructor0(Native Method)
      at java.lang.Class.getConstructor(Class.java:922)

      etc, etc.
      Anyone has an idea about the source of this problem ?
      Thanks
      /jog

        • 1. Re: Bug in Clustering without farming on 3.2 ?
          slaboure

          Make sure both jboss versions are exactly the same and that the beans you deploy as well

          Sacha

          • 2. Re: Bug in Clustering without farming on 3.2 ?

            Thanks for the reply.
            I used a shared drive to install JBoss and started from this installation on 2 solaris machines, so the versions are deemed equal. I only used the 'all' configuration shipped with JBoss and did ot deploy any of my beans.
            Thanks
            jogoussard

            • 3. Re: Bug in Clustering without farming on 3.2 ?
              budworth

              I also get this problem when starting up JBoss, it seems to be a race condition as the fix is to just Ctrl-C kill jboss and restart it.

              Happens about 1 time out of every 5 start ups

              Jboss: 3.2.1 (released version)
              JDKs:
              Sun JDK 1.4.2-b28
              Sun JDK 1.4.1_03
              IBM JDK 1.4.1 (J2RE 1.4.1 IBM build cxia32141-20030522 )

              Running on 3 different machines:
              2 x Dell 1650 (each has dual 1.1 ghz p3), 2GB ram
              and a generic dual 1 ghz p3 machine, 1GB ram

              All running on RedHat 9 Linux

              All running "all" configuration with the partitionName changed

              Seems to only happen when 2+ machines running in same partition. First one starts up fine, other machines produce the error

              The JavaGroups view does indeed show all 3 machines, but the HAJNDI service fails to start.

              I'll try to do some more testing in a mostly clean environment (all machines have dual nicks, so I must modify the cluster-service.xml file to get multicast to work properly) and add to this thread.

              Thank you,

              -David Budworth


              • 4. Re: Bug in Clustering without farming on 3.2 ?
                sabat

                For what it's worth, this problem goes away when using JBoss 3.2.2RC1.

                • 5. Re: Bug in Clustering without farming on 3.2 ?
                  chubinator

                  I am having the same problem except it occurs every time for me now.

                  Everything was working fine, I modified the cluster-services.xml file. Wrestled with some other problems and reverted back to the original and started having this problem.

                  Tried deleting the tmp directory, have restarted the server a gazillion times, no luck.

                  I've attached my log.

                  Any ideas?

                  • 6. Re: Bug in Clustering without farming on 3.2 ?
                    chubinator

                    Fixed my problem. Reverted back to JDK 1.3.2 and all is fine. Odd.

                    What's also odd (and non-related...or is it?), is that my server would crash when clustered. The crash log was a JVM log in the bin directory indicating an external (to the JVM) error:

                    An unexpected exception has been detected in native code outside the VM.
                    Unexpected Signal : 11 occurred at PC=0x400AC177
                    Function=(null)+0x400AC177
                    Library=/lib/libc.so.6

                    Turns out this is a known Sun JDK 1.4.x bug. Can recreate it every time during clustered operation. Problem isn't JBoss, but others may want to know that reverting back to JDK 1.3.x fixes it and this problem.

                    Thanks

                    • 7. Re: Bug in Clustering without farming on 3.2 ?
                      slaboure

                      Morality of the story: run JBoss on Windows ;)

                      • 8. Re: Bug in Clustering without farming on 3.2 ?
                        usiwill

                        Has anyone found a solution to this other than dropping back to the 1.3 JDK? There is functionality that only exists in 1.4 that I need and therefore cannot use 1.3 . I am running 1.4.2RC2 under RedHat 7.3 and experience this problem after starting a couple of nodes. This is a real showstopper for my current project. Any ideas on what the real problem is here, and is there another workaround?

                        Thanks,

                        Will

                        • 9. Re: Bug in Clustering without farming on 3.2 ?
                          usiwill

                          Apologies, I meant JBoss 3.2.2RC2. I have tried the 1.4.1_02 and 1.4.2 Sun JDK's.

                          -Will

                          • 10. Re: Bug in Clustering without farming on 3.2 ?
                            usiwill

                            After further testing, it appears that the following is happening:

                            I have five servers in a partition which I have changed the name from the default. Four of the servers are compaq DL360's with two CPU's and two gigs of ram. The fifth server is a compaq 5500 with four cpu's and four gigs of ram.

                            If I start the 5500 before the 360's, all servers start up properly. If the 5500 is then stopped, and restarted immediately I get the error message in the above post. If I wait 10 minutes before starting JBoss back up, JBoss will start with no errors.

                            The 360's can be stopped and started with no problems whatsoever.

                            Any ideas?

                            Thanks,

                            Will

                            • 11. Re: Bug in Clustering without farming on 3.2 ?
                              shantharam_a

                              Did anyone resolve this issue, we are facing a similar issue on Jboss 3.2.1 on windows with Java 1.3.1_09