[omniORB] cdrUnmarshal: segmentation fault

Jeff Pitman symbiont at berlios.de
Wed Sep 21 14:51:37 BST 2005


Hi:

I've got a set of IDLs for an interface. Server is written in java which 
listens on a socket. This socket produces a marshalled corba object 
that describes the connection properties included the IORString. 

I would like to use cdrUnmarshal() to parse this raw octetstream from 
the socket and map it to an existing TypeCode from IDL:

cdrUnmarshal(FooServer._tc_IORData, raw)

However, this causes pyMarshal.cc at line 2934 (omniORB v4.0.6) to core 
dump because the nativeCharCodeSet is not defined. So, I tried to set 
that up using UTF-8 or ISO-8859-1.  However, it still didn't work:

        nativeCharCodeSet("UTF-8")
        print cdrUnmarshal(ObjectReferenceServer._tc_ServerIORData,raw)

Traceback (most recent call last):
  File "omni.py", line 60, in ?
    main(sys.argv)
  File "omni.py", line 45, in main
    ior = BarReference([],"foo")
  File "omni.py", line 34, in __init__
    print cdrUnmarshal(FooServer._tc_IORData,raw)
  File "/usr/lib/python2.4/site-packages/omniORB/COS/__init__.py", line 
391, in cdrUnmarshal

omniORB.CORBA.BAD_INV_ORDER: Minor: BAD_INV_ORDER_CodeSetNotKnownYet, 
COMPLETED_NO.

I presume that this means the octetstream I gave it is unreadable given 
the current CodeSet. I've tried encap, little and big endian reading, 
the results are the same.

Any help will be greatly appreciated.

-- 
-jeff



More information about the omniORB-list mailing list