RFR: 8376479: Http3 test server thread deadlock in ThrowingPublishersInRequest [v2]

Daniel Jeliński djelinski at openjdk.org
Wed Jan 28 08:23:25 UTC 2026


On Tue, 27 Jan 2026 17:06:48 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

>> test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http3/Http3ServerStreamImpl.java line 331:
>> 
>>> 329:             }
>>> 330:             ByteBuffer buffer = current();
>>> 331:             if (buffer == QuicStreamReader.EOF) {
>> 
>> Assume `current()` has failed and called `close(io)`, which registered `error`. If `buffer == EOF` (line 331) doesn't hold — which, AFAICT, it can — we will return `buffer.get() & 0xFF`. I guess this would be unexpected, right?
>
> Right. I'll change that; nothing in the `InputStream` spec states that the stream must be left in an unusable state after an exception, so I'll just stop setting the error here.

Changed; the InterruptedIOException does not set `error` anymore, so if the caller of `read()` chooses to clear the interrupted status, it's possible to keep reading from the stream after the exception.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/29448#discussion_r2735398793


More information about the net-dev mailing list