Când „inactiv” nu e inactiv: cum o optimizare a kernelului Linux a devenit o eroare QUIC
Cloudflare a dezvăluit cum o optimizare a kernelului Linux a transformat conexiunile QUIC „leneșe” într-o spirală a morții — și cum au reparat-o.

Inginerii Cloudflare s-au lovit de o eroare care sună ca o glumă: kernelul Linux a decis că o conexiune QUIC „doar se odihnește” și a trimis-o la pământ. De fapt, conexiunea transmitea activ date — doar că foarte eficient.
Problema e la o optimizare care face kernelul să creadă că socketul e inactiv dacă nu au fost apeluri de sistem. QUIC, spre deosebire de TCP, poate funcționa fără ele — datele circulă direct prin spațiul utilizatorului. Așa că kernelul gândea: „Ei, dacă nu mă deranjează, pot să-l omor”. Și conexiunea cădea.
Cloudflare a numit asta „spirala morții”: la reconectări repetate, kernelul le omora din nou, și tot așa. E ca și cum bunica oprește routerul Wi-Fi noaptea să se odihnească, iar dimineața se miră că nu merge internetul.
Patch-ul a fost deja trimis în mainline-ul kernelului. Dezvoltatorii sunt sfătuiți să actualizeze dacă folosesc QUIC și observă întreruperi ciudate — poate nu e arhitectura lor, ci Linux care „are grijă” de economisirea energiei.
Comentariul studioului METABYTE: Și noi am dat vina pe propriul cod de câteva ori, până am aflat că kernelul doar „ajuta” — în stilul „ți-am șters fișierele să nu te încurce”. Dacă rețelele voastre se comportă ciudat, poate merită să vă uitați în adâncurile kernelului, nu să acuzați imediat dezvoltatorii.
URMATORUL PAS
Ti-a placut abordarea?
Aplicam aceleasi principii in proiectele clientilor: AI, automatizari, produse care nu se sting dupa lansare.