229

What's with 'Pending Update of Snap Store?'

enter image description here

1

10 Answers 10

335

There are a couple things happening.

First, let's talk about the EASIEST way to make the notification go away:

  1. Quit the application -- in this case, snap-store (a.k.a. Ubuntu Software). You might not recall that you have it open, but you do.

    • Closing the window is not enough to terminate the application.

    • One way: On the command line, run snap-store --quit

    • Another way: Open Ubuntu Software, look at the top bar, find "Ubuntu Software" on the left side of the top bar. Click it, and select "Quit". enter image description here

  2. Run sudo snap refresh. Let the command complete.

    • If, instead of a refresh, you still get a pop-up that the application needs to be refreshed, then run sudo snap refresh <application-name>.
      The output of that command will return the PID causing the block.
      Use kill <pid> to remove the block.
      Run sudo snap refresh again. This time it should work.
  3. It's now safe to re-launch your application.

    • If you were not using the application before, or you don't know how to launch the application, then you can safely ignore this step.

Second, let's talk about WHY it's happening:

Snapd detects when a new version is available. If the application is currently running, snapd will inhibit updating that application for up to 14 days.

With most applications, this works fine. You Quit out of an application, a few hours later snapd updates the application (it checks several times each day). and the next time you open the application you don't even notice that it's been updated. Great!

But some applications are open for a long time that runs up against that 14-day window. Like web browsers on laptops that get closed/suspended instead of quit/restarted. Unfortunately, when the 14-day window expires, snapd will kill the application in order to implement the upgrade. To the user, this looks like Firefox crashed unexpectedly, losing whatever they were doing.

  • Snapd MUST refresh snaps. That's a legacy of the original design; snaps were originally designed for phones and IOT devices that MUST work reliably and MUST update reliably without user input. You can disable it if you know how...but it's a bad idea for most users -- disabling updates means no security patches and insecure applications.

Third, let's talk about why you are suddenly getting these notifications NOW.

The Snap developers were dissatisfied with those two choices (kill the application to force the upgrade -or- disable upgrades entirely), so they created a better path: Remind the user to Quit the application. That is the notification you are seeing. It's new (turned on by default) in Ubuntu 22.04.

  • If you ignore it, then when the countdown reaches zero snapd will terminate the application and refresh that snap automatically.

Finally, there's one obvious question remaining: Why isn't this automatic? or perhaps Why doesn't snapd download the update before nagging you?

Well, that's a work in progress. The snapd developers welcome code contributions to help make that happen safely. Snapd is Open Source.

6
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – andrew.46
    Aug 9 at 9:45
  • 1
    The key point here is very simple. snap will restart automatically if you quit it and it starts when you boot. It can't update a piece of sw when said sw is running. All these answers reflect that what needs to happen is that snap needs stopping and then you can use it from the cli to update itself. Alternatively, you could just leave it to its own devices and (I strongly suspect) after a week or two it will force update itself.
    – nerak99
    Aug 30 at 18:42
  • 17
    The application snap-store can be closed from the command line. Do $ snap-store --quit then $ sudo snap refresh will work.
    – Daniel
    Sep 11 at 15:46
  • 1
    Thanks for the answer. Pay attention when checking the pids, as some processes may be critical (e.g., the desktop environment). I just killed it
    – Thecave3
    Sep 14 at 8:09
  • 1
    @Daniel added your suggestion to the answer. Thank you!
    – user535733
    Sep 19 at 14:34
79

I had the same issue, the notification shows that the snap involved is snap-store.

If you run this in terminal, you will get a process ID (PID):

sudo snap refresh snap-store
error: cannot refresh "snap-store": snap "snap-store" has running apps (ubuntu-software), pids:
       2452

Then in the terminal kill that process and run it again:

kill 2452
sudo snap refresh snap-store

and it should succeed.

The currently highest rated answer suggests that you have this running or minimized, but it seems to me it is just running without a user starting it and it does not show running in the dock. It looks like a bug to me. As mentioned, it should fix itself after 14 days by killing the application, which may just be inconvenient if you're in the middle of using it.

Seems a work in progress, so perhaps some patience is in order, but if you don't have that, file a bug as described here: https://help.ubuntu.com/community/ReportingBugs

1
  • 1
    I assume it is always running when checking for snap updates. Maybe this is a deadlock and the update of snap-store should be handled some other way.
    – smido
    Sep 27 at 6:20
40

Works for me:

  1. Kill "snap" at System Monitor
  2. sudo apt update && sudo apt upgrade
    
  3. sudo snap refresh
    
2
4
# Close all open `snapd` process
sudo killall -s KILL snapd
sudo snap refresh
2
  • 1
    IMHO might be worth to use -SIGTERM | -TERM instead of the KILL to allow the graceful shut down. Sep 8 at 20:44
  • 3
    If you need to update the snap-store snap then substitute snapd for snap-store for killall Sep 9 at 21:16
3

This worked for me:

sudo snap remove snap-store
sudo snap refresh
sudo snap install snap-store

I needed sudo in front of snap refresh to get it to work. This was the only option that worked for me. I also had to start Ubuntu Software app twice.

This also cleared a Snap Store pending update that could no be updated because the Snap Store was running.

2

Close all apps in your Ubuntu. Open Ubuntu Software app, under updates section, update the apps one by one. This trick worked for me.

1

I solved the issue following these steps:

  1. log out from the graphical interface and start a command line session (CTR+ALT+F2 from the system login page).
  2. log in with your username and password and run sudo apt update && sudo apt upgrade and then sudo snap refresh.
  3. log out and start back the Ubuntu graphical interface (CTR+ALT+F).

I suppose that the issue is related to the gnome session which seems to run on snap.

1

In my case was a "Pending update of 'deja-dup" snap...'" so my two penny solution is open a terminal and type:

sudo killall deja-dup-monitor
sudo snap refresh
deja-dup&

(latest command runs deja-dup's GUI so that deja-dup-monitor is automatically restarted)

0

I'm using Ubuntu 20.04 and for me works:

sudo snap refresh snap-store

It will be downloading the necessary packages and at the end it should show you a message like:

snap-store (stable/ubuntu-22.04) 41.3-60-gfe4703a from Canonical✓ refreshed

I hope this helps someone else!

0

Please kill snap store first. Then run sudo snap refresh snap-store will be automatically updated.

Not the answer you're looking for? Browse other questions tagged or ask your own question.