[omniORB] Marshaling error

Sai-Lai Lo S.Lo@uk.research.att.com
15 Jun 1999 10:56:31 +0100


Jim,

It may be a bug in 2.6.1 but first please check the following:

In your code snippet, several members of stdf::mirT have not been
initialised. They are: testPhase, processID, specName, specVer, designRev.

I wonder if these fields are late additions and the client and the server
are in effect linked with stubs compiled from different IDL.

It is possible to look at where the marshalling exception is raised by
putting the client under gdb. Set the break point in
_proxy_lotData::splMIRinfo. Step through the unmarshalling code of mirT.

Sai-Lai


>>>>> James M Moe writes:

>     We are using omniORB v2.6.1 on a linux RedHat v5.2 system, egcs
> v2.91.57 compiler.
>     One of the strucutures we pass back and forthe only achieves the
> forth direction. When we attempt to retrieve the structure, we get a
> marshalling error. Another ORB that we use (xerox PARC's ILU ORB,
> CORBA/IIOP subset, C mapping) has no problem receiving the structure.
>     The data in the structure ends up in a database. It is correct
> there.
>     The structure is somewhat large and contains mostly strings.
> Attached is a file with code snippets from the IDL and C++ files.
>     The omniORB server code builds the structure all right. It is at
> the omniORB client end that things fall apart with
> "IDL:omg.org/CORBA/MARSHAL".




-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND