Slowness and sometimes “the window is not responding” error message

Operating system

Windows

Joplin version

2.14.20

Desktop version info

Joplin 2.14.20 (prod, win32)

ID client : 773c93d7dee04e1289cb896f235df6a3
Version de Synchro : 3
Version du profil : 46
Trousseau supporté : Oui

Révision : cfd98e3

Backup: 1.4.0
Note Tabs: 1.4.0

Editor

Markdown Editor

What issue do you have?

Hello,

I'm a brand new user of Joplin. Yesterday I imported all my Evernote data (206 notebooks, more than 10,000 notes and several thousand tags) and then started using the application.

Sometimes Joplin is rather fast (2-3 seconds to display the contents of notebooks, labels, or notes) but sometimes it is very slow: I can no longer write and I have the "unresponsive window" which appears many times (see screenshot).

Following @laurent's message here: Evernote user since 2011 with a lot of data, I'm considering switching to Joplin but need reassuranc - #28 by laurent
I am therefore creating this dedicated post.

As stated in the other post:
My PC is not a racing beast (Intel(R) Core(TM) i5-4310U processor, 8.00 GB RAM, Intel HD 4400 GPU, Micron M600 MTFDDAT256MBF SSD), maybe that's the reason, but I thought it would be enough for Joplin. Maybe my RAM is a little light.

Thanks

Screenshots

Joplin_Error message Windows not responding.png

When it's slow, would you mind getting the log file and sharing it here? I'm wondering what it could be. Maybe the Backup plugin running in the background? But that would be surprising

Can I send you the current log, or do I need to do these steps now:

Click on menu Help > Open Profile Directory and add a file named "flags.txt" in your directory with the following content: --open-dev-tools --debug --log-level debug
Restart the application
The development tools should now be opened. Click the "Console" tab
Now repeat the action that was causing problem. The console might output warnings or errors - please add them to the GitHub issue. Also open log.txt in the config folder and if there is any error or warning, please also add them to the issue.

and wait until I have the problem again then send the log? But if I have to reboot Joplin, maybe the issue will be gone...

In any case, I haven't started anything manually, I haven't looked into the backup yet, but I see that there is a Backup plugin activated in the options.

Thanks

Hi,

I just had the problem, so I added the flags.txt file in joplin-desktop, but by the time I did all that, the problem was gone.

I still saved my log at the time of the problem which took place at 12:37 p.m.. Here it is:
20240408_1237_log issue slowness_37454.zip (214.3 KB)

If I understand correctly, the flags.txt file allows you to collect more data in the log, but to activate it I need to restart Joplin? It doesn't seem easy to me to keep the problem by doing this...

I also monitored my PC's resource usage at the time of the problem:

There was the SearchProtocolHost.exe process at the time of the problem:

image

A person on Reddit spoke to me about this in this comment!

I also saw the MsMpEng.exe antimalware process:
image

If these processes are indeed the cause of my problem, I tell myself that I should disable the analysis of my Joplin files by Windows Search and the antivirus? But I'm waiting for your opinions.

Thanks

Hi,

I just had the problem again: several tens of seconds or even more than a minute to display the content of a note.

I displayed the dev tools during the problem:

useHtmlLoader: isReady true
C:\Users\nonob\AppDa…useHtmlLoader.js:40 useHtmlLoader: setHtml f2f77dfb92e29d950a4eea2453d9d48f
C:\Users\nonob\AppDa…useHtmlLoader.js:19 useHtmlLoader: message 
{target: 'UserWebview', message: 'htmlIsSet', hash: 'f2f77dfb92e29d950a4eea2453d9d48f'}
C:\Users\nonob\AppDa…essageHandler.js:27 Got ipc-message: noteRenderComplete undefined
C:\Users\nonob\AppDa…\dist\Logger.js:221 10:15:15: Preparing scheduled sync
C:\Users\nonob\AppDa…\dist\Logger.js:221 10:15:15: Sync cancelled - no sync target is selected.
C:\Users\nonob\AppDa…essageHandler.js:27 Got ipc-message: noteRenderComplete undefined
C:\Users\nonob\AppDa…useHtmlLoader.js:36 useHtmlLoader: isReady true
C:\Users\nonob\AppDa…useHtmlLoader.js:40 useHtmlLoader: setHtml 423aef56a814fa5b4504111c6559f1aa
C:\Users\nonob\AppDa…useHtmlLoader.js:19 useHtmlLoader: message 
{target: 'UserWebview', message: 'htmlIsSet', hash: '423aef56a814fa5b4504111c6559f1aa'}
C:\Users\nonob\AppDa…\dist\Logger.js:221 10:15:46: Running background sync on timer...
C:\Users\nonob\AppDa…\dist\Logger.js:221 10:15:46: Preparing scheduled sync
C:\Users\nonob\AppDa…\dist\Logger.js:221 10:15:46: Sync cancelled - no sync target is selected.
C:\Users\nonob\AppDa…\dist\Logger.js:221 10:15:53: RevisionService: maintenance: Starting...
C:\Users\nonob\AppDa…\dist\Logger.js:221 10:15:53: RevisionService: maintenance: Service is enabled
C:\Users\nonob\AppDa…essageHandler.js:27 Got ipc-message: noteRenderComplete undefined


