RFR 8003833: Spurious NPE from Socket.getIn/OutputStream

Chris Hegarty chris.hegarty at oracle.com
Tue Nov 27 03:44:06 PST 2012


This is a longstanding bug in the Socket code that was only noticed 
recently as a result of some test changes that Daniel pushed in the nio 
area.

There is a very small window in 
AbstractPlainSocketImpl.getIn/OutputStream where isClosedOrPending() 
grabs the fdLock to check if the socket is closed, or not, and the 
construction of the in/output stream, where another thread may 
asynchronously close the socket.

http://cr.openjdk.java.net/~chegar/8003833/webrev.00/webrev/

-Chris.



More information about the net-dev mailing list