Discussion:
CSIv2 questions
Denis Scherbakov
2009-04-01 16:44:10 UTC
Permalink
Dear MICO Gurus,

I have a question concerning MICO CORBA 2.3.13.

1. I have a test C program which basically does int main(void){return 0;} but links MICO
libraries. When I run this test program, I receive a segmentation fault in csi_base.cc:140 on

delete static_cast<_Marshaller__seq__seq_octet*>(_marshaller__seq__seq_octet);

(gdb) print _marshaller__seq__seq_octet
$1 = (class CORBA::StaticTypeInfo *) 0x0

So I would like to ask, am I doing something wrong? Do I always have to initialize corba,
even if I don't use it?

2. csi_base.idl:

module CSI {
typedef sequence <octet> OID;
typedef sequence <OID> OIDList;
};

it defines sequence<sequence<octet>> in CSI module, which results in _Marshaller__seq__seq_octet
functions to be generated. When I link with MICO libraries statically, I receive "multiple definition of _Marshaller__seq__seq_octet", because I also use seq<seq<octet>>.
Should seq<seq<octet>> be in a CSI module and be prefixed with something
CSI-like? So far I understand currently seq<seq<octet>> is resides in a global namespace,
that's why a have linking conflicts.

Denis

Loading...