Bug 1042

Summary: POA ignores exception on postinvoke()
Product: TAO Reporter: pphillip
Component: POAAssignee: Irfan Pyarali <irfan>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: P3    
Version: 1.1.20   
Hardware: x86   
OS: Windows 2000   
Attachments: Postinvoke exception ignored test program.

Description pphillip 2001-09-28 10:47:25 CDT
When using a servant locator, the POA ignores any exception thrown on postinvoke
().  In fact, in the remote invokation case, the reply is actually sent to the 
client before postinvoke() is even called.

This seems to violate the POA spec which reads (in 11.3.6.2):

>The postinvoke operation is considered to be part of a request on an
>object.That is, the request is not complete until postinvoke finishes.
>If the method finishes normally but postinvoke raises a system exception,
>the method's normal return is overridden; the request completes with the
>exception.

I've actually tested this in 1.1.21.

I'll try to attach some test code.

It looks like postinvoke() is called via the destructor of the servant_upcall.
It would be possible to call postinvoke() earlier and tell the upcall object
not to call postinvoke() but code would have to be added to forward the
exception.
Comment 1 pphillip 2001-09-28 10:49:21 CDT
Created attachment 84 [details]
Postinvoke exception ignored test program.
Comment 2 Irfan Pyarali 2001-09-28 15:03:08 CDT
Accepted, but I am not sure when I'll be able to get to it.
Comment 3 Irfan Pyarali 2001-09-28 15:08:27 CDT
Duplicate report

*** This bug has been marked as a duplicate of 663 ***