I haven't seen heavy usage of the SearchProtocolHost.exe and MsMpEng.exe processes this time, I just see the Joplin process using 25% of the CPU.

image

Then I put the flags.txt file in jopli-desktop to enable gebug log level and restarted Joplin...
The problem disappears after the reboot, but I leave the flag.txt file active.

As soon as I have the problem, I will share debug informations (console and log) as requested by @laurent.

Quick question: can I close the development tools and then reopen them when I have the problem or do I have to leave them open all the time? I don't think it changes anything but I prefer to ask.

My actual about info:

Joplin 2.14.20 (prod, win32)

ID client : 773c93d7dee04e1289cb896f235df6a3
Version de Synchro : 3
Version du profil : 46
Trousseau supporté : Oui

Révision : cfd98e3

Backup: 1.4.0
Favorites: 1.3.2
History Panel: 1.0.2
Note list and sidebar toggle buttons: 1.0.3
Note overview: 1.7.1
Note Tabs: 1.4.0

Thanks

Hi,

I had the problem again at 12:12 p.m. I saved the log which was in level debug:
20240411_log_debug_issue-at-1212.7z (197.9 KB)

I didn't have time to look at the console. I'll try to do it next time.

Joplin was using 25% CPU, I feel like that's always the case when I have the problem:

image

image

I also thought I saw a lot of GPU usage but not sure, I'll be more careful next time.

I just had the problem again and this time I managed to copy the lines that were displayed in the console :slight_smile:

The problem occurred at 12:15 p.m. Here are the console lines:

20240412_issue-at-1215_Console.7z (5.9 KB)

In terms of resource usage, Joplin was still at 25% CPU and I still saw Windows Search:

image

However, I didn't see anything in GPU usage (I thought I saw some usage last time).

I hope all this information will help you locate the problem.

Thanks

I think that's it. I am studying the Backup plugin and I tried to do a manual backup via Tools: Create Backup: Joplin increased its CPU consumption and I had the problem with the window not responding!

I also see that the antimalware has started:

image

I will try disabling automatic backups to see if the problem returns but I have the impression that the culprit has been found. And if I look closely, it seems to me that problems always arrive at the same time.

I'm wondering if I really need these backups since I have other backup solutions that already include the joplin-desktop folder. Is there any point in having backups made with this plugin or is it the same as a backup with an external application?

It's not really needed if you're already have backups of the config folder. It's just a bit more convenient to recover data, but it seems it's not worth it in your case if it's causing issues with Defender

Ok, thanks. I'll see what disabling autosave does, and if that fixes my problem, I won't re-enable it. I'll just leave the plugin enabled in case I want to do a manual backup. Once I have configured my sync, I may do automatic backups with this plugin, but on another PC, which may not have the slowness problem...

Concerning the restoration, if I use my own backup, do I just have to replace my entire config folder (with Joplin left), and then launch Joplin to return to a functional state?

Hi :slight_smile:

So I turned off automatic backups. A priori, that was what slowed Joplin down.

But I just set up and started my very first sync, and Joplin is very slow again during sync. It is almost unusable.

Is it normal for Joplin to slow down so much when there is a backup and/or a sync?

As a reminder:

When the problem is present, either during backup or during sync, I often see these processes:

So I still have doubts about these processes.
A priori, the joplin-desktop folder is not indexed:image

What do you think of all this?

I set the synchronization interval to 24 hours:
image

but as soon as I make a modification, the synchronization starts, slowing down the application with lags and sometimes even moving the cursor to the top of the note, making Joplin unusable :frowning:

I just found this message:

For information there are two types of sync:

