RFR: 8376479: Http3 test server thread deadlock in ThrowingPublishersInRequest [v3]
Daniel Jeliński
djelinski at openjdk.org
Fri Jan 30 09:09:01 UTC 2026
On Thu, 29 Jan 2026 18:17:59 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http3/Http3ServerStreamImpl.java line 368:
>>
>>> 366: @Override
>>> 367: public void close() throws IOException {
>>> 368: if (closeReason.getAndSet(Boolean.TRUE) == Boolean.TRUE) return;
>>
>> Shouldn't this be `!compareAndSet(null, TRUE)`? Otherwise we allow changing the state from `FAILED` to `CLOSED`, which, AFAICT, is not intended.
>
> If it fails, and then you call close(), then it should be closed, regardless on whether it failed before?
Right. Also, read after close may be a user error, so I think we want to report that.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29448#discussion_r2745303774
More information about the net-dev
mailing list