Repository navigation
Description
Brief summary
Sync with a self-hosted sync server never completes. Every sync that receives a non-empty response
fails with SyncResult: databaseError: true. Android treats this as a hard error and does not
retry, and nothing is written to the device — the library stays empty.
Uploads work: data added on the device reaches the server and is stored correctly. Downloads never
apply.
Observed pattern across both of my devices:
- Server responds 204 No Content (nothing changed) → sync succeeds
- Server responds 200 with library contents → sync fails with
databaseError: true
The server returns HTTP 200 and a well-formed body; the failure occurs on the device after the
response is received. Response times of 3.8s and 24.2s both failed identically, so it is not a
timeout.
Server: KotatsuApp/kotatsu-syncserver @ master, MariaDB 11.8, HTTPS via a reverse proxy.
Account data held server-side:
| favourites | 54 (52 not soft-deleted) |
| manga | 97 |
| tags | 190 |
| favourite categories | 4 |
| history entries | 82 |
GET /resource/favourites for this account returns 58,011 bytes of JSON.
logcat
W SyncManager: failed sync operation JobId=100000 .../io.github.landwarderer.futon.sync u0
[io.github.landwarderer.futon.favourites] OTHER ExpectedIn=-27s STANDBY-EXEMPTED(TOP)
Reason=AutoSync, SyncResult: databaseError: true stats []
E SyncManager: not retrying sync operation because the error is a hard error:
JobId=100000 .../io.github.landwarderer.futon.sync u0
[io.github.landwarderer.futon.favourites] OTHER Reason=AutoSync Retries=1
Identical output for io.github.landwarderer.futon.history.
No stack trace is available: on a release build the exception is not written to logcat, so logcat
contains no entry from the app itself. There is nothing in the crash buffer and nothing in
dumpsys dropbox.
adb shell dumpsys content — after enabling both authorities:
Authority Syncable Enabled Tot Fail Time Last Sync
io.github.landwarderer.futon.favourites 1 true 2 2 31s USER FAILURE
io.github.landwarderer.futon.history 1 true 2 2 30s USER FAILURE
Sync Statistics
Today: Success (0) Failure (4 for 61.9s avg=15.4s)
Day-1: Success (0) Failure (58 for 169.8s avg=2.9s)
Week-3: Success (0) Failure (35 for 246.4s avg=7.0s)
Week-11: Success (0) Failure (15 for 33.1s avg=2.2s)
Week-29: Success (0) Failure (4 for 7.0s avg=1.7s)
Zero successful syncs on this account, going back 29 weeks.
Server access log for the same two attempts
POST /resource/favourites 200 in 24241ms
POST /resource/history 200 in 20946ms
POST /resource/favourites 200 in 3835ms
POST /resource/history 200 in 3005ms
I captured the 58 KB response body and can attach it if useful.
Steps to reproduce
- Host
KotatsuApp/kotatsu-syncserverand point Futon at it (Settings → Services →
Synchronization settings → Server address) - Sign in, and upload a library of this size from one device — uploads succeed, and the data is
verifiably stored server-side - On a second device with an empty library, sign in to the same account and sync
- The server responds 200 with the full library; the sync fails and nothing is written locally
Reproducible on demand: two consecutive manual syncs produced the same result.
Futon version
9.8.1
Android version
12
Device
Onyx Boox Note Air 3C
Acknowledgements
- This is not a duplicate of an existing issue. Please look through the list of open issues before creating a new one.
- This is not an issue with a specific manga source. Otherwise, you have to proceed from parsers repository.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsBacklog
Activity