[PolyORB-users] (dsa) cannot send an access to a remote type from client to server

Rod Kay rodkay at mullum.com.au
Sat Sep 24 05:19:15 CEST 2005


Hello again,

    We have made some headway using polyorb/dsa with the beltwars project. 

    A little background ...

    The proj has three distributed components:

    - 'server': 
      - creates and manages a single 'galaxy' object
      -  on startup, a reference to the created 'galaxy' is sent to
          the metaserver
      - multiple instances may exist
      - is a client of the 'metaserver'

   - 'metaserver':
      - accepts (registers) 'galaxy' references from 
         newly started servers
      - provides a list of all 'Galaxy' references to clients, upon request
      - only a single instance
      - acts as server for 'client' and 'server'

   - 'client':
      - requests, from the metaserver, a list of all existing/registered
        'Galaxy's
      - user selects a single 'galaxy' from list
      - selected 'galaxy' object reference  becomes medium
        for all further comms between 'client' and the galaxys 'server'
      - multiple instances may exist
      - is a client of the 'metaserver'


    These all build and talk via rci ok, except that when we send a Galaxy 
reference from a 'server' to the 'metaserver', an assertion failure at
line 969 of System.PolyORB_Interface occurs in the Get_Reference 
procedure.


   procedure Get_Reference
     (Addr     :        System.Address;
      Typ      :        String;
      Receiver : access Servant;
      Ref      :    out PolyORB.References.Ref)
   is
      use PolyORB.Errors;
      use type PolyORB.Obj_Adapters.Obj_Adapter_Access;

      Last : Integer := Typ'Last;

      Error : Error_Container;
   begin
      if Last in Typ'Range and then Typ (Last) = ASCII.NUL then
         Last := Last - 1;
      end if;

      if Addr /= Null_Address then
         pragma Assert (Receiver.Object_Adapter /= null);
         --------------------------------------------------------------------

   At this point Receiver.Object_Adapter is null.


   I have attached modified 'polyorb examples dsa' files which, i hope,
will demostrate the problem. The changes are fairly minimal.

   The development environment has not changed since last time,
except that i updated gcc from cvs about a week ago, and also
polyorb from cvs about two days ago.

   If any further info is needed, or a more detailed problem report,
please let me know

... and many thanks for your assistance.


regards,

Rod.









-------------- next part --------------
A non-text attachment was scrubbed...
Name: dsa.tar.bz2
Type: application/x-tbz
Size: 17738 bytes
Desc: not available
Url : /pipermail/polyorb-users/attachments/20050924/4b8c4a42/dsa.tar-0001.bin


More information about the PolyORB-users mailing list