Thanks & request for info on solaris CORBA::ORBit problem



Hi folks.

First off, many thanks to everyone behind orbit and especially to Owen
Taylor for CORBA::ORBit. I'm very impressed with the speed, and it's
wonderful to be able to wrap up my many perl objects making them available
to all and sundry.

Everything works great under linux. If only I was in a pure linux
environment, but no such work. Unfortunately, I have to get this working
under solaris. Now, it _nearly_ works under solaris. In fact, the reason
it doesn't probably has more to do with our solaris setup than with orbit.
But I thought I'd fire this email off to check if anyone is in the same
boat here.

Now, I'm chucking some hairly hefty lists of nested structs around. Things
are generally hunky dory until the list gets too big, and the marshalled
object gets scrambled somehow.

This only happens if the client and server are on different machines. If
they are on the same machine, I can send enormous lists across. But it
seems that if IIOP is used, something is marshalled wrongly which
completely messes up the client (a perl client will go out of memory or
segfault; java/jacorb produces a hexdump), as if a length field is
getting corrupted.

Now I know this all sounds vague. I have been trying hard to produces a
concise example but it's not easy, it's a slippery semi-deterministic kind
of problem.

I notice there is a patch for libIIOP on the sourceforge page - could this
be the answer? Unfortunately the patch only seems to be for cvs head, and
it seems CORBA::ORBit doesn't work with this yet.

For what it's worth, here is what I am running ORBIT-0.5.3 &
CORBA::ORBit-0.4.2 on:

uname -a:SunOS bicoid.lbl.gov 5.8 Generic sun4u sparc SUNW,Ultra-5_10

perl version v5.6.0

cat ~/.orbitrc 
ORBIIOPIPv4=1
-ORBIIOPIPv4=1                                                                  

[I put both ways in to be on the safe side]

Should I just give up on sending lists of structs and use an iterator
instead? Is there any practical limit on the size of a list of nested
structs? I'm vaguely aware I should be closely examining the actual data
stream the server sends across and using some kind of IIOP decoder on the
server side to check what I'm sending across -- but I'm too braindead from
trying to nail this thing down.

Thanks for any help... bit of a longshot I know, not much to go on here.

If anyone's interested, I'm using CORBA::ORBit for various molecular
biology applications, our current flagship project is a java tool for
sharing and editing of genome data, and will be used extensively by the
human genome project as well as our own fly genome project here at
Berkeley.

------------------------------------------------------------------
Chris Mungall            	Berkeley Drosophila Genome Project
cjm fruitfly berkeley edu	http://www.fruitfly.org






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