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

Duncan Grisby dgrisby@uk.research.att.com
Mon, 31 Jan 2000 11:56:43 +0000


On Monday 31 January, Nathaniel Smith wrote:

> 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:

I don't understand how the program being multi-threaded stops you
giving a stack trace of the thread which dies. Linux core dumps don't
work with threads, so you have to run the program under gdb.

> ORBInitialHost WyrmWeyr.frop.org
> ORBInitialPort 8088
> rather than the more usual nameservice IOR.

There is a bug in that if you run omniNames with a configuration file
like the above, pointing to itself, then calls to
resolve_initial_references() with names which don't exist cause an
infinite recursion which blows up the stack. In this case, it is the
omniNames process which dies. To be safe, you should run omniNames
with a different (empty is fine) omniORB.cfg.

That problem doesn't have anything to do with _is_a(), though.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --