RFR: 7056731: Race condition in CORBA code causes re-use of ABORTed connections

Lance Andersen - Oracle Lance.Andersen at oracle.com
Wed Aug 15 14:03:21 UTC 2012


Hi Sean,

This looks good.

Best
Lance
On Aug 14, 2012, at 12:38 PM, Seán Coffey wrote:

> I'm looking to forward port this corba fix from 6u34 to jdk8 (and eventually port to 7u)
> 
> d.macdonald at auckland.ac.nz originally reported this issue and I'll be marking the fix as contributed by him. He's already signed the OCA. There's a good description in bug report. We have a race like condition if the corba server is shut down while there are still workers/client threads in a waiting queue waiting for server. The issue arises when the purgeCalls method marks a socket state as ABORTed or CLOSE_RECVD but fails to remove that socket from the socket connectionCache. Fix is to wrap the removal of the socket in a finally block.
> 
> The CorbaResponseWaitingRoomImpl changes are more focused on ensuring that the Map holding these clients is better synchronized.
> 
> webrev : http://cr.openjdk.java.net/~coffeys/webrev.7056731.jdk8/ <http://cr.openjdk.java.net/%7Ecoffeys/webrev.7056731.jdk8/>
> bug report : http://bugs.sun.com/view_bug.do?bug_id=7056731
> 
> Regards,
> Sean.


Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
Lance.Andersen at oracle.com




More information about the core-libs-dev mailing list