Many programs crash or behave incorrectly if they are updated twice without restarting

Snapcraft has automatic updates and will by default only keep the current version and the previous version. It does not notify the user when software is updated.

This means if you leave a program running long enough, it is possible for its executable and data to be deleted from under it.

There are various programs on the snap store that will crash or misbehave if this happens.

Most notably the whole suite of Jetbrains IDEs will crash in the most annoying way possible. No matter what you try to do, it will display a message saying “Please restart” - including when you try to restart it. It is necessary to kill the process when this happens.

I reported this to Jetbrains:

Another program which is affected by this is OpenSCAD, which has a user include directory at:

/home/<user>/snap/openscad/<version>/.local/share/OpenSCAD/libraries

When snap updates openscad under the running executable, the user will notice that their includes go missing. In this case it is only necessary to restart OpenSCAD to fix the problem.

In general two things are needed:

  1. snap should never delete data under programs that are running, regardless of how old they are.

  2. snap should notify the user that they need to restart the program because it has been updated.

this is what the experimental.refresh-app-awareness system setting is for … it currently holds back updates for running apps and shows a desktop notification that you should stop the app for the upgrade to happen …

1 Like