RFR: 7056731: Race condition in CORBA code causes re-use of ABORTed connections
sean.coffey at oracle.com
Tue Aug 14 16:38:25 UTC 2012
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/
bug report : http://bugs.sun.com/view_bug.do?bug_id=7056731
More information about the core-libs-dev