Nix wrote half of my debugger
A few days ago I wrote about Rewind VM, a deterministic VM where every run of a Nix build is a pure function of its inputs, thread schedule included! I have been using it to find, reproduce and solve numerous race conditions in Nix builds, but it’s been making me feel a little crazy. What is this superpower, and why is nobody else using it? The tool has quickly grown a source panel, stack frames, bookmarks, a “Compare” tab, a lot more gdb support, thread lanes, which show who held the CPU at every step, and “Check from here”, which…
Summary
Rewind VM is transforming how developers handle race conditions in Nix builds by providing a deterministic environment that simplifies debugging. With features like source panels and thread lanes, it offers powerful tools that could change the debugging landscape—yet its potential seems underutilized.
Comments (58 of ) ⌛