Joplin failed to update from v3.1.19 to v3.2.1

What type of hardware are you using: Old laptop or computer
What YunoHost version are you running: 12
What app is this about: Joplin

Describe your issue

Hi everyone,
I tried to update Joplin today and the update failed. This is the first time an update is failing for the app since I installed.
Does someone encountered the same problem or can help ?

Share relevant logs or error messages

https://paste.yunohost.org/raw/qezojojewe

When I search for the word “failed” in the log, I get :

  • YN0007: │ electron@npm:32.2.0 must be built because it never has been before or the last one failed
  • YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/app-desktop]: Could not get git commit (not a git repo?): Command failed: git rev-parse --abbrev-ref HEAD
  • YN0000: │ root@workspace:. STDERR [16:10:02] Error: Command failed with exit code 1: yarn run buildSequential
  • YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/app-desktop]: Could not get git commit (not a git repo?): Command failed: git rev-parse --abbrev-ref HEAD

For “error” :

2024-11-19 16:09:28,347: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/app-desktop]: gui/MainScreen/MainScreen.tsx(794,34): error TS2322: Type ‘{ key: string; bodyEditor: string; }’ is not assignable to type ‘IntrinsicAttributes & { startupPluginsLoaded: boolean; onTitleChange?: (title: string) => void; windowId: string; context?: Context<ReactReduxContextValue<any, AnyAction>>; store?: Store<…>; }’.
2024-11-19 16:09:28,347: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/app-desktop]: Property ‘bodyEditor’ does not exist on type ‘IntrinsicAttributes & { startupPluginsLoaded: boolean; onTitleChange?: (title: string) => void; windowId: string; context?: Context<ReactReduxContextValue<any, AnyAction>>; store?: Store<…>; }’.
2024-11-19 16:09:28,348: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/app-desktop]: gui/MainScreen/MainScreen.tsx(930,227): error TS2322: Type ‘{ autocomplete: any; defaultValue: any; themeId: number; style: any; onClose: Function; label: any; description: any; visible: boolean; buttons: any; inputType: any; }’ is not assignable to type ‘IntrinsicAttributes & IntrinsicClassAttributes & Readonly’.
2024-11-19 16:09:28,348: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/app-desktop]: Property ‘style’ does not exist on type ‘IntrinsicAttributes & IntrinsicClassAttributes & Readonly’.
2024-11-19 16:09:28,348: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/app-desktop]: gui/MainScreen/MainScreen.tsx(965,20): error TS2339: Property ‘customCss’ does not exist on type ‘AppState’.
2024-11-19 16:09:28,348: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/app-desktop]: gui/MainScreen/commands/showSpellCheckerMenu.ts(24,34): error TS2339: Property ‘window’ does not exist on type ‘Bridge’.
2024-11-19 16:09:28,412: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/app-desktop]: Process exited (exit code 2), completed in 20s 678ms
2024-11-19 16:09:28,413: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/default-plugins]: Process started
2024-11-19 16:09:31,395: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/default-plugins]: Process exited (exit code 0), completed in 2s 977ms
2024-11-19 16:09:31,395: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/editor]: Process started
2024-11-19 16:09:32,067: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/app-mobile]: Process exited (exit code 0), completed in 15s 551ms
2024-11-19 16:09:32,067: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/htmlpack]: Process started
2024-11-19 16:09:34,413: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/htmlpack]: Process exited (exit code 0), completed in 2s 345ms
2024-11-19 16:09:34,414: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/lib]: Process started
2024-11-19 16:09:39,613: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/editor]: Process exited (exit code 0), completed in 8s 223ms
2024-11-19 16:09:39,613: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/plugin-repo-cli]: Process started
2024-11-19 16:09:43,734: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/plugin-repo-cli]: Process exited (exit code 0), completed in 4s 122ms
2024-11-19 16:09:43,734: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/react-native-saf-x]: Process started
2024-11-19 16:09:46,558: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/react-native-saf-x]: Process exited (exit code 0), completed in 2s 821ms
2024-11-19 16:09:46,559: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/renderer]: Process started
2024-11-19 16:09:48,242: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/lib]: Process exited (exit code 0), completed in 13s 828ms
2024-11-19 16:09:48,242: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/server]: Process started
2024-11-19 16:09:50,032: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/renderer]: Process exited (exit code 0), completed in 3s 477ms
2024-11-19 16:09:50,033: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/tools]: Process started
2024-11-19 16:09:59,166: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/tools]: Process exited (exit code 0), completed in 9s 129ms
2024-11-19 16:09:59,166: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/utils]: Process started
2024-11-19 16:10:00,224: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/server]: Process exited (exit code 0), completed in 11s 981ms
2024-11-19 16:10:01,974: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: [@joplin/utils]: Process exited (exit code 0), completed in 2s 813ms
2024-11-19 16:10:01,974: DEBUG - ➤ YN0000: │ root@workspace:. STDOUT ➤ YN0000: Done in 54s 260ms
2024-11-19 16:10:02,107: DEBUG - ➤ YN0000: │ root@workspace:. STDERR [16:10:02] ‘build’ errored after 4.25 min
2024-11-19 16:10:02,107: DEBUG - ➤ YN0000: │ root@workspace:. STDERR [16:10:02] Error: Command failed with exit code 1: yarn run buildSequential

And

