OpenJDK HTTP Client Bug (original) (raw)
Chris Hegarty chris.hegarty at oracle.com
Sat Mar 2 00:37:30 PST 2013
- Previous message: hg: jdk8/tl/jdk: 8006645: TEST_BUG: java/nio/file/Files/CopyAndMove.java failing intermittently (sol)
- Next message: hg: jdk8/tl/jdk: 8008378: FJP.commonPool support parallelism 0, add awaitQuiescence
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[bcc'ing off jdk7-dev at openjdk.java.net, and including net-dev at openjdk.java.net]
Hi Stuart,
Thanks for reporting this issue.
It does indeed look like a regression/side-effect of that recent change. There is no sign of your attached patch, maybe it got stripped by mailman. You can probably just post it inline.
Thanks, -Chris.
On 03/02/2013 08:18 AM, Stuart Douglas wrote:
Hello everyone,
(This is my first post to this list, so I am not 100% sure if this is the right place). I have run into a bug in the JDK HttpClient that was caused by a recent commit: http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/diff/e6dc1d9bc70b/src/share/classes/sun/net/www/http/HttpClient.java
The method sun.net.www.http.HttpClient#available() can throw java.net.SocketException, which can cause the creation of the HttpClient to fail. This will happen if there is a connection in the cache that has timed out and the socket has been closed. I have attached a small patch that should resolve the problem, although due to its intermittent nature I have not been able to verify with 100% certainty. The exception is: Caused by: java.net.SocketException: Socket Closed at java.net.PlainSocketImpl.getOption(PlainSocketImpl.java:286) at java.net.Socket.getSoTimeout(Socket.java:1032) at sun.net.www.http.HttpClient.available(HttpClient.java:356) at sun.net.www.http.HttpClient.New(HttpClient.java:273) at sun.net.www.http.HttpClient.New(HttpClient.java:310) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:987) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:923) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:841) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1031) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1410)
This issue also seems to affect JDK 6, and it appears that other people have also run into this: http://stackoverflow.com/questions/14270311/rather-mysterious-socketexception-with-java-1-6-on-centos-4 I attempted to file a bug for this on the Oracle website, however as far as I can tell it was ignored. Stuart
- Previous message: hg: jdk8/tl/jdk: 8006645: TEST_BUG: java/nio/file/Files/CopyAndMove.java failing intermittently (sol)
- Next message: hg: jdk8/tl/jdk: 8008378: FJP.commonPool support parallelism 0, add awaitQuiescence
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]