[omniORB] bug report
Stefan Seefeld
seefelds@MAGELLAN.UMontreal.CA
Thu, 16 Nov 2000 11:07:55 -0500
Duncan Grisby wrote:
>
> On Thursday 16 November, Stefan Seefeld wrote:
>
> > I added the 'try' block to check, and indeed, it is the client which
> > catches the BAD_PARAM exception:
> >
> > 16.9528:0 enter Viewer::press
> > omniORB: LocateRequest to remote: root<16777216>
> > omniORB: throw BAD_PARAM from giopClient.cc:495
> > got a bad parameter !
>
> Yes, that is precisely what is meant to happen. The Python servant
> tries to return a bad parameter, so the server-side ORB sends a
> BAD_PARAM exception to the client. The client catches it. I don't
> understand what you think is wrong.
I'm sorry, I should have thought more before posting. My reasoning was
that I couldn't imagine that I have to be prepared on every (potentially remote)
request which involves parameters for that kind of errors. I'm trying to write a
server which is stable even in the face of buggy (or malicious) clients.
I would have thought that attempts of the client to communicate 'bad parameters'
to the server are cought by the ORB, insulating the server's implementation
code completely from such stuff !
However, as I understand now the problem for return values is conceptual.
Even if the client would issue an exception to the server returning a
'bad response', it has to continue somehow, i.e. it can't wait in an endless
loop until the server decides to return a correct result.
Anyway, this now opens up a whole new can of worms, as I have to think about
how to react in this kind of situations...
Thanks a lot, and sorry for the confusion.
Stefan
_______________________________________________________
Stefan Seefeld
Departement de Physique
Universite de Montreal
email: seefelds@magellan.umontreal.ca
_______________________________________________________
...ich hab' noch einen Koffer in Berlin...