-
Bug
-
Resolution: Fixed
-
P4
-
None
-
b13
-
sparc
-
solaris
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8309996 | 11.0.21 | Goetz Lindenmaier | P4 | Resolved | Fixed | b01 |
JDK-8303857 | 11.0.20-oracle | Ramesh Gangadhar | P4 | Resolved | Fixed | b01 |
Occasionally, a test server may receive traffic which does not come from its expected client. Ideally, servers should be resilient to that situation.
HTTPSetAuthenticatorTest uses an experimental tunneling proxy that may simply fail and stop listening to requests if something unexpected happens:
Tunnel: Waiting for client
Tunnel: Client accepted
Tunnel: Reading request line
----------System.err:(88/6668)----------
WARNING: HttpsProxyTunnel is an experimental test class
java.lang.StringIndexOutOfBoundsException: index -1,length 0
at java.base/java.lang.String.checkIndex(String.java:3402)
at java.base/java.lang.AbstractStringBuilder.codePointAt(AbstractStringBuilder.java:392)
at java.base/java.lang.StringBuilder.codePointAt(StringBuilder.java:85)
at HTTPTestServer$HttpsProxyTunnel.readLine(HTTPTestServer.java:1039)
at HTTPTestServer$HttpsProxyTunnel.run(HTTPTestServer.java:1069)
at java.base/java.lang.Thread.run(Thread.java:830)
java.net.SocketException: Connection reset
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:184)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:138)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:910)
at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:252)
at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:292)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:746)
at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689)
at java.base/sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnection.java:2074)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:169)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1581)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:303)
at HTTPTestClient.connect(HTTPTestClient.java:51)
at HTTPSetAuthenticatorTest.run(HTTPSetAuthenticatorTest.java:142)
at HTTPTest.test(HTTPTest.java:202)
at HTTPTest.test(HTTPTest.java:176)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at HTTPTest.execute(HTTPTest.java:169)
at HTTPSetAuthenticatorTest.main(HTTPSetAuthenticatorTest.java:97)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:830)
HTTPSetAuthenticatorTest uses an experimental tunneling proxy that may simply fail and stop listening to requests if something unexpected happens:
Tunnel: Waiting for client
Tunnel: Client accepted
Tunnel: Reading request line
----------System.err:(88/6668)----------
WARNING: HttpsProxyTunnel is an experimental test class
java.lang.StringIndexOutOfBoundsException: index -1,length 0
at java.base/java.lang.String.checkIndex(String.java:3402)
at java.base/java.lang.AbstractStringBuilder.codePointAt(AbstractStringBuilder.java:392)
at java.base/java.lang.StringBuilder.codePointAt(StringBuilder.java:85)
at HTTPTestServer$HttpsProxyTunnel.readLine(HTTPTestServer.java:1039)
at HTTPTestServer$HttpsProxyTunnel.run(HTTPTestServer.java:1069)
at java.base/java.lang.Thread.run(Thread.java:830)
java.net.SocketException: Connection reset
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:184)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:138)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:910)
at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:252)
at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:292)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:746)
at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689)
at java.base/sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnection.java:2074)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:169)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1581)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:303)
at HTTPTestClient.connect(HTTPTestClient.java:51)
at HTTPSetAuthenticatorTest.run(HTTPSetAuthenticatorTest.java:142)
at HTTPTest.test(HTTPTest.java:202)
at HTTPTest.test(HTTPTest.java:176)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at HTTPTest.execute(HTTPTest.java:169)
at HTTPSetAuthenticatorTest.main(HTTPSetAuthenticatorTest.java:97)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:830)
- backported by
-
JDK-8303857 HTTPSetAuthenticatorTest could be made more resilient
-
- Resolved
-
-
JDK-8309996 HTTPSetAuthenticatorTest could be made more resilient
-
- Resolved
-