[omniORB] Apparent crash-level bug in CORBA::Object::_is_a

Nathaniel Smith njs@uclink4.berkeley.edu
Mon, 31 Jan 2000 03:46:41 -0800


On Mon, Jan 31, 2000 at 11:21:29AM +0000, Duncan Grisby wrote:
> On Wednesday 26 January, Nathaniel Smith wrote:
> 
> > I managed to narrow the problem down to the object id's I was using;
> > apparently my idl2perl compiler decided that the proper name for the
> > ServerContextManager object was IDL:omg.org/ServerContextManager:1.0,
> > whereas omni considers it to be IDL:ServerContextManager:1.0.  I'm not
> 
> Where is ServerContextManager defined?  If it's not in a file which
> has #pragma prefix "omg.org" in it, omniORB is right. My guess is that
> COPE has the same bug that the old omniidl2 has, in that it doesn't
> scope #pragma prefix to the file it is in. If you put
> #pragma prefix "" at the end of any files which set it to "omg.org",
> COPE will probably use the right repository ids.
>
> > sure who's correct, but it's kind of beside the point.  The point being,
> > ServerContextManager->_narrow made an IIOP call to
> >   boolean CORBA::Object::_is_a(in string iface)
> > with the argument IDL:omg.org/ServerContextManager:1.0, and the server
> > program was brought down.  This should be impossible to do from a client.
> 
> You're right -- that shouldn't crash the server, it should just return
> false. What platform and omniORB version are you using?  Can you give
> a stack trace where it crashes?

This is omniorb 2.8.0, on debian potato, using the packaged versions of
everything.  I've tried getting a stack trace, but it's remarkably unhelpful,
since the program in question is threaded, etc.  Someone said that it might
be related to my omniorb.cfg consisting of:
ORBInitialHost WyrmWeyr.frop.org
ORBInitialPort 8088
rather than the more usual nameservice IOR.

If this doesn't help, then I'll try taking the trouble to track this down
further...

-- Nathaniel