Tailscale, 16-Year-Old SQLite WAL-Reset Bug Identified
Original: Tailscale Traces Database Corruption to 16y/o SQLite WAL-Reset Bug
Why This Matters
Highlights how deeply embedded infrastructure bugs in widely trusted OSS components like SQLite can cascade into production outages.
Tailscale revealed that repeated outages in late 2025 and early 2026 were caused by a 16-year-old bug in SQLite's WAL-reset logic. The company's engineering team spent months on forensic analysis before confirming the root cause and deploying a fix.
Tailscale disclosed that a series of reliability incidents affecting its control plane originated from a long-standing bug deep within SQLite. The company uses SQLite as its primary database across internal coordination servers called shards, an architecture it adopted in 2022. Each shard runs a single Go process with exclusive database access — a single-writer design aligned with SQLite's intended usage model.
Outages were visible on Tailscale's public status page and persisted from late 2025 into early 2026. After months of forensic investigation, engineers traced the instability to a bug in SQLite's WAL (Write-Ahead Logging) reset mechanism, which had apparently existed in the codebase for approximately 16 years.
Tailscale's backup pipeline takes complete database snapshots every few minutes and uploads full SQLite files to S3. The bug caused database corruption that disrupted this pipeline and impacted tailnet availability.
The company stated it has since confirmed the root cause, developed an understanding of the failure mode, and deployed a fix. Tailscale acknowledged that it failed to meet customer reliability expectations during the affected period: '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.' The post also notes Tailscale's role in surfacing the underlying SQLite defect to the broader community.