Urgent.News

What's breaking now, across thousands of outlets.

Tech

A failed SQLite integrity check on Windows that reported itself as a POSIX lock conflict

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…

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.

The 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.

The 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.

The 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.

To 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.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Bengal Download Manager: The Free IDM Alternative for Ubuntu

Bengal Download Manager is a free and open-source download manager for Linux. It is an alternative to IDM (Internet Download Manager) on Windows, and as the name suggests, it is made for fast…

  • Bengal Download Manager is free, open-source download manager for Linux.
  • Compatible with Ubuntu and other Linux distributions.
  • Supports resume, multi-threaded downloads, and proxy servers.

More from Thursday 8 October →