3 Replies Latest reply on Oct 28, 2003 8:33 AM by bugabundo

    RMI/IIOP bug...

    bugabundo

      I'm sorry I'm posting here...
      I just can't get how to submit a bug in sourgeforce...

      Well this is the old bug (I posted here one year ago and had been responded there is no such a bug :-)

      The bug is about overloaded methods in Interface accessed by RMI/IIOP. I took a look at JBoss code (3.2.2 release).

      if I have 2 methods like

      ArrayList getMyList();
      ArrayList getMyList(int id);

      I got an exception BAD OPERATION.

      The bug is in "ContainerAnalysis.java" class...

      then it checks the methods it suppose that getMyList() is an an "isAccessor" method and then (later) do not check it for the overloading. The problem is that for the IIOP it's must be changed (according "1.3.2.6 Overloaded method names" RMI 2 IDL Mapping spec), but it doesn't - method isn't marked as overloaded, so RMI/IIOP access fails.

      Just to test

      ArrayList getMyList(String id);
      ArrayList getMyList(int id);

      works.

      ArrayList dameMyList();
      ArrayList dameMyList(int id);

      works as well.

      (in both cases methods are not considered an accessor so 1.3.2.6 method convention passes).

      Sincerely,

      BUGabundo

        • 1. Re: RMI/IIOP bug...
          reverbel

          I don't see the bug. Just deployed a modified version of Sun's Cart example, with the following remote interface:

          public interface Cart extends EJBObject {

          public void addBook(String title) throws RemoteException;
          public void removeBook(String title) throws BookException, RemoteException;
          public Vector getContents() throws RemoteException;
          public Vector getContents(String title) throws RemoteException;
          }

          None of the overloaded methods threw BAD_OPERATION on me.

          Regards,

          Francisco

          • 2. Re: RMI/IIOP bug...
            bugabundo

            Hello Francisco,

            It sounds strange to me...
            Well I hope you use RMI/IIOP to connect.

            You can find attached example.

            By executing one I got:
            java.rmi.RemoteException: CORBA BAD_OPERATION 0 No; nested exception is:
            org.omg.CORBA.BAD_OPERATION: vmcid: 0x0 minor code: 0 completed: No
            at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemException(ShutdownUtilDelegate.java:134)
            at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
            at test._SimpleSession_Stub.getMyList(Unknown Source)
            at test.JBossTest.(JBossTest.java:31)
            at test.JBossTest.main(JBossTest.java:41)
            Caused by: org.omg.CORBA.BAD_OPERATION: vmcid: 0x0 minor code: 0 completed: No
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
            at java.lang.Class.newInstance0(Class.java:306)
            at java.lang.Class.newInstance(Class.java:259)
            at com.sun.corba.se.internal.iiop.messages.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:90)
            at com.sun.corba.se.internal.iiop.ClientResponseImpl.getSystemException(ClientResponseImpl.java:105)
            at com.sun.corba.se.internal.corba.ClientDelegate.invoke(ClientDelegate.java:314)
            at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
            at test._SimpleSession_Stub.getMyList(Unknown Source)
            ... 2 more


            By the way what example you are talking about?

            salu2,

            D.

            • 3. Re: RMI/IIOP bug...
              bugabundo

               

              "bugabundo" wrote:
              the files