Joplin crashing after update (plugin)

Operating system

Windows

Joplin version

2.14.17

What issue do you have?

I just updated from 2.12.19 to 2.14.17, and Joplin is crashing with a fatal error. Pretty sure it's just a plugin which needs to be updated, but there's no way to do that, and annoyingly, none of the troubleshooting advice works.

The Help menu is completely empty, so there's no "restart in safe mode" option. The wiki suggests opening the profile directory (using the help menu) to place a flags.txt file and force a safe mode start, but without the help menu, I can't find the profile directory - I tried the app folder and the %appdata% Joplin folder, but neither worked. I also tried manually removing the files from the joplin config "plugins" folder, but it still tries to load them and crashes anyway. (Edit - just found the C:\Users[username].config\joplin-desktop folder, and tried putting flags.txt in there - that didn't work either.)

Any suggestions on how I can resolve this? If I can get it running in safe mode, is it likely to allow me to upgrade the plugins? If not, is there any way to manually remove them? (And perhaps more importantly, is this kind of fragility normal? I don't want to never upgrade again, but this is making me very wary about it!)

Error below:

Error
Joplin encountered a fatal error and could not continue.

To report the error, please copy the entire content of this page and post it on Joplin forum or GitHub.

If the error persists you may try to restart in safe mode, which will temporarily disable all plugins.

Message
Command not found: resetCheckboxes. Make sure the declaration has been registered.

Version info
Joplin for Desktop

Copyright © 2016-2024 Laurent Cozic
Joplin 2.14.17 (prod, win32)

Client ID: 6db5a12f4a9c475eb22dc6178b967d45
Sync Version: 3
Profile Version: 46
Keychain Supported: Yes

Revision: 094175c

Backup: 1.4.0
Favorites: 1.3.0
Reset Checkboxes: 1.0.1
Plugins
[
{
"id": "joplin.plugin.benji.favorites",
"name": "Favorites",
"enabled": true,
"version": "1.3.0"
},
{
"id": "dev.kamer.reset-checkboxes",
"name": "Reset Checkboxes",
"enabled": true,
"version": "1.0.1"
},
{
"id": "io.github.jackgruber.backup",
"name": "Backup",
"enabled": true,
"version": "1.4.0"
}
]
Stack trace
Error: Command not found: resetCheckboxes. Make sure the declaration has been registered.
at CommandService.commandByName (C:\Program Files\Joplin\resources\app.asar\node_modules@joplin\lib\services\CommandService.js:91:23)
at CommandService.isEnabled (C:\Program Files\Joplin\resources\app.asar\node_modules@joplin\lib\services\CommandService.js:179:30)
at MenuUtils.commandsToMenuItemProps (C:\Program Files\Joplin\resources\app.asar\node_modules@joplin\lib\services\commands\MenuUtils.js:79:39)
at Function.mapStateToProps [as mapToProps] (C:\Program Files\Joplin\resources\app.asar\gui\MenuBar.js:930:34)
at mapToPropsProxy (C:\Program Files\Joplin\resources\app.asar\node_modules\react-redux\lib\connect\wrapMapToProps.js:59:92)
at Function.detectFactoryAndVerify (C:\Program Files\Joplin\resources\app.asar\node_modules\react-redux\lib\connect\wrapMapToProps.js:68:19)
at mapToPropsProxy (C:\Program Files\Joplin\resources\app.asar\node_modules\react-redux\lib\connect\wrapMapToProps.js:59:46)
at handleFirstCall (C:\Program Files\Joplin\resources\app.asar\node_modules\react-redux\lib\connect\selectorFactory.js:30:18)
at pureFinalPropsSelector (C:\Program Files\Joplin\resources\app.asar\node_modules\react-redux\lib\connect\selectorFactory.js:71:81)
at selector (C:\Program Files\Joplin\resources\app.asar\node_modules\react-redux\lib\components\connect.js:340:18)
Component stack

at ConnectFunction (C:\Program Files\Joplin\resources\app.asar\node_modules\react-redux\lib\components\connect.js:246:74)
at exports.ThemeProvider (C:\Program Files\Joplin\resources\app.asar\node_modules\styled-components\dist\styled-components.cjs.js:1:25001)
at ae (C:\Program Files\Joplin\resources\app.asar\node_modules\styled-components\dist\styled-components.cjs.js:1:13440)
at RootComponent (C:\Program Files\Joplin\resources\app.asar\gui\Root.js:103:1)
at ConnectFunction (C:\Program Files\Joplin\resources\app.asar\node_modules\react-redux\lib\components\connect.js:246:74)
at ErrorBoundary (C:\Program Files\Joplin\resources\app.asar\gui\ErrorBoundary.js:21:9)
at Provider (C:\Program Files\Joplin\resources\app.asar\node_modules\react-redux\lib\components\Provider.js:19:3)

Okay, I figured out that "restart in safe mode" in the error page is actually a link - in very dark grey or black text so it's not at all immediately obvious. That allowed me to get into safe mode successfully, and update a plugin.

At that point, when I click on the "Disable safe mode and restart" link at the top of the app, the app kept restarting in safe mode, which was confusing - it turns out that the "flags.txt" file I created WAS in the right place but wasn't actually being recognised before? So after updating the plugin, it was recognised and forcing me into safe mode. I removed it and now I'm back up and running.

I'm going to leave the thread here for feedback, as I think there are a couple of things that could be improved:

  • An out of date plugin managed to crash Joplin badly enough that the Help menu didn't load, and the "flags.txt" file wasn't being read, so neither of the safe mode options suggested on the website actually worked. That feels pretty fragile to me, although I'm not sure what the solution should be.
  • The "restart in safe mode" link on the crash page isn't obviously a link, at all. If it was blue or underlined, this would have been resolved in seconds rather than taking me most of an hour to fix.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.