What version of CORBA ORBit to use? Trying to get perl client to talk to BEA Tuxedo 8.0 server...



Hi All,

I have three groups of question.  Going from most general to most specific:

1)  I'm hoping to find a way to write a client application in perl that makes calls against the IDL interfaces of CORBA servers hosted by BEA Tuxedo 8.0.  Has anyone already done something like this?  Am I on drugs for even wanting to try?  Tux 8.0 supports CORBA 2.1 and 2.2 and IIOP 1.2.  Tux 8.0 claims to support Interoperable Naming Service, so I was hoping to get an initial IOR to the Tux NameService that way.  I see in http://icps.u-strasbg.fr/~genaud/ORBIT/c42.html#AEN66 that ORBit does _not_ yet support INS, although I swear I saw in other docs that it does (i.e., http://orbit-resource.sourceforge.net/faq.html).

2) What is the most current version of the Perl mapping for ORBit?  What version of ORBit should I use with it?  Is there/where is a Perl mapping for ORBit2?  I saw mention in the mailling list archive that a perl mapping branch was going to be added to ORBit2, but I don't see anything perl related at http://cvs.gnome.org/lxr/source/ORBit2/. I'm currently using CORBA-ORBit-0.4.5 from CPAN and ORBit-0.5.17, and I'm seeing the bug below so I haven't even tried to talk to the Tuxedo ORB yet.

3) I get a crash when I try the example code in the CORBA-ORBit-0.4.5 examples.  Any idea what is going wrong, or what I'm doing wrong?  It looks like I'm sooooo close it's infuriating...

*** In window 1 ***
hawaii ~/CORBA-ORBit-0.4.5 % /usr/bin/perl -Mblib server
Using /home/dmaltz/CORBA-ORBit-0.4.5/blib
Initial services: RootPOA
The daily maximum is: 1000
Counting 8
Counting 7
Counting 6
Counting 5
Counting 4
Counting 3
Counting 2
Counting 1
Segmentation fault (core dumped)

*** In window 2 ***
hawaii ~/CORBA-ORBit-0.4.5 % /usr/bin/perl -Mblib client
Using /home/dmaltz/CORBA-ORBit-0.4.5/blib
GOT IOR
GOT account
Exception: CORBA::COMM_FAILURE ('IDL:omg.org/CORBA/COMM_FAILURE:1.0')
    (0, COMPLETED_MAYBE)
   Communication failure

--8<--
partial backtrace from the core

#0  0x0 in ?? ()
#1  0x7f7d9264 in ORBit_impl_CORBA_Object_is_a (servant=0x2e510, 
    _ORBIT_recv_buffer=0x1361e8, ev=0xffbeef08, dummy=0x0)
    at corba_object.c:132
#2  0x7f7d88e0 in ORBit_POA_handle_request (recv_buffer=0x1361e8, poa=0x2c2b8)
    at orbit_poa.c:513
#3  0x7f7db1b4 in ORBit_handle_incoming_request (recv_buffer=0x1361e8)
    at server.c:90
#4  0x7f7db55c in ORBit_handle_incoming_message (recv_buffer=0x1361e8)
    at server.c:160
#5  0x7f793924 in giop_main_handle_connection (connection=0xd0)
    at connection.c:1207
#6  0x7f827ccc in porbit_handle_connection ()
   from /home/dmaltz/CORBA-ORBit-0.4.5/blib/arch/auto/CORBA/ORBit/ORBit.so
#7  0x7f734a8c in g_io_unix_dispatch (source_data=0x1348b8, 
    current_time=0xffbef2a0, user_data=0x135c68) at giounix.c:135
#8  0x7f7367a4 in g_main_dispatch (dispatch_time=0xffbef2a0) at gmain.c:656
#9  0x7f736c38 in g_main_iterate (block=2138420140, dispatch=1) at gmain.c:877
#10 0x7f7371e0 in g_main_run (loop=0x131890) at gmain.c:935
#11 0x7f81aa34 in XS_CORBA__ORB_run ()
   from /home/dmaltz/CORBA-ORBit-0.4.5/blib/arch/auto/CORBA/ORBit/ORBit.so

#1  0x7f7d9264 in ORBit_impl_CORBA_Object_is_a (servant=0x2e510, 
    _ORBIT_recv_buffer=0x1361e8, ev=0xffbeef08, dummy=0x0)
    at corba_object.c:132
132             objkey->class_info->init_local_objref(&objdummy, servant);
(gdb) p *objkey->class_info
$1 = {relay_call = 0x7f8302a0 <porbit_get_skel>, 
  class_name = 0x124018 "IDL:Account/Account:1.0", init_local_objref = 0}

[so it looks to me like the POA was mostly properly initialized, but init_local_objref was left set to 0 for reasons I don't understand]

I get the crash if I wait for the server to finish counting down before running the client or I run the client while the server is still counting down.  I'll admit I'm not exactly sure what the server is doing while couting down.

The example above uses perl 5.005_03 built for sun4-solaris on a Sun E450 runing solaris 2.8 and ORBit-0.5.17.  gcc information is below.  I'm using glib 1.2.10.  I see the same crash behavior whether I use perl 5.005_03 or perl v5.6.1 built for sun4-solaris


hawaii ~/CORBA-ORBit-0.4.5 % gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.3/specs
Configured with: ../configure --with-as=/usr/local/bin/as --with-ld=/usr/local/bin/ld --enable-libgcj
Thread model: posix
gcc version 3.0.3

Many, many thanks,
 -Dave Maltz





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]