Regular sync, which you can configure in the Option screen. It sends all the latest changes, delete notes as needed and download the latest changes.

Sync after save. It's a light sync operation that only sends the latest changes and it cannot be configured at the moment.

If I understand correctly there is no way to deactivate Sync after save.
Damn, I don't know how I'm going to get out of it, it's unusable.

Would Joplin Server avoid the problem? or maybe file system sync, with for example syncthing?

Otherwise I have to do without synchronization, but I hadn't planned that :frowning:

Joplin Cloud should help a bit but there's no way to tell for sure with your amount of data.

Since filesystem/syncthing require much higher level of skill than other sync options, before proceeding with those sync solutions I recommend to enroll in Joplin Cloud trial -- you can cancel anytime before even the first charge if it doesn't help.

1 Like

Is this the same as the Joplin Server? (I could maybe install it on my Synology NAS)

My large amount of data comes up often. I think the first thing to do is to reduce that, as I talked about here.

I'm also reading posts talking about plugins that can slow down Joplin, and I have quite a few:

My Plugins

Backup: 1.4.0
Bidirectional Links: 0.1.2
Favorites: 1.3.2
History Panel: 1.0.2
Joplin DDDot: 0.4.2
Menu items, Shortcuts, Toolbar icons: 1.1.0
Note list and sidebar toggle buttons: 1.0.3
Note overview: 1.7.1
Note Tabs: 1.4.0
Outline: 1.5.13
Quick Links: 1.3.2
Reset Checkboxes: 1.0.1
Rich Markdown: 0.14.1

:flushed: indeed, few of them are known to reduce performance a bit, so it you could disable those you're not planning to use, that would simplify the situation slightly.

Yes, it's pretty much the same, without the hassle of security, hosting, upgrades, maintenance jobs, restarts, dealing with docker containers etc

I recommend to enroll into Joplin Cloud trial just to simplify the process instead of tossing you into troubleshooting spree which might not even address your problem. Once you confirm that your problem is mitigated, you indeed can self host it yourself if it's more convenient to you

Could you provide a log of what happens when you change a note? Normally it should just upload the note you have modified so I'm surprised it's slowing down the app.

To get a log, you could open the console, clear it, then make a change, and share with us just what was added to the console.

Do you know which ones?

I just deactivated all my plugins and the problem is still there:
as soon as I make even a small modification in a note, the sync starts and Joplin lags, even sends my cursor back to the top of the note :slightly_frowning_face:

Ah, I just tried what I was dreading: setting the synchronization target to none. I was afraid that by restarting WebDAV afterwards, the sync would have to start from scratch, but no :slight_smile: , and as long as I'm on none, Joplin works fine! And all this without needing to restart Joplin.
This workaround lets me use Joplin again :slight_smile:

But now I have to find the culprit of this slowdown.
I wonder if this problem comes from the amount of notes and tags I have and/or the fact that I use WebDAV as a sync target and/or because my PC is too slow?

I just did a test of my SSD, even if there is better, it seems correct to me:![image|466x257]
image

Also, here is what @laurent told me on my other topic:

Downloading the list probably doesn't affect the app much but parsing this giant XML file probably does. So maybe that's the slow down you were experiencing - to make it happen less often you can increase the sync interval.

Of course, here are the lines that showed up as I was typing text into a note, when the "after save sync" kicked in and slowed down Joplin, at exactly 13:49:13:

