Bug 1222

Summary: ORB stack overflows with crashes during write()
Product: TAO Reporter: Carlos O'Ryan <coryan>
Component: ORBAssignee: DOC Center Support List (internal) <tao-support>
Status: RESOLVED FIXED    
Severity: major CC: bala
Priority: P3    
Version: 1.2.3   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 1202    
Attachments: Proposed patches to solve this bug.

Description Carlos O'Ryan 2002-06-12 18:08:36 CDT
This is basically a bug to break apart bug 1202 into more manageable pieces.

Supposed the ORB is running nested event loops to some connection (say the
connections is flow controlled), now suppose the connection is closed by the
peer (for example it crashes.)  The ORB should notify all the queued messages on
that connection about the closure, so the nested event loops can exit.

However, several places in the ORB close the connection and then expect the
destructor of the Transport for notify the queued messages, however, the
destructor won't get called because there are still references to the transport
(in the nested event loops!)

The Nested_Upcall_Crashes test can reproduce this problem (sometimes), I expect
I'll be able to submit patches shortly.
Comment 1 Carlos O'Ryan 2002-06-14 12:35:10 CDT
Created attachment 121 [details]
Proposed patches to solve this bug.
Comment 2 Carlos O'Ryan 2002-06-14 13:16:24 CDT
Fixed, please read the following ChangeLog entry for all the gory details:
Fri Jun 14 13:58:56 2002  Carlos O'Ryan  <coryan@atdesk.com>
Comment 3 Simon McQueen 2002-08-08 04:33:56 CDT
*** Bug 1150 has been marked as a duplicate of this bug. ***