Running Joplin crashes my whole system

Hello,
I've used Joplin in the past on various Linux distributions (including Debian) and also on Windows.
That being said, I've never had any problems.

Lately I reinstalled my laptop with Debian 10 (Gnome). Since then I have massive problems:

First of all I need to run the Joplin AppImage with the --no-sandbox parameter.
But as far as I'm concerned, this is a Electron problem and can't be fixed by Joplin devs.
(I hate Electron apps, but that's another story.)

If I run Joplin like this

~$ ./.joplin/Joplin.AppImage --no-sandbox
(electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".
It will change to be "true" in Electron 9.
For more information please check https://github.com/electron/electron/issues/18397

The Joplin windows doesn't open and if I move my mouse around, I can see that it starts lagging. This gets heavier over time and after ~1min my complete system crashes/freezes and I have to do a hard reset.

Before that happens I kill the process with Ctrl + C. (That's why I run it from the terminal in the first place)

I have to repeat this process several times until my system doesn't start lagging (maybe after 20 tries?) and Joplin opens after some seconds. Then it works fine most of the time. But sometimes the system crashes after 30 minutes or so. That only happens when Joplin is running, so I am 99,5% sure that this is still related to Joplin/Electron.

When the laggs happen, the following shows up in my /var/log/syslog:

Jul  7 16:55:00 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:01 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname gnome-shell[1764]: clutter_actor_set_reactive: assertion 'CLUTTER_IS_ACTOR (actor)' failed
Jul  7 16:55:02 hostname systemd[1]: tmp-.mount_Joplin36j6Na.mount: Succeeded.
Jul  7 16:55:02 hostname systemd[1711]: tmp-.mount_Joplin36j6Na.mount: Succeeded.

If you take a look at the timestamps, you can see that it absolutely spams my logfile in rapid speed.
I guess this is what laggs and crashes the system.

I tried to run another Electron based application called Notable.
(Also as AppImage with --no-sandbox parameter)

This one works fine... but it is not really an alternative for me, because it isn't open source.

Version: 1.0.224
OS: Debian 10 with Gnome

Here are some logs with --log-level debug enabled in flags.txt:

2020-07-07 17:22:53: "Profile directory: /home/user/.config/joplin-desktop"
2020-07-07 17:22:53: "KeychainService: checking if keychain supported"
2020-07-07 17:22:53: "KeychainService: check was already done - skipping. Supported:", "0"
2020-07-07 17:22:53: "Client ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
2020-07-07 17:22:53: "Trying to load 1 master keys..."
2020-07-07 17:22:53: "Loaded master keys: 1"
2020-07-07 17:22:53: "ResourceFetcher: Auto-add resources: Mode: always"
2020-07-07 17:22:53: "ResourceFetcher: Auto-added resources: 0"
2020-07-07 17:22:54: "Refreshing notes:", "null", "null"
2020-07-07 17:22:54: "Trying to load 1 master keys..."
2020-07-07 17:22:54: "Loaded master keys: 1"
2020-07-07 17:22:54: "Scheduling sync operation...", "10000"
2020-07-07 17:22:54: "Setting up recurrent sync with interval 300"
2020-07-07 17:22:54: "Trying to load 1 master keys..."
2020-07-07 17:22:54: "Loaded master keys: 1"
2020-07-07 17:22:54: "Scheduling sync operation...", "10000"
2020-07-07 17:22:54: "Trying to load 1 master keys..."
2020-07-07 17:22:54: "Loaded master keys: 1"
2020-07-07 17:22:54: "Scheduling sync operation...", "10000"
2020-07-07 17:22:54: "Refreshing notes:", "2", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
2020-07-07 17:22:54: "Scheduling sync operation...", "10000"
2020-07-07 17:22:54: "RevisionService::runInBackground: Starting background service with revision collection interval 600000"

Looks as everything is fine to be honest. :upside_down_face:

I appreciate any kind of help. Thanks!

1 Like

I believe this is caused because you are using Wayland (Debian 10 by default does that).
I think running GNOME with XOrg will solve this problem.
Please try it and let us know.

Yes you are absolutely right. :+1:

But I don't think that this is a real solution tbh.

But what I don't understand:
Why do other Electron based applications work without any issues?
Joplin is the first one I came across where this happens.

Why does this happen? Could you explain?
And is this something the Joplin devs could fix?

It kinda depends on what you’d call a solution.
If the task was to get Joplin working on your system without drastically affecting other things (visually Wayland and XOrg don’t seem to be very different), then you have a solution.
On the other hand, if the task is to get Joplin to work on Wayland, then I don’t know a solution.
The log file going nuts problem is not limited to Electron apps. In fact after a bit of Googling it became apparent that it is not even an app problem - it is the GNOME shell misbehaving with Wayland. (Just look at the whole error line)
So this is not something Joplin devs can fix. If you like you can file bug reports with GNOME and Debian (they should stop making Wayland their default and leaving many users, like you and I in a stew). Perhaps even Wayland.
Cheers!

Yes the task would be to get it working with Wayland.
Okay, sad to hear that.

I guess I'll stick with Xorg for some time. :slight_smile:

Thank you.

I have this same issue but Xorg isn’t the answer for me.

(electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397

Did you see this error message?

I’m imagining this might have something to do with it

Yes I always have this message.
I guess this is nothing you should care about.

No the error message you mentioned has nothing to do with this.
You’d need to elaborate on your problem further…

Hello,

I opened an issue on Github. Feel free to help debug this.

High cpu usage / hanging system when opening Joplin under Wayland

Thank you