Get the latest tech news
Chasing a Bug in a SAT Solver
Recently I spent two weeks collaborating with Prefix.dev to further develop resolvo, their SAT-based dependency solver. The main goal was to fix a nasty bug, where the solver unexpectedly panicked upon hitting code that was supposed to be unreachable. “That will make for a good war story!”, I thought, so I kept notes of my debugging process to serve as a basis for this article. I was being overly pessimistic, though, thinking it would take days to find the source of the bug… In reality it took me only a few hours, so there’s not much to tell about the chase itself.
The main goal was to fix a nasty bug, where the solver unexpectedly panicked upon hitting code that was supposed to be unreachable. There is actually something small that made me happy and I find worth sharing: that a random person on the internet set me up for success, as you will discover below. A real-world installation of a package involves lots of work in the dependency solver, generating a huge amount of logs and making it almost impossible to find the source of the problem.
Or read this on Hacker News