TGViewer
Блог* Блог* @dereference_pointer_there · 1.98K subscribers
Post #11220 808
#prog #rust #article

How we found a bug in the hyper HTTP library

None of the tools at the application level surfaced any errors, crashes, or log entries that provided useful clues. Application-level observability can have a blind spot for bugs that live below its awareness.

The failure occurred intermittently, scaled with response size, couldn’t be reproduced with simple tools like curl, and disappeared when we observed the system more closely. These signals pointed to a timing-dependent bug in the connection layer, not in the application logic.

Our breakthrough came from using kernel-level tooling with strace, the one layer that records what actually happened on the socket. The underlying bug lived in the few milliseconds between a partial flush and a premature shutdown — a window that opened only after we made the system faster.


Баг присутствовал в нескольких мажорных версиях hyper и, что иронично, проявился в Cloudflare из-за, в конечном счёте, оптимизаций архитектуры. А ещё это хорошее напоминание, что Rust защищает от гонок данных, но не от состояния гонок в целом.
Cloudflare Blog How we found a bug in the hyper HTTP library By rearchitecting the Images binding, we accidentally uncovered a bug that existed in the open-source hyper library across multiple major versions.
  • 👍 8
More from @dereference_pointer_there
  1. Sep 28, 2026Покраденное но прекрасное
  2. Sep 28, 2026Игру также портировали на Android
  3. Sep 28, 2026Source (без редактирования)
  4. Sep 27, 2026photo post
  5. Sep 27, 2026#meme про прожиг дисков
  6. Sep 27, 2026Если вы считаете себя бесстрашным, попробуйте познакомиться с женщиной.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →