How Tailscale helped find the SQLite WAL-Reset bug
tailscale.com · 2,890 words · saved by 1 readers
Tailscale and SQLite developers traced maddening corruption incidents to find the WAL-Reset data race, then uncovered a second stale expression index bug.
At the end of last year, our uptime was pretty shaky. You can see this trend on our status page, and that instability continued into the new year. Many of these outages were caused by a single bug, deep in SQLite. It took months of intense forensics to track it down. Now we’re in summer, we’re confident that we’ve found the bug, that we understand it—and more importantly, that we’ve fixed it. We know our customers expect Tailscale to be a reliable service, and for several months we didn’t live up to that promise. That’s disruptive, and we’re sorry. We’re publishing this blog post to…
saved by
related reading
- How To Corrupt An SQLite Database Filesqlite.org
- How Does a Database Work?cstack.github.io
- Wesley Aptekar-Cassels | Consider SQLiteblog.wesleyac.com
- I'm All-In on Server-Side SQLite · The Fly Blogfly.io
- Databases in 2024: A Year in Review // Blog // Andy Pavlo - Carnegie Mellon Universitycs.cmu.edu
- Write-Ahead Loggingsqlite.org
- Hōrōshi バガボンド (@KatanaLarp) on Xx.com
- Building data-centric apps with a reactive relational databaseriffle.systems
- From Naptime to Big Sleep: Using Large Language Models To Catch Vulnerabilities In Real-World Code - Project Zerogoogleprojectzero.blogspot.com
- From Naptime to Big Sleep: Using Large Language Models To Catch Vulnerabilities In Real-World Code - Project Zerogoogleprojectzero.blogspot.com
- How Notion uses SQLite for Cachingblog.neetcode.io
- Databases in 2025: A Year in Review // Blog // Andy Pavlo - Carnegie Mellon Universitycs.cmu.edu