]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MAJOR: Revert "MEDIUM: mux-quic: add BUG_ON if sending on locally closed QCS"
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 16 Feb 2026 15:41:50 +0000 (16:41 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 17 Feb 2026 17:18:44 +0000 (18:18 +0100)
commitf3003d1508985b0863d594d82c953b13c87a3280
tree5e5208a03d153102550373d3042443ce79ebfbee
parent747ff09818996bdc3667ceb8d2a11c367095e869
BUG/MAJOR: Revert "MEDIUM: mux-quic: add BUG_ON if sending on locally closed QCS"

This reverts commit 235e8f1afd7e9753a26051b30c47ecc398ccfd12.

Prior to the above commit, snd_buf callback for QUIC MUX was able to
deal with data even after stream closure. The excess was simply
discarded, as no STREAM frame can be emitted after FIN/RESET_STREAM.
This code was later removed and replaced by a BUG_ON() to ensure snd_buf
is never called after stream closure.

However, this approach is too strict. Indeed, there is nothing in the
haproxy stream architecture which forbids this scheduling, in part
because QUIC MUX is the sole responsible of the stream closure. As such,
it is preferable to revert to the old code to prevent any triggering of
a BUG_ON() failure.

Note that nego_ff does not implement data draining if called after
stream closure. This will be done in a future patch.

Thanks to Mike Walker for his investigation on the subject.

This must be backported up to 2.8.
include/haproxy/qmux_http.h
src/mux_quic.c
src/qmux_http.c