[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