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.jsonprintedCannot stat /app/package.json: Invalid argumentandCannot find socket's device number. - On the volume,
mv --exchange --no-copy -Tprintedmv: 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 --fixrefuses immediately with a named limit, without a multi-minutegetfaclinventory, on a host that lacksRENAME_EXCHANGEor a workingfuser.
If it still fails
- No published release tag contains pull request 171991. Tags
v2026.10.3,v2026.10.4, andv2026.10.5were compared against merge4a4f0d22b595and 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