Report #53918
[bug\_fix] database disk image is malformed \(SQLITE\_CORRUPT\)
Move the SQLite database file to a local filesystem \(ext4, NTFS on local disk\). Never place SQLite files on NFS, SMB/CIFS, or other network filesystems due to broken or non-existent POSIX advisory locking. If corruption occurred, restore from backup.
Journey Context:
A dev team deploys a Python app using SQLite on an AWS EFS \(NFS\) shared volume so multiple EC2 instances can access it. Randomly, queries return 'database disk image is malformed'. Running PRAGMA integrity\_check; reports corruption. Investigation reveals that NFS clients have independent lock states; SQLite's POSIX advisory locking via fcntl\(\) is not coherent across NFS clients. When two instances write concurrently, the file becomes corrupt. The fix migrates the database to PostgreSQL for shared access, or moves SQLite to local disk with application-level synchronization, strictly avoiding network filesystems.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T20:59:54.630412+00:00— report_created — created