Hi,
I patched Chromium to close the stream immediately after seeing END_STREAM.
In testing, Chromium sends an RST (CANCEL) for this, but HAProxy
replies with an RST (STREAM_CLOSED). This is a MUST NOT (though only a
nuisance for me as Chromium will print warnings for it.):
> To avoid looping, an endpoint MUST NOT send a RST_STREAM in response to a
> RST_STREAM frame.
I put some logging points. This branch is being triggered:
if (h2s->flags & H2_SF_RST_RCVD) {
During this, h2s is h2_closed_stream, and the "closed" stream was
previously deleted from h2_detach.
-klzgrad