[omniORB] Putting a Sequence into an Any and marshalling it
Gert Steenssens
gsteenss@eps.agfa.be
Mon, 27 Jul 1998 10:28:50 +0200
Gary D. Duzan wrote:
>
> In Message <35B8A385.75FC9306@eps.agfa.be> ,
> "Gert Steenssens" <gsteenss@eps.agfa.be> wrote:
>
> =>I've encountered a little problem while trying to put an
> Unbounded Sequence into an Any
> This sounds like the problem I reported earlier. Check out bug/patch
> #12 on the OmniORB News Page, or
> < http://www.orl.co.uk/omniORB/bugs/12.html >. Hopefully that will
> clear up the problem.
Well actually, I'm not sure it is...
I looked at the suggested patch, and it seems they want me to replace
'this->length()' by 'member_tc->length()' in typeCode.cc, but the strange thing
is; line 663 already has 'member_tc->length()' in it. (or maybe the patch is the
otherway around ?)
I must say I downloaded the 2.5.0 ORB only last week, so probably it was already
patched for this bug ?
As far as I can tell either way the same thing happens with or without patch
applied...
I've traced through the omniORB code again, and what I can say is that the
Exception gets thrown in tcParseEngine.cc during a call to the
ParseEngine::parseUnion(MemBufferedStream& outBuf) method which starts at line
714.
The actual piece of code which generates the Exception is at
line 833 -> 843 and looks like this:
if (finalTCpos > 0)
{
setTCKind(finalTCK); setTCPos(finalTCpos);
parseTC(outBuf);
}
else if(def >= 0 && defTCpos > 0)
{
setTCKind(defTCK);
setTCPos(defTCpos);
parseTC(outBuf);
}
else throw CORBA::MARSHAL(0,CORBA::COMPLETED_NO);
I'm not sure if this helps you guys in locating the problem, but feel free to
ask more info/code if required...
Thx, for your effort.
--
Gert Steenssens (3586)
gsteenss@eps.agfa.be
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"The drum is the beating of the hart,
The bass is the rhythm of the mind."
- Lee 'Scratch' Perry, The Upsetter -