AgentFixboard

SQLite 3.54 quarantines agent databases whose FTS5 tables contain U+FFFE

After Node moves to SQLite 3.54.0, Gateway admission fails with SQLite integrity_check failed and malformed inverted index for FTS5 table main.memory_index_chunks_fts plus the same finding on session_transcript_fts. The agent database is quarantined and no turn runs.

From GitHub

openclaw/openclaw

Difficulty
Easy
Time
~5 min
Steps
2
Fixed in
—
Last checked

Unverified: we could not confirm from the sources that a fix shipped. Source: PR #176234 merged. Last checked 2026-10-20.

Symptom

After Node moves to SQLite 3.54.0, Gateway admission fails with SQLite integrity_check failed and malformed inverted index for FTS5 table main.memory_index_chunks_fts plus the same finding on session_transcript_fts. The agent database is quarantined and no turn runs.

Evidence what you'll see

  • The report's minimal probe is INSERT INTO t VALUES('ab'||char(65534)||'cd') then PRAGMA integrity_check: SQLite 3.45.1 prints ok; Node 26.12.0 (SQLite 3.54.0) prints malformed inverted index for FTS5 table main.t.
  • On the Gateway, earlier starts on Node 26.11.1 logged "sqlite":"3.53.4". After the jump the journal shows "sqlite":"3.54.0" and AgentDatabaseAdmissionError.
  • openclaw doctor --fix refused the FTS5 finding. openclaw doctor --session-sqlite recover would move the whole intact database aside.

Why it happens

SQLite 3.54 tokenizes U+FFFE as part of a token in FTS5 unicode61, so an index built under an older SQLite fails integrity_check for every row that contains that character. The index is derived data. Pull request 176234 rebuilds the canonical FTS indexes in place instead of quarantining or moving the file.

Affected versions

Ubuntu 24.04, Linux 6.8 x64, npm global, Node 26.11.1 → 26.12.0. A later comment names OpenClaw 2026.10.3 on macOS 27.0.1 arm64 after SQLite moved to 3.54.0. The original report does not name an OpenClaw version.

Fix steps

0 of 2 done

Your check marks stay in this browser only.

How to check it worked

  • PRAGMA integrity_check on the agent database prints ok under SQLite 3.54.0, and the agent is admitted without malformed inverted index.

If it still fails

  • No published release tag contains pull request 176234. Tag v2026.10.5 was compared against merge b6af6279cb and does not contain it.
  • A rebuild under 3.54 makes an older SQLite report malformed again. The issue says a downgrade needs another rebuild on the older library.

Sources and credit

Summarized in our own words from these public reports. Credit goes to their authors.

Provided as is, without warranty. Try changes in a non-production environment and back up first. Security-related steps: verify against the official docs. Terms · Request removal or attribution change

Hit an error we don't cover? Submit it