Reading the SQLite documentation here, when a process wants to write to a SQLite database it obtains a reserved lock. Then once the process is ready to write to disk it obtains
SQLite does go through these steps, but it timed out while waiting for the remaining shared locks to clear.
You can adjust this timeout with PRAGMA busy_timeout.