FW: What version of CORBA ORBit to use? Trying to get perl client to talk to BEA Tuxedo 8.0 server...
"Dave Maltz" <[email protected]> Thu, 27 Jun 2002 16:58:41 -0700
| Newsgroups | gmane.comp.gnome.orbit.perl |
|---|---|
| Message-ID | <[email protected]> |
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=3D0x2e510,=20
_ORBIT_recv_buffer=3D0x1361e8, ev=3D0xffbeef08, dummy=3D0x0)
at corba_object.c:132
#2 0x7f7d88e0 in ORBit_POA_handle_request (recv_buffer=3D0x1361e8, =
poa=3D0x2c2b8)
at orbit_poa.c:513
#3 0x7f7db1b4 in ORBit_handle_incoming_request (recv_buffer=3D0x1361e8)
at server.c:90
#4 0x7f7db55c in ORBit_handle_incoming_message (recv_buffer=3D0x1361e8)
at server.c:160
#5 0x7f793924 in giop_main_handle_connection (connection=3D0xd0)
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=3D0x1348b8,=20
current_time=3D0xffbef2a0, user_data=3D0x135c68) at giounix.c:135
#8 0x7f7367a4 in g_main_dispatch (dispatch_time=3D0xffbef2a0) at =
gmain.c:656
#9 0x7f736c38 in g_main_iterate (block=3D2138420140, dispatch=3D1) at =
gmain.c:877
#10 0x7f7371e0 in g_main_run (loop=3D0x131890) 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=3D0x2e510,=20
_ORBIT_recv_buffer=3D0x1361e8, ev=3D0xffbeef08, dummy=3D0x0)
at corba_object.c:132
132 objkey->class_info->init_local_objref(&objdummy, =
servant);
(gdb) p *objkey->class_info
$1 =3D {relay_call =3D 0x7f8302a0 <porbit_get_skel>,=20
class_name =3D 0x124018 "IDL:Account/Account:1.0", init_local_objref =
=3D 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=3D/usr/local/bin/as =
--with-ld=3D/usr/local/bin/ld --enable-libgcj
Thread model: posix
gcc version 3.0.3
4) I guess I now also have a 4th question: what's the right/most active =
group to send questions like this to? Is orbit-perl-list@gnome the =
right place? I had tried the COPE mailling list at =
http://www1.lunatech.com/cope/, but that seems to be lower activity.
Many, many thanks,
-Dave Maltz