[omniORB] Crash on using nil reference
Duncan Grisby
dgrisby@uk.research.att.com
Thu, 03 May 2001 17:36:06 +0100
On Thursday 3 May, "Tim Ward" wrote:
[...]
> omniORB: ERROR -- the application attempted to invoke an operation
> on a nil reference.
> omniORB: throw INV_OBJREF from exception.cc:456
This shows that omniORB has thrown CORBA::INV_OBJREF in response to
the call on nil.
> omniORB: omniRemoteIdentity deleted.
This shows that some other clean-up code is running, meaning that the
system has survived the exception, and is deleting object references
held by the _var instances.
[...]
> I do *not* expect using a nil reference to crash the client in an
> uncontrolled fashion, and I most certainly do *not* expect using a
> nil reference to upset the state of the servers involved so that
> they also need to be restarted.
They shouldn't. As seen above, omniORB throws INV_OBJREF when you
invoke on nil. No matter what the client does, the server shouldn't be
affected.
There is clearly something broken about your set-up. My first
suspicion would be something to do with mixing code compiled with
different debug options. Windows gets very unhappy about that.
Perhaps running the server with -ORBtraceLevel 20 would show more
information. Do the echo examples run? What happens if you run
eg3_clt having put a nil object reference in the naming service?
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --