[omniORB] Apparent crash-level bug in CORBA::Object::_is_a
Duncan Grisby
dgrisby@uk.research.att.com
Mon, 31 Jan 2000 11:21:29 +0000
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?
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --