Operating system
Windows
Joplin version
3.5.6
Desktop version info
Joplin 3.5.6 (prod, win32)
Device: win32, Intel(R) Core(TM) Ultra 9 185H
Client ID: f86df5c6c33641508723d7b5f05261e6
Sync Version: 3
Profile Version: 49
Keychain Supported: Yes
Alternative instance ID: alt1
Revision: ffb3276
Backup: 1.4.3
Freehand Drawing: 3.1.0
Sync target
Joplin Cloud
What issue do you have?
I have two separate Joplin Cloud accounts, one for me, one for my wife. Joplin on my PC has been fine, same with Joplin on wife's PC. Today I wanted to get my wife's info on to my PC, so I used "Open secondary app instance...", went into the Sync settings on the second instance and entered my wife's credentials in the Joplin Cloud settings. Everything looked ok on the Synchronization settings, but when I try to sync, it runs for a while, then I get errors. Here's a piece of the log.txt file:
2025-11-05 11:18:53: JoplinServerApi: [warn] curl -v -X GET -H "X-API-AUTH: ******" -H "X-API-MIN-VERSION: 2.6.0" 'https://api.joplincloud.com/api/items/root:/:/delta?'
2025-11-05 11:18:53: JoplinServerApi: [warn] Code: 504
2025-11-05 11:18:53: JoplinServerApi: [warn] Error: Error 504 Gateway Timeout:
504 Gateway Time-out
504 Gateway Time-out
nginx/1.18.0 (Ubuntu)
Code: 504
Error: Error 504 Gateway Timeout:
504 Gateway Time-out
504 Gateway Time-out
nginx/1.18.0 (Ubuntu)
at newError (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3296:1960)
at dRt.exec_ (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3296:2359)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async dRt.exec (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3296:2709)
at async bAt.delta (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3293:7424)
at async tryAndRepeat (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3207:100081)
at async e.apiCall (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3293:63760)
at async e.start (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3293:71566)
at async timeoutCallback (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3181:26834)
Hm, now I see similar errors in the log.txt for my Joplin profile. Maybe Joplin Cloud is just down/having troubles? Or am I doing something wrong?
Thanks!
Log file
log.txt (186 KB)
Hello, sorry about this, we're indeed having troubles with Joplin Cloud at the moment, but if you try again later it should hopefully work. We intend to address this soon by upgrading the hardware
Ah ok. Is there perhaps a page I can check that shows current status?
Also, I am a retired software developer, so I have some time available if I can be of any assistance on the Joplin Cloud software? It looks like JC is not open source like Joplin itself? Please advise..
The status page should appear when the server is down. And thank you for the help, but the issue is specific to Joplin Cloud which indeed is not open source. We've started adjusting the database parameters and it seems to help - we'll be monitoring it over the next few days to be sure.
Hm, it seems to be a little better – my account syncs ok. But my wife’s account is now showing this error many times in the log:
2025-11-06 06:17:43: JoplinServerApi: [warn] curl -v -X GET -H "X-API-AUTH: ******" -H "X-API-MIN-VERSION: 2.6.0" 'https://api.joplincloud.com/api/items/root:/:/delta?'
2025-11-06 06:17:43: JoplinServerApi: [warn] Code: 57014
2025-11-06 06:17:43: JoplinServerApi: [warn] Error:
WITH cte1 AS MATERIALIZED (
SELECT "id", "item_id", "item_name", "type", "updated_time", "counter"
FROM "changes"
WHERE counter > $1
AND (type = $2 OR type = $3)
AND user_id = $4
ORDER BY "counter" ASC
LIMIT $5
)
, cte2 AS MATERIALIZED (
SELECT "id", "item_id", "item_name", "type", "updated_time", "counter"
FROM "changes"
WHERE counter > $6
AND type = $7
AND item_id IN (SELECT item_id FROM user_items WHERE user_id = $8)
ORDER BY "counter" + 0 ASC
LIMIT $9
)
TABLE cte1
UNION ALL
TABLE cte2
ORDER BY counter ASC
LIMIT $10
- canceling statement due to statement timeout
Code: 57014
Error:
WITH cte1 AS MATERIALIZED (
SELECT "id", "item_id", "item_name", "type", "updated_time", "counter"
FROM "changes"
WHERE counter > $1
AND (type = $2 OR type = $3)
AND user_id = $4
ORDER BY "counter" ASC
LIMIT $5
)
, cte2 AS MATERIALIZED (
SELECT "id", "item_id", "item_name", "type", "updated_time", "counter"
FROM "changes"
WHERE counter > $6
AND type = $7
AND item_id IN (SELECT item_id FROM user_items WHERE user_id = $8)
ORDER BY "counter" + 0 ASC
LIMIT $9
)
TABLE cte1
UNION ALL
TABLE cte2
ORDER BY counter ASC
LIMIT $10
- canceling statement due to statement timeout
at newError (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3296:1960)
at dRt.exec_ (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3296:2320)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async dRt.exec (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3296:2709)
at async bAt.delta (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3293:7424)
at async tryAndRepeat (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3207:100081)
at async e.apiCall (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3293:63760)
at async e.start (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3293:71566)
at async timeoutCallback (file:///C:/Users/leebr/AppData/Local/Programs/Joplin/resources/app.asar/main-html.bundle.js:3181:26834)
I’m getting this:
Completed: 2025-11-06 8:20 AM (209s)
Last error: Error: WITH cte1 AS MATERIALIZED ( SELECT "id", "item_id", "item_name", "type", "updated_time", "counter" FROM "changes" WHERE counter > $1 AND (type = $2 OR type = $3) AND user_id = $4 ORDER BY "counter" ASC LIMIT $5 ) , cte2 AS MATERIALIZED ( SELECT "id", "item_id", "item_name", "type", "updated_time", "counter" FROM "changes" WHERE counter > $6 AND type = $7 AND item_id IN (SELECT item_id FROM user_items WHERE user_id = $8)
Synchronize
New noteNew to-do
and now I’m getting “504 Gateway Time-out” again.
Please keep trying if it didn't work earlier. There was an issue with the timeout being too low and that should be improved now
Hm. The sync setting is ‘every 5 minutes’ so it has been trying and trying all day. Still getting “504 Gateway Time-out” (as of 1 minute ago). I am on the west coast of the US, if that matters.
Also noticed that the 504 errors are on my wife’s account (which, btw, is quite large, lots of notes and lots of attachments). My account seems to be sync’ed (I have not made any edits recently, so nothing really needs to sync), but I’m seeing these errors:
2025-11-06 12:10:04: JoplinServerApi: [warn] curl -v -X GET -H "X-API-AUTH: ******" -H "X-API-MIN-VERSION: 2.6.0" 'https://api.joplincloud.com/api/items/root:/info.json:/content'
2025-11-06 12:10:04: JoplinServerApi: [warn] Code: ECONNRESET
2025-11-06 12:10:04: JoplinServerApi: [warn] FetchError: request to https://api.joplincloud.com/api/items/root:/info.json:/content failed, reason: read ECONNRESET
Code: ECONNRESET
FetchError: request to https://api.joplincloud.com/api/items/root:/info.json:/content failed, reason: read ECONNRESET
at ClientRequest. (C:\Users\leebr\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\node-fetch\lib\index.js:1491:11)
at ClientRequest.emit (node:events:519:28)
at emitErrorEvent (node:_http_client:105:11)
at TLSSocket.socketErrorListener (node:_http_client:518:5)
at TLSSocket.emit (node:events:519:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
2025-11-06 12:10:04: Synchronizer: [error] FetchError: request to https://api.joplincloud.com/api/items/root:/info.json:/content failed, reason: read ECONNRESET
Code: ECONNRESET
FetchError: request to https://api.joplincloud.com/api/items/root:/info.json:/content failed, reason: read ECONNRESET
at ClientRequest. (C:\Users\leebr\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\node-fetch\lib\index.js:1491:11)
at ClientRequest.emit (node:events:519:28)
at emitErrorEvent (node:_http_client:105:11)
at TLSSocket.socketErrorListener (node:_http_client:518:5)
at TLSSocket.emit (node:events:519:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
2025-11-06 12:10:04: Synchronizer: Sync: finished: Synchronisation finished [1762459781174]
The performance issue should be fixed now, please give it another try. I'm monitoring the server and all seems to be working well now
It did seem to finish, but:
- I’m not certain it is all here. I need to compare to the “truth” on my wife’s PC. Will do that later today.
- It took a very long time (several hours) – is that expected? There appears to be about 60000+ items. I have “Attachment download behavior” set to “Auto” to avoid fetching piles and piles of jpg files.
- Looking at the log file, I searched for “Synchronizer: Sync: finished: Synchronisation finished”, then looked at the few lines right after that and found (nearly?) every one has “Synchronizer: [warn] There was some errors:”. And I’m still seeing lots of “504 Gateway Timeout”. So I think things are still not 100% fine. I’ll spend some more time studying the log file later today. Would you like to see the log file? It is 80MB (and growing).
- It took a very long time (several hours) – is that expected? There appears to be about 60000+ items. I have “Attachment download behavior” set to “Auto” to avoid fetching piles and piles of jpg files.
That's normal, the first sync can take a long time but once that's done it should be fast.
- Looking at the log file, I searched for “Synchronizer: Sync: finished: Synchronisation finished”, then looked at the few lines right after that and found (nearly?) every one has “Synchronizer: [warn] There was some errors:”. And I’m still seeing lots of “504 Gateway Timeout”.
That's expected in the past few days, but now it should be fine. Errors aren't a big deal since the app is meant to be resilient with poor connectivity and unreliable services. Once the service becomes available again it continues syncing the data.
Maybe one way to try would be to create a new profile in the desktop app, then sync with Joplin Cloud. Then check the stats and see if you have the same numbers on both profiles.
That's normal, the first sync can take a long time but once that's done it should be fast.
I have indeed observed that sync is fast once a first one is complete, on my own JC account. But this large account still does not seem to have finished its first complete sync. Also, I don’t quite understand why the first one takes SO long. The data appears to be less than 400MB and I have a fast internet connection - what is happening during these many hours of syncing – it is surely not just transfering data?
but now it should be fine
Hm, I’m not sure it is fine now. I see some timeouts about 20 minutes ago in the log. Followed by lots and lots of “Synchronizer: Sync: fetchingProcessed: Processing fetched item” (still syncing as I type).
Maybe one way to try would be to create a new profile in the desktop app, then sync with Joplin Cloud.
That is what I’ve been doing for a few days now. I set up a new profile in the Windows desktop app and have been trying to sync it. After it sort of looked like it had finished yesterday, I checked the stats and they don’t quite match up – the original has a few more items than the new one. It keeps syncing and syncing, I assume it has never quite finished the initial sync?
I don’t know if it’s only me, but, I’m attempting to connect a 2nd computer to the J cloud, and I’m getting constant 504 errors. I’ve rebooted, rebuilt the computer 2 joplin environment.
Reading further up the thread, I’m seeing 504 errors for others as well
Do the the Joplin Cloud sync problems explain why I can no longer upload a pdf on Joplin Desktop and have it readable on Joplin Android mobile app? I’m currently having to upload twice, once for desktop and again for mobile.
Things are not much better today. Lots of 504 Gateway timeout, and also 500 Internal Server Error.
Another optimisation has been applied now, please give it another try. We will make further improvements over the week to keep things as fast and reliable as possible
For other issues, please open a new support ticket. It's not possible to answer without all the details
Yes, now it finally looks like it completed the initial sync. I made a small edit and sync was fast. Thanks. I’m still curious why the initial sync takes SO long…