AgentFixboard

openclaw doctor NOCOW repair on Linux 4.4 inventories every file before refusing

openclaw doctor --fix spends minutes, then refuses with SQLite NOCOW repair refused for <dir>: Error: fuser could not establish that all handles are closed.

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 #171991 merged. Last checked 2026-10-19.

Symptom

openclaw doctor --fix spends minutes, then refuses with SQLite NOCOW repair refused for <dir>: Error: fuser could not establish that all handles are closed.

Evidence what you'll see

  • On the reported host, fuser -v /app/package.json printed Cannot stat /app/package.json: Invalid argument and Cannot find socket's device number.
  • On the volume, mv --exchange --no-copy -T printed mv: cannot exchange 'a' and 'b': Operation not supported.
  • The main store was 4.3 GB in 6,217 files, and that inventory added about six minutes to every gateway start that runs doctor.

Why it happens

Doctor ran a per-file inventory and ACL read before it checked that fuser can inspect handles and that RENAME_EXCHANGE works. btrfs gained that rename from Linux 4.7. Pull request 171991 preflights each filesystem once, before any inventory.

Affected versions

Synology DS218+, DSM 7.4.1, kernel 4.4.302+, state directory on btrfs. The report used an image whose mv supports --exchange (coreutils 9.5 or later) and fuser from psmisc 23.6.

Fix steps

0 of 2 done

Your check marks stay in this browser only.

How to check it worked

  • openclaw doctor --fix refuses immediately with a named limit, without a multi-minute getfacl inventory, on a host that lacks RENAME_EXCHANGE or a working fuser.

If it still fails

  • No published release tag contains pull request 171991. Tags v2026.10.3, v2026.10.4, and v2026.10.5 were compared against merge 4a4f0d22b595 and do not contain it.
  • The official Docker image skip is a related report (#171930); moving the runtime base image is left to a maintainer decision.

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