[omniORB] bug report

Stefan Seefeld seefelds@MAGELLAN.UMontreal.CA
Thu, 16 Nov 2000 10:21:42 -0500


Duncan Grisby wrote:
> 
> On Wednesday 15 November, Stefan Seefeld wrote:
> 
> > class CreateTool(Unidraw__POA.Tool):
> >     def __init__(self): pass
> >     def create_manipulator(self, traversal, event): return CreateManipulator()
> >
> > This contains an obvious error, i.e. the 'CreateManipulator' is
> > returned, not a reference to it.
> >
> > Now the bug: the editor servant lives in the server, the 'current
> > tool' in the client. When I try to instantiate the manipulator
> >
> > Tool_var tool = editor->current_tool();
> > Manipulator_var manipulator = tool->create_manipulator();
> >
> > I get a system exception in the server !  Clearly, the problem is in
> > the client code, so the exception should be thrown and caught in the
> > client.
> 
> I don't understand. It looks to me like the problem is in the server
> code, so it should be caught in the server.

The problem is that the python client servant ('CreateTool') returns a 
'bad parameter', i.e. a servant ('CreateManipulator'), instead of a reference 
to a servant. 
I would expect the server side ORB to catch that and to return immediately an 
exception to the client, without the server implementation needing to care. 
However, as I see now, the server throws indeed a BAD_PARAM exception, though 
it seems to be caught by the server itself, leading to the server to exit.
The 'system exception' I was observing seems an entirely different problem,
related to a faulty cleanup handling in the server.

> What should happen is that the
> server detects the error and throws a BAD_PARAM exception, which
> appears on the client.

yeah, that's what I would expect. However, it 'appears' in the server itself...

Regards,	Stefan
_______________________________________________________              
              
Stefan Seefeld
Departement de Physique
Universite de Montreal
email: seefelds@magellan.umontreal.ca

_______________________________________________________

      ...ich hab' noch einen Koffer in Berlin...