Tailscale says deeply buried 16-year-old SQLite bug caused last year's outages
Think your bugs are a pain to track? WAL-Reset took six months of hunting and development of a new logging tool to identify
Tailscale, a peer-to-peer networking service, experienced unexpected outages during the past year due to a 16-year-old bug in SQLite's write-ahead log. The Tailscale team determined the issue after a six-month investigation, which required the SQLite maintainers to create a new tool to log virtual file system activity. SQLite, used as the primary database since 2022, has been designed for low complexity and ease of implementation.
The bug, dubbed the WAL-Reset bug, lies within SQLite's checkpointing process, which transfers database entries from a temporary hopper to the master database file. When multiple database connections are open on the same file, and there is simultaneous reading and writing, the checkpointing process can become confused and result in permanently lost data.
SQLite maintainers discovered that this bug has been present since version 3.7.0, released in July 2010. Tailscale users should update to a fixed version of SQLite to mitigate the risk of this rare but serious issue.
Written by urgent.news from The Register Science's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.
This story
This is one outlet's version. Read the fullest account.