When "idle" isn't idle: how a Linux kernel optimization became a QUIC bug
ID: cd2ad3e3-f329-5983-a263-83f646752bae
STIX ID: report--cd2ad3e3-f329-5983-a263-83f646752bae
Feed Name: Cloudflare Blog
This report analyzes a functional bug in the CUBIC congestion-control implementation in Cloudflare's open-source quiche QUIC library: under heavy early packet loss followed by recovery, an idle-period adjustment used the last send time rather than the last ACK time, advancing the CUBIC epoch incorrectly and causing the congestion window to become permanently pinned at the two-packet minimum. The authors reproduce the failure in a deterministic test (30% loss for the first 2s), instrument qlogs to observe rapid recovery/avoidance oscillations tied to RTT, identify the root cause (measuring idle from the wrong moment), and implement a minimal fix—track last_ack_time and use max(last_ack_time, last_sent_time)—which restores normal cwnd growth and test pass rates.
Your team is not currently subscribed to this feed. You must subscribe to it in order to see this post.
