I have a weird problem with OrbixWeb and I wonder if anyone has seen
it or can shed any light.
The IDL has an interface that is a registration method, taking a
reference to a client object. When a thread within the server detects
that a particular kind of event has occurred it invokes a method on
the client object, making this client object act as a callback (hey,
this is *OLD* CORBA!). We say the server notifies the client of the
event. When the client is killed (kill -9) and an event happens in the
server, the server tries to dispatch the notify but fails with a CORBA
exception. The server knows this can happen and simply removes the
object reference from its list. The problem happens when the client
restarts. It tries to bind to the server but gets this error:
org.omg.CORBA.INV_OBJREF: remote exception - Invalid object reference
Missing proxy factory:
The client application does not appear to have been linked
with the correct client source file generated by the IDL
compiler minor code: 10102 completed: No
How on earth can this happen? The client is linked correctly and
worked just fine until it was restarted.
I have vague memories that make me think it might be something to do
with reference counting. Do I have to do something to the client
object reference before I remove it from my list?
Regards,
Andrew Marlow