Bug 2789

Summary: Server sends garbled reply in low-memory situations ...
Product: TAO Reporter: Iliyan Jeliazkov <jeliazkov_i>
Component: ORBAssignee: Iliyan Jeliazkov <jeliazkov_i>
Status: NEW ---    
Severity: major    
Priority: P3    
Version: 1.5.5   
Hardware: x86   
OS: Linux   
Bug Depends on: 3127    
Bug Blocks:    

Description Iliyan Jeliazkov 2007-01-30 11:28:19 CST
... like for example when the original reply was so big that there was not
enough memory for it to be marshaled to the client. This happens just outside of
the application code. 

The problem lies in TAO_ServerRequest::tao_send_reply_exception(). Instead of
using the localy allocated output CDR to send the exception reply, the method
was inadvertently changed (in revision 43914, circa March 2002) to use the CDR
associated with the (now failed) reply: this->output_.

The error message after generate_exception_reply(), which is supposed to warn
about failure to use the CDR for writing does not trigger because
generate_exception_reply(0 simply ignores the return value of the method it is
calling (TAO_GIOP_Message_Base::generate_reply_header())
Comment 1 Johnny Willemsen 2007-01-31 08:59:41 CST
to Iliyan