2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/app-desktop]: gui/MainScreen/MainScreen.tsx(794,34): error TS2322: Type ‘{ key: string; bodyEditor: string; }’ is not assignable to type ‘IntrinsicAttributes & { startupPluginsLoaded: boolean; onTitleChange?: (title: string) => void; windowId: string; context?: Context<ReactReduxContextValue<any, AnyAction>>; store?: Store<…>; }’.
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/app-desktop]: Property ‘bodyEditor’ does not exist on type ‘IntrinsicAttributes & { startupPluginsLoaded: boolean; onTitleChange?: (title: string) => void; windowId: string; context?: Context<ReactReduxContextValue<any, AnyAction>>; store?: Store<…>; }’.
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/app-desktop]: gui/MainScreen/MainScreen.tsx(930,227): error TS2322: Type ‘{ autocomplete: any; defaultValue: any; themeId: number; style: any; onClose: Function; label: any; description: any; visible: boolean; buttons: any; inputType: any; }’ is not assignable to type ‘IntrinsicAttributes & IntrinsicClassAttributes & Readonly’.
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/app-desktop]: Property ‘style’ does not exist on type ‘IntrinsicAttributes & IntrinsicClassAttributes & Readonly’.
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/app-desktop]: gui/MainScreen/MainScreen.tsx(965,20): error TS2339: Property ‘customCss’ does not exist on type ‘AppState’.
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/app-desktop]: gui/MainScreen/commands/showSpellCheckerMenu.ts(24,34): error TS2339: Property ‘window’ does not exist on type ‘Bridge’.
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/app-desktop]: Process exited (exit code 2), completed in 20s 678ms
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/default-plugins]: Process started
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/default-plugins]: Process exited (exit code 0), completed in 2s 977ms
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/editor]: Process started
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/app-mobile]: Process exited (exit code 0), completed in 15s 551ms
2024-11-19 16:10:02,149: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/htmlpack]: Process started
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/htmlpack]: Process exited (exit code 0), completed in 2s 345ms
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/lib]: Process started
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/editor]: Process exited (exit code 0), completed in 8s 223ms
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/plugin-repo-cli]: Process started
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/plugin-repo-cli]: Process exited (exit code 0), completed in 4s 122ms
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/react-native-saf-x]: Process started
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/react-native-saf-x]: Process exited (exit code 0), completed in 2s 821ms
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/renderer]: Process started
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/lib]: Process exited (exit code 0), completed in 13s 828ms
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/server]: Process started
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/renderer]: Process exited (exit code 0), completed in 3s 477ms
2024-11-19 16:10:02,150: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/tools]: Process started
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/tools]: Process exited (exit code 0), completed in 9s 129ms
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/utils]: Process started
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/server]: Process exited (exit code 0), completed in 11s 981ms
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: [@joplin/utils]: Process exited (exit code 0), completed in 2s 813ms
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR ➤ YN0000: Done in 54s 260ms
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR at makeError (/var/www/joplin/node_modules/execa/lib/error.js:60:11)
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR at handlePromise (/var/www/joplin/node_modules/execa/index.js:118:26)
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR at async execCommand (/var/www/joplin/gulpfile.js:27:17)
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: │ root@workspace:. STDERR at async fn (/var/www/joplin/gulpfile.js:62:5)
2024-11-19 16:10:02,151: DEBUG - ➤ YN0009: │ root@workspace:. couldn’t be built successfully (exit code 1, logs can be found here: /tmp/xfs-d5e3537d/build.log)
2024-11-19 16:10:02,151: DEBUG - ➤ YN0000: └ Completed in 4m 36s
2024-11-19 16:10:02,554: DEBUG - ➤ YN0000: Failed with errors in 4m 53s
2024-11-19 16:10:02,660: DEBUG - + ynh_exit_properly
2024-11-19 16:10:02,660: DEBUG - + [[ upgrade =~ ^install$|^upgrade$|^restore$ ]]
2024-11-19 16:10:03,264: ERROR - Could not upgrade joplin: An error occurred inside the app upgrade script

Thanks in advance!

Bonjour @blodarn

I don’t use this application but it seems to be a compilation problem when trying to build joplin with nodejs. Maybe it’s a npm/nodejs version problem, but the log displays nodejs version 20 so that seems to fit the requirement for building joplin.

Two ways to try to get some help on this problem :

Sorry, I have little knowledge of typescript/javascript/nodejs errors so I can’t help you further…

How much ram does your server have? Can you monitor ram usage while upgrading? Using phpsysinfo or sudo htop and see if both ram and swap are filled up

@arthurlutz I’ll report if no “easy” solution is found :wink:

I went on the Webmin dashboard and I noticed that the virtual memory was at 90% and a message saying that the system needed a reboot after the installation of several packages.

I rebooted the system and it cleared the virtual memory.

I tried to update Joplin and it failed… I also noted that the backup for Joplin created during the update was quite large, 6.7 GB.

I installed PHPSysInfo :

I did not monitor PHPSysInfo while running the update as it seems that the memory is max out.

@jarod5001 what do you think ?

New log :
https://paste.yunohost.org/raw/ozelivadev

Exploring a possible fix here

You can give it a try yourself if you’re brave, the command would be

sudo yunohost app upgrade joplin -u https://github.com/YunoHost-Apps/joplin_ynh/tree/orhtej2-patch-1 -F

Thanks @orhtej2

Could this erase user data?

this requires additional testing hence I’ve not merged it.

ok, I think I’ll wait.

The fix was/will be released with 3.2.3 as soon as the catalog rebuilds.

Great news! Thank you a lot!

@orhtej2, the update to 3.2.3 worked! Thanks!

1 Like