(in Object obj) marshalling error



Using orbit-python (no idea if we're getting a Orbit error, however) and a
simple 

interface NamingObject {
        void bind(in Object obj);
};

interface, I have the following issues:

1) Calling bind with a simple object reference:

[...]
class Foo:
	pass
a=Foo()
nc.bind(a)

TypeError: Failed to marshal: Object Reference ()

even though a _is_ an object reference.

2) Didn't work? Ok, let's try a stringified IOR:

nc.bind(orb.object_to_string(a))

CORBA.SystemException: IDL:CORBA/MARSHAL:1.0: IDL:CORBA/MARSHAL:1.0

Hmm. I wonder why I get a different message?

3) Let's do something dumb now:

nc.bind(1)

TypeError: Failed to marshal: Object Reference ()

Ok, same error as my first non-ior attempt. Passing any other object gets
me the same error (strings, etc).

4) And what about

nc.bind(orb.object_to_string(1))

Segmentation fault

Hmm, boom. Orbit-python or plain Orbit?

The practical effect of this is that it's impossible to use orbit-python
with the Orbit nameserver as of now. We simply can't bind the servers to
names because bind() takes an object parameter. I've cut out the offending
code and will start looking for the issue; in the meantime, if Jason has
any ideas.. :-)

Take care,
--
/\/\ Christian Reis, Senior Engineer, Async Open Source, Brazil
~\/~ http://async.com.br/~kiko/ | [+55 16] 274 4311





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