2024-04-29 - Problems synchronising with the Android app and the Joplin Cloud

Operating system

Android

Joplin version

2.14.9

Desktop version info

2.14.20 (prod, win32)

Sync target

Joplin Cloud

What issue do you have?

2024-04-29 - Problems synchronising with the Android app and the Joplin Cloud
I use JoplinCloud with multiple users and from multiple Android apps, Windows apps and Linux apps, all of which should be up to date.

I also use Joplin notebooks, which I share with different users. I use E2EE encryption

One problem is that both the Android app on my Samsung S10e and the one on my Samsung S23 have been trying in vain for several weeks to decrypt 5 objects that probably don't even exist. The corresponding display runs in an endless loop. Slower on the S10e than on the S23, which is probably due to the different processor performance.

The second problem is that *.jpg screenshots of new notes are displayed as expected in the Windows app, but not in the Android app: In the Android app, only a placeholder icon in the form of an hourglass is displayed, which does not disappear even after synchronising several times and waiting a long time. I first noticed this with notes that I created in the Windows app. But also with some notes that I created in the Android app, the screenshots created with Android were only visible at the beginning, but were replaced by the hourglass symbol after a few synchronisation cycles. (SyncStatus)


2 Likes

What does the encryption config screen says?

And what's the log like when it's apparently looping on decrypting objects? (I'm sure it's really what it's doing since I've never seen that, so maybe it's just decrypting actual objects and it needs to go through all of them)

So it has objects that need to be decrypted - if you leave your phone aside, is that number of decrypted objects increase?

See PM at https://discourse.joplinapp.org/t/joplincloud-getting-started/35103/20?u=coffee

Uploading: Screenshot_20240429_150044_Joplin.jpg…

The numbers are getting bigger, but probably only because I'm continuing to work on other topics on my Windows app

The S23 works quite quickly in connection with the Joplin Cloud. All normal actions are usually completed in a few moments - apart from these 5 strange exceptions

Do I have a realistic possibility of helping myself? For example, I could try to delete the corresponding profile from my Android mobile phone and have it recreated. This would take what feels like 48 hours, during which I would not be able to work with my main profile from my PC because the mobile phone would retain exclusive access during this time.

I've created a plugin that might help debug this. Among other things, it lists information available through the data API about resources (e.g. whether Joplin still thinks the resources are encrypted) and allows deleting resources permanently.

It does, however, require a Joplin 3.x pre-release to work on mobile.

1 Like

Thank you @personalizedrefriger , that sounds promising.

Then I'll wait until the first Joplin 3 release is rolled out to all users.
What does your gut feeling tell you when that might be?

It should be in July — see the release cycle.

1 Like

I have the feeling that the situation has deteriorated a lot since yesterday.
I'm worried that I won't be able to use my large Joplin profile anymore soon.
In the meantime, I have deleted some new conflict notes because they clearly referred to notes that I myself had not changed for days. Then the numbers of the presumably inconsistent object entries on my two Android apps changed.

On the old Samsung S10:
5/5 -> 3/3 now 8/8
On the new Samsung S23
5/5 -> now 32/32

A new error message has appeared on the Samsung S23, which reads as follows

And my most important Windows app sometimes feels like it doesn't respond at all, or at least extremely slowly, when I select a different note. And that's even though no sync process is running because the status is ‘Cannot acquire exclusive lock’. Nevertheless (or because of that?), the Windows app uses 50 or more percent of the CPU for minutes at a time, which then runs at a total of about 70 to 80 percent.

What can/must I do to be able to work normally again as quickly as possible?
Can I afford to be patient, or should I take action?

After a restart of my (virtual) Windows PC, the CPU usage of the Windows Joplin app is back to normal and the app is responding as usual:
CPU 0 to 10 per cent
Usual fast response to mouse clicks / switching to other notes

If it hasn't been suggested yet it would be worth looking at your plugins, as this is often the reason for extreme performance issues. This and OCR actually, but normally once OCR has processed all resources it should be fast for new ones.

This error indicates that your devices are not in sync, so you'd need to make sure synchronisation goes to completion on all of htem

OCR could be the cause.
Hundreds of elements were reloaded from the Joplin cloud by the Windows app, although there was no reason for this in my opinion. If these were all analysed again by OCR, this could explain the high load.

The plugins don't seem suspicious to me.

Patience is therefore required

After yesterday's synchronisation on my S10 failed to take place without any recognisable action and even ‘Cancel’ had no effect, I rebooted the S10 and waited a few hours before restarting the Joplin app. After the next start of the app, the synchronisation started to run normally again, but seems to be synchronising 100% of the elements from the Joplin cloud again. This synchronisation process has been running for several hours and I don't want to interrupt it until it has been successfully completed.

Patience alone will not solve the problem

After the Android app (Joplin 2.14.9) on my S10 still hadn't finished the very long sync process this morning, I discovered a message in the mobile-log.log that prompted me to quit and restart the app.
I suspect that the session / connection to the Joplin cloud expired without the Android app reacting accordingly. I can imagine that this behaviour of the Android app could / has led to inconsistent / incorrect data in the database on the Android device.

06-13T03:14:54: JoplinServerApi: "curl -v -X GET -H "X-API-AUTH: ******" -H "X-API-MIN-VERSION: 2.6.0" 'https://api.joplincloud.com/api/share_users'"
06-13T03:14:54: JoplinServerApi: "Code:", "403"
06-13T03:14:54: JoplinServerApi: "Error: Your session has expired. Please login again.
Code: 403
Error: Your session has expired. Please login again.
    at construct (native)
    at Wrapper (address at index.android.bundle:1:2619599)
    at construct (native)
    at _createSuperInternal (address at index.android.bundle:1:2618675)
    at call (native)
    at JoplinError (address at index.android.bundle:1:2619053)
    at newError (address at index.android.bundle:1:2819444)
    at ?anon_0_ (address at index.android.bundle:1:2819043)
    at next (native)
    at fulfilled (address at index.android.bundle:1:2815879)
    at tryCallOne (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5p1x2e66/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)
    at anonymous (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5p1x2e66/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)
    at apply (native)
    at anonymous (address at index.android.bundle:1:219452)
    at _callTimer (address at index.android.bundle:1:218401)
    at _callReactNativeMicrotasksPass (address at index.android.bundle:1:218565)
    at callReactNativeMicrotasks (address at index.android.bundle:1:220540)
    at __callReactNativeMicrotasks (address at index.android.bundle:1:121846)
    at anonymous (address at index.android.bundle:1:120939)
    at __guard (address at index.android.bundle:1:121687)
    at flushedQueue (address at index.android.bundle:1:120850)
    at invokeCallbackAndReturnFlushedQueue (address at index.android.bundle:1:120793)"
06-13T02:00:58: JoplinServerApi: "Code:", "403"
06-13T02:00:58: JoplinServerApi: "Error: Your session has expired. Please login again.
Code: 403
Error: Your session has expired. Please login again.
    at construct (native)
    at Wrapper (address at index.android.bundle:1:2619599)
    at construct (native)
    at _createSuperInternal (address at index.android.bundle:1:2618675)
    at call (native)
    at JoplinError (address at index.android.bundle:1:2619053)
    at newError (address at index.android.bundle:1:2819444)
    at ?anon_0_ (address at index.android.bundle:1:2819043)
    at next (native)
    at fulfilled (address at index.android.bundle:1:2815879)
    at tryCallOne (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5p1x2e66/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)
    at anonymous (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/5p1x2e66/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)
    at apply (native)
    at anonymous (address at index.android.bundle:1:219452)
    at _callTimer (address at index.android.bundle:1:218401)
    at _callReactNativeMicrotasksPass (address at index.android.bundle:1:218565)
    at callReactNativeMicrotasks (address at index.android.bundle:1:220540)
    at __callReactNativeMicrotasks (address at index.android.bundle:1:121846)
    at anonymous (address at index.android.bundle:1:120939)
    at __guard (address at index.android.bundle:1:121687)
    at flushedQueue (address at index.android.bundle:1:120850)
    at invokeCallbackAndReturnFlushedQueue (address at index.android.bundle:1:120793)"
06-13T02:00:58: JoplinServerApi: "curl -v -X GET -H "X-API-AUTH: ******" -H "X-API-MIN-VERSION: 2.6.0" 'https://api.joplincloud.com/api/locks'"

FYI:

Waiting for the synchronisation of all my Joplin apps to be completed did not solve the problem. The data quality and the amount of data in my main profile have deteriorated significantly overnight.

To limit the resulting risk to my data content, I only ran two apps this morning and deleted five apps completely. Since then, there seems to be no further uncontrollable increase in conflicts.