{
  "id": 12892048,
  "title": "A failed SQLite integrity check on Windows that reported itself as a POSIX lock conflict",
  "url": "https://urgent.news/2026/10/08/a-failed-sqlite-integrity-check-on-windows-that-reported-itself-as-a",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-08T15:11:10.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/spranab/a-failed-sqlite-integrity-check-on-windows-that-reported-itself-as-a-posix-lock-conflict-obn"
  },
  "original_language": "en",
  "account": "On September 30, 2026, a persistent memory engine called YantrikDB, version 0.23.1, experienced issues on a Windows 11 machine running Python 3.14.7 and sqlite3 3.53.1. The engine, written in Rust with Python bindings available on PyPI, encountered a failure when attempting to write to a shared-memory file, resulting in SQLite reporting a POSIX lock conflict.\n\nThe error was caused by a failed integrity check, which the YantrikDB engine interpreted as an in-process foreign SQLite library, even though the platform (Windows) does not support this behavior. The ForeignSqliteGuard detector, responsible for identifying such conflicts, was inert on Windows, leading to the false error report.\n\nThe detector relied on the note_integrity() function, which called PRAGMA quick_check(1) to verify the database's integrity. However, on Windows, this check was the only factor that could set the tainted flag, resulting in every refusal of the write operation being attributed to a failed integrity check.\n\nThe error message provided no indication of the actual cause, leading users to attempt closing connections, checking integrity, and reopening the engine. However, there was no reopen() or recover() function available, and restarting the entire application was the only solution. This left the database with a growing WAL file, causing performance issues.\n\nTo address this bug, a fix was released in version 0.23.2. The solution included a new IntegrityCheckFailed error, with a message containing the quick_check result. The ForeignSqliteInstance was raised only by the in-process detector, eliminating the Windows-specific error. The stats() function now displayed the cause, and a repair process was added to detect and resolve issues from another process. The final fix involved a one-time failure count, preventing repeated errors from triggering the same response.",
  "summary": "For several hours on 2026-09-30, every memory write from a Hermes Agent install on a Windows 11 machine failed with this: YantrikDB unavailable: remember failed: refusing to write: another SQLite library has C:/Users/<user>/AppData/Local/hermes/yantrikdb-memory-ml.db open in this process (issue #225 - POSIX locks are per process, so its unlock releases the engine's and the two writers would…",
  "key_points": [
    "YantrikDB version 0.23.1 experienced SQLite integrity check failure on Windows.",
    "Failed integrity check reported as POSIX lock conflict, misleading error message.",
    "Fixed in version 0.23.2 with new IntegrityCheckFailed error and repair process."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}