Tokio + prctl = nasty bug
Recently I encountered a bug so cute that I immediately knew that I will want to share it on my blog. It was one of those bugs that even Rust can’t save you from. It occurred in HyperQueue (HQ), a distributed task scheduler written in Rust that I work on.
Hasnain says:
"Funnily enough, this commit was added to HyperQueue in an enormous pull request that essentially backported most of my benchmarking experiments that I have done over the summer. The PR almost exclusively contained changes only to benchmarks, so it should have been safe to merge without a lot of scrutiny. But it also contained two teeny tiny changes. The PR description that I wrote is quite funny in retrospect:
> This backports the benchmarks that I prepared for my PhD thesis back into the HQ repository. Almost all changes are to the benchmarks repository, and they thus shouldn’t need a lot of review. There are a few changes in HQ though: command spawning optimization and the option to disable authentication for benchmarking.
Well, guess what, the “command spawning optimization” managed to break HyperQueue’s primary functionality for a bunch of users. That’s what I get for sending +3,458 -601 diff pull requests, sigh…"
Posted on 2025-03-16T17:04:08+0000