SQLITE_IOERR_SHMOPEN
SQLiteERRORNotableI/O Errorofficial confidence

I/O error opening WAL shared-memory file

Production Risk

High — WAL-mode reads will fail without -shm.

What this means

SQLITE_IOERR_SHMOPEN (4618) is returned when SQLite cannot open the WAL shared-memory (-shm) file. Without the -shm file WAL-mode readers cannot function.

Why it happens
  1. 1Insufficient permissions to create the -shm file in the database directory.
  2. 2Disk full preventing -shm file creation.
  3. 3Filesystem does not allow new file creation.
How to reproduce

WAL-mode database open when the -shm file cannot be created or opened.

trigger — this will error
trigger — this will error
# ls -la /path/to/database/  # check write permission on directory
# df -h /path/to/database/   # check disk space

expected output

sqlite3.OperationalError: disk I/O error

Fix 1

Fix 2

Sources
Official documentation ↗

sqlite3.h — SQLITE_IOERR_SHMOPEN = 4618

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All SQLite errors