How we tracked down a 16-year-old SQLite bug

A Tailscale engineer traces months of database corruption to an SQLite bug.

Author
Alex Chan, Tailscale
Published
12 August 2026
Kind
Company engineering blog post, incident postmortem
Original
tailscale.com/blog/sqlite-wal-reset-bug
Subject
Databases and storage
Themes
How things break

What it is

Alex Chan writes for Tailscale's blog. The post explains an outage-prone period and apologizes for it. It also tells how the team helped expose the WAL-reset bug.

What it says

What evidence it gives

The evidence is Tailscale's own incident history and logs. A custom warning fired in production, two months after deployment. The post says four months then passed without a database incident. It shows no controlled reproduction by Tailscale.

Interests and limits

Tailscale is a vendor writing about its own outages. The cause is called likely, not proven in every incident. Its manual checkpointing is unusual, so the odds may not apply to typical SQLite users. The post says Tailscale funded the shim that helped isolate the bug.

Connections

These links are this wiki's own reading, not claims the sources make.