[omniORB] Re: Assertion using omniORBpy-3.0

Jan Ohlenburg jan.ohlenburg at fit.fraunhofer.de
Tue Jan 2 13:03:55 GMT 2007


Hi Duncan,
sorry for getting back to you so late.


> > it crashes at the same location from my point of view, but anyway
> > attached
> > you can find the dump. What do you mean by stringified version of the
> > object
> > reference? The IOR? If yes, here it is:

> Well, the IOR doesn't cause any problems for me, so it's not that it's
> invalid in a way that makes omniORB blow up. What exactly is the code
> that causes the error, on both sides?

Since the C++ application is very complex, this is not easy to answer. The
following code very similar to what happens in the application:

RSGObject_ptr RSGScene_impl::newObject(RSGOwner_ptr caller, unsigned long
className)
{
    RSGObject_var object_var = NULL;
    if (className == SPHERE_NAME_ID)
    {
        RSGNode_impl * object = new RSGNode_impl(...);
        object_var = object->_this();
    }
    else if 
       ...
    return object_var._retn();
}

The python method is as follows:

    def addNode(self, nodeType):
        nodeId = SPHERE_NAME_ID
        print "%s" % self.rsg_scene
        node = self.rsg_scene.newObject(None, nodeId)
        print "new object created"
        node = node._narrow(Morgan.RSGNode)
        if node:
            print "narrow succeeded"
            self.rsg_scene.addNode(node)
            self.rsg_scene.groupInit()
        return node

The line print "new object created" is not reached. But the RSGNode_impl
object is created on the remote side.

> Did you compile omniORB and omniORBpy yourself, or did you use a
> pre-compiled binary?  If you compiled it, which compiler did you use,
> and how did you configure things?  Which Python version?

I did neither compile omniORB nor omniORBpy myself, I use the pre-compiled
binary and Python 2.4.

> Are you able to write a simple C++ client using omniORB to see if that
> works, to pin down whether it's an issue in omniORBpy or the omniORB
> core?

As I said above, the C++ TAO application is very complex, it is a very large
framework. I wanted to use omniORBpy for simple automated test routines for
some of the interfaces. Unfortunately I don't have the time to write a C++
client using omniORB. Not because I don't want to, but the python test
routines are not as important to us as other issues. Sorry.

Since I am a developer myself, I know how difficult it is to pin down the
problem, if I am not able to debug the code. Your help is appreciated very
much. This there anything else I can do?

Best regards,
Jan


----------------------------------------------------------------------
Dipl.-Inform. Jan Ohlenburg
Fraunhofer Institut fuer Angewandte Informationstechnik FIT
Forschungsgruppe Collaborative Virtual and Augmented Environments
Schloss Birlinghoven
D - 53754 Sankt Augustin, Germany
Telefon: +49-2241-14-2724
e-Fax: +49-2241-14-4-2724
Telefax: +49-2241-14-2084
e-mail: mailto:jan.ohlenburg at fit.fraunhofer.de
 




More information about the omniORB-list mailing list