log
13:49:04: SearchEngine: Updated FTS table in 289ms. Inserted: 1. Deleted: 0
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:09: Preparing scheduled sync
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:09: Starting scheduled sync
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:09: Synchronizer: Sync: starting: Starting synchronisation to target 6... supportsAccurateTimestamp = false; supportsMultiPut = false} [1713440949538]
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:09: Synchronizer: Indexing resources...
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:09: ResourceService::indexNoteResources: Start
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:11: ResourceService::indexNoteResources: Completed
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteEditor\utils\useMessageHandler.js:27 Got ipc-message: noteRenderComplete undefined
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:13: Synchronizer: Sync target remote info: SyncInfo {version_: 3, masterKeys_: Array(0), appMinVersion_: '0.0.0', e2ee_: {…}, activeMasterKeyId_: {…}, …}
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:13: Synchronizer: Sync target is already setup - checking it...
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:13: Synchronizer: Sync target local info: SyncInfo {version_: 3, masterKeys_: Array(0), appMinVersion_: '0.0.0', e2ee_: {…}, activeMasterKeyId_: {…}, …}
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:16: Synchronizer: Sync: updateRemote: local has changes: Note: (Local efd8946836fb499d9d2cd2130f9efd7f): (Remote efd8946836fb499d9d2cd2130f9efd7f.md)
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:22: SearchEngine: Updating FTS table...
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:31: Synchronizer: TaskQueue.stop: syncDownload: waiting for tasks to complete: 0
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:31: Synchronizer: TaskQueue.stop: syncDownload: Done, waited for 0
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:32: Synchronizer: Sync: finished: Synchronisation finished [1713440949538]
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:32: Synchronizer: Operations completed: 
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:32: Synchronizer: updateRemote: 1
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:33: Synchronizer: Total folders: 209
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:33: Synchronizer: Total notes: 16454
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:33: Synchronizer: Total resources: 95994
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:33: checkDisabledSyncItemsNotification: No errors: Hiding notification
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:36: Updating items_normalized from {updated_time: 0, id: ''}
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:36: SearchEngine: Updated FTS table in 14337ms. Inserted: 2. Deleted: 0
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteEditor\utils\useMessageHandler.js:27 Got ipc-message: noteRenderComplete undefined
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:47: SearchEngine: Updating FTS table...
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:47: Updating items_normalized from {updated_time: 0, id: ''}
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:47: SearchEngine: Updated FTS table in 354ms. Inserted: 1. Deleted: 0
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:55: Preparing scheduled sync
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:55: Starting scheduled sync
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:55: Synchronizer: Sync: starting: Starting synchronisation to target 6... supportsAccurateTimestamp = false; supportsMultiPut = false} [1713440995774]
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:55: Synchronizer: Indexing resources...
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:55: ResourceService::indexNoteResources: Start
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:57: ResourceService::indexNoteResources: Completed
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:59: Synchronizer: Sync target remote info: SyncInfo {version_: 3, masterKeys_: Array(0), appMinVersion_: '0.0.0', e2ee_: {…}, activeMasterKeyId_: {…}, …}
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:59: Synchronizer: Sync target is already setup - checking it...
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:49:59: Synchronizer: Sync target local info: SyncInfo {version_: 3, masterKeys_: Array(0), appMinVersion_: '0.0.0', e2ee_: {…}, activeMasterKeyId_: {…}, …}
C:\Users\nonob\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\@joplin\utils\dist\Logger.js:221 13:50:01: Synchronizer: Sync: updateRemote: local has changes: Note: (Local efd8946836fb499d9d2cd2130f9efd7f): (Remote efd8946836fb499d9d2cd2130f9efd7f.md)

Small clarification: the "Downloads" were endless this morning, and I clicked on Cancel to be able to use Joplin a little. From what I see, they resume if I manually click Synchronize (I have the sync interval turned off) but they do not resume during automatic synchronizations which are launched after modifying a note. That said, I don't know if the fact that these downloads are not completed has any impact. I plan to manually restart the full synchronization (downloads) when I leave my PC.

Meanwhile, the setting synchro target:none that I can set whenever I want, save myself :slight_smile:

Hi,

My problem is practically solved with version 3.0.6 which includes, among other things:
Improved: Refactor sidebar to better handle thousands of tags and notebooks (#10331) (#4251 by @personalizedrefrigerator)

A huge thank you :slight_smile:

Yesterday, before installing this version, my first sync was still not completed. I was still at the Download stage, i.e. 13 days after the start of sync!

I then installed 3.0.6. The sync was still in progress but around 10 times faster:

Joplin_2024-04-28_06-42-47

and above all: I could use Joplin during sync, which was impossible before!

On the other hand, I sometimes had a little lag, note changes and/or my cursor went back to the top of a note :thinking:, but much less than before, and maybe that it is only during the first sync and/or that's another problem, to see over time...

4 hours after installing 3.0.6, the sync finished:
image

I manually clicked sync and a few seconds later it finished, indicating that the first full sync was finally completed.

I was curious to see if the "small" synchros which are launched automatically when you modify notes, were going to make Joplin lag as was previously the case: practically not: Joplin remains usable and the small sync only lasts a few seconds.

In my impulse I launched a manual backup because it also made Joplin unusable: damn, I had big lags, and the message The window does not respond twice but a few tens of seconds later, it works: Joplin is usable while the backup is in progress.
In any case, I will continue to do as planned: make manual backups when I don't use Joplin.

In the end, I am very happy, and thank you very much for this update :slight_smile:

3 Likes