Hi,
I’m using:
- Server:
- Debian
1110 - Seafile Server 9.0.10
- sqlite3 3.27.2
- Debian
- Client:
- Debian Testing
- Seafile client 8.0.10
I’m getting, server side, “database is locked” errors, quite often, this happens since I’ve upgraded sometime last year.
The errors are:
2023-01-14 18:04:54 ../common/seaf-db.c(1344): sqlite3_prepare_v2 failed SELECT 1 FROM Repo WHERE repo_id=?: database is locked
2023-01-14 18:04:54 http-server.c(901): DB error when check repo existence.
I suppose the locked database is seafile-data/seafile.db
, however if I try to query this db using sqlite3
I get no error.
On the client side this has the effect of sometimes failing to sync with the server and get “Library damaged on server” errors:
[01/14/23 18:43:44] sync-mgr.c(640): Repo 'XXXXXX' sync state transition from initializing to 'error': 'Library damaged on server'
I’ve run seaf-fsck.sh
but no errors where found.
I’ve checked the hardware for errors and, again, found no errors.
I’m running out of ideias.
An unimportant note, the log lines sometimes appear run-together, for example:
2023-01-14 18:28:59 ../common/seaf-db.c(1344): sqlite3_prepare_v2 failed SELECT r.repo_id, s.size, b.commit_id, v.repo_id, v.origin_repo, v.path, v.base_commit, fc.file_count, i.status FROM Repo r LEFT JOIN Branch b ON r.repo_id = b.repo_id LEFT JOIN RepoSize s ON r.repo_id = s.repo_id LEFT JOIN VirtualRepo v ON r.repo_id = v.repo_id LEFT JOIN RepoFileCount fc ON r.repo_id = fc.repo_id LEFT JOIN RepoInfo i on r.repo_id = i.repo_id WHERE r.repo_id = ? AND b.name = 'master': database is locked2023-01-14 18:28:59 ../common/seaf-db.c(1344): sqlite3_prepare_v2 failed SELECT r.repo_id, s.size, b.commit_id, v.repo_id, v.origin_repo, v.path, v.base_commit, fc.file_count, i.status FROM Repo r LEFT JOIN Branch b ON r.repo_id = b.repo_id LEFT JOIN RepoSize s ON r.repo_id = s.repo_id LEFT JOIN VirtualRepo v ON r.repo_id = v.repo_id LEFT JOIN RepoFileCount fc ON r.repo_id = fc.repo_id LEFT JOIN RepoInfo i on r.repo_id = i.repo_id WHERE r.repo_id = ? AND b.name = 'master': database is locked2023-01-14 18:28:59 ../common/seaf-db.c(1344): sqlite3_prepare_v2 failed SELECT r.repo_id, s.size, b.commit_id, v.repo_id, v.origin_repo, v.path, v.base_commit, fc.file_count, i.status FROM Repo r LEFT JOIN Branch b ON r.repo_id = b.repo_id LEFT JOIN RepoSize s ON r.repo_id = s.repo_id LEFT JOIN VirtualRepo v ON r.repo_id = v.repo_id LEFT JOIN RepoFileCount fc ON r.repo_id = fc.repo_id LEFT JOIN RepoInfo i on r.repo_id = i.repo_id WHERE r.repo_id = ? AND b.name = 'master': database is locked2023-01-14 18:28:59 virtual-repo.c(801): Failed to get virt repo 89936eaa-9.