Bug 3068

Summary: A bidirectional CORBA server crashes upon callback invocation
Product: TAO Reporter: ciju john <john_c>
Component: ORBAssignee: ciju john <john_c>
Status: NEW ---    
Severity: major CC: mitza
Priority: P5    
Version: 1.6   
Hardware: All   
OS: All   
Bug Depends on: 2935    
Bug Blocks:    
Attachments: Test to showcase Transport_Cache race condition. Fails very occasionally.

Description ciju john 2007-09-10 17:00:54 CDT
This documents a race condition in the Transport_Cache that was brought up by one of our(OCI) clients.

The problem is that an internal pointer used to test intermediate return values to the cache may be deleted by one thread before another thread tries to use it.

This situation is replicated by having a bidirectional connection set up between a client and a server, the client provides a callback reference that the server uses via the bidir connection. The server uses multiple threads to force a thread into the wait state, and the client terminates abruptly, setting the condition for the race.

I will be attaching a test for this soon.

Ciju
Comment 1 ciju john 2007-09-10 17:59:02 CDT
Created attachment 849 [details]
Test to showcase Transport_Cache race condition. Fails very occasionally.
Comment 2 Johnny Willemsen 2007-09-11 00:15:57 CDT
Can you add the regression to the repo?
Comment 3 Johnny Willemsen 2007-09-11 01:48:51 CDT
reassigned, regression test needs structural updates to remove all deprecated things, mpc file can be simplified using taoserver/taoclient
Comment 4 Johnny Willemsen 2007-09-11 01:52:23 CDT
has this been reproduced on x.6? The test program seems to be from before the release date
Comment 5 Johnny Willemsen 2007-09-11 06:11:52 CDT
(In reply to comment #4)
> has this been reproduced on x.6? The test program seems to be from before the
> release date
> 

The reason I ask is because OCI 1.5ap2 has a different transport cache then svn head
Comment 6 ciju john 2007-09-11 10:40:49 CDT
(In reply to comment #5)
> (In reply to comment #4)
> > has this been reproduced on x.6? The test program seems to be from before the
> > release date
> > 

yes
> 
> The reason I ask is because OCI 1.5ap2 has a different transport cache then svn
> head
> 

This test failed in builds against the DOC head as of yesterday (10/10/07). I will cleanup and commit as soon as I can.
Comment 7 Adam Mitz 2008-08-07 17:00:57 CDT
I cleaned up and added the test.

Thu Aug  7 21:30:32 UTC 2008  Adam Mitz  <mitza@ociweb.com>

        * tests/Bug_3068_Regression:

          Added a test for bug 3068.