El incidente se manifestó como fallos intermitentes en las pruebas de integración de Cloudflare para QUIC, donde CUBIC no lograba recuperarse de una fase de alta pérdida de paquetes, manteniendo su congestion window (cwnd) anclada en el mínimo. La causa raíz fue una implementación defectuosa de un ajuste para el período de inactividad de CUBIC, originalmente introducido en el kernel de Linux y luego portado a la implementación de QUIC de Cloudflare, 'quiche'. El bug residía en cómo se calculaba la duración de la inactividad: en lugar de medir el tiempo real en que la conexión estaba inactiva, el código medía el tiempo desde el último paquete enviado, lo que, en condiciones de cwnd mínima (dos paquetes), equivalía a un RTT completo.
Esta medición incorrecta del 'idle time' provocaba que el congestion_recovery_start_time se adelantara artificialmente en cada ciclo de ACK. Como resultado, CUBIC percibía la conexión como constantemente en un estado de recuperación o inactividad, lo que le impedía incrementar su cwnd. Esto creaba un 'death spiral' o trampa de recuperación auto-perpetuante: cada ACK vaciaba el buffer, el siguiente envío detectaba bytes_in_flight == 0, calculaba un delta de inactividad inflado (aproximadamente un RTT), y adelantaba el recovery_start_time al futuro, manteniendo el cwnd en el mínimo y el ciclo de estancamiento.
Las salvaguardas fallaron porque el bug se manifestaba en un 'corner case' específico: cwnd mínimo después de una pérdida severa, un escenario que no era cubierto por las pruebas de estado estable o crecimiento. Además, la naturaleza del bug (un ajuste de tiempo sutil que se amplificaba en condiciones extremas) lo hacía indetectable por revisiones estáticas o métricas de throughput generales. La oscilación entre estados de recuperación y evitación de congestión, sincronizada con el RTT, fue la pista clave para diagnosticar el problema, revelando que el controlador estaba malinterpretando el estado de la red.