snapd crashed and can't start: "Re-refresh task has 1 tasks waiting for it"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
snapd |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I noticed that I had a snap that was stuck on an old revision for some reason and attempted to force it to refresh to stable:
$ snap info gitlptools
name: gitlptools
[...]
snap-id: LyyEad7cnNXM2rm
tracking: latest/stable
refresh-date: 2 days ago, at 16:24 GMT
channels:
stable: b9b9618 2019-02-20 (36) 14MB classic
candidate: ↑
beta: ↑
edge: 0+git.cfe2bdc-dirty 2017-12-19 (3) 14MB classic
installed: 0+git.a2477ff (9) 14MB classic
$ snap refresh --stable gitlptools
error: cannot communicate with server: Get http://
Now snapd is stopped and can't start back up at all. syslog says:
Jan 20 09:54:37 niejwein systemd[1]: Starting Snappy daemon...
Jan 20 09:54:37 niejwein snapd[9861]: AppArmor status: apparmor is enabled and all features are available
Jan 20 09:54:37 niejwein snapd[9861]: AppArmor status: apparmor is enabled and all features are available
Jan 20 09:54:37 niejwein snapd[9861]: daemon.go:346: started snapd/2.43.1 (series 16; classic) ubuntu/18.04 (amd64) linux/4.
Jan 20 09:54:37 niejwein snapd[9861]: daemon.go:439: adjusting startup timeout by 2m35s (pessimistic estimate of 30s plus 5s per snap)
Jan 20 09:54:38 niejwein systemd[1]: Started Snappy daemon.
Jan 20 09:54:38 niejwein snapd[9861]: handlers.go:2589: PANIC Re-refresh task has 1 tasks waiting for it.
Jan 20 09:54:38 niejwein snapd[9861]: panic: Re-refresh task has 1 tasks waiting for it.
Jan 20 09:54:38 niejwein snapd[9861]: goroutine 45 [running]:
Jan 20 09:54:38 niejwein snapd[9861]: github.
Jan 20 09:54:38 niejwein snapd[9861]: #011/build/
Jan 20 09:54:38 niejwein snapd[9861]: github.
Jan 20 09:54:38 niejwein snapd[9861]: #011/build/
Jan 20 09:54:38 niejwein snapd[9861]: github.
Jan 20 09:54:38 niejwein snapd[9861]: #011/build/
Jan 20 09:54:38 niejwein snapd[9861]: github.
Jan 20 09:54:38 niejwein snapd[9861]: #011/build/
Jan 20 09:54:38 niejwein snapd[9861]: github.
Jan 20 09:54:38 niejwein snapd[9861]: #011/build/
Jan 20 09:54:38 niejwein snapd[9861]: created by github.
Jan 20 09:54:38 niejwein snapd[9861]: #011/build/
Jan 20 09:54:38 niejwein systemd[1]: snapd.service: Main process exited, code=exited, status=
Jan 20 09:54:38 niejwein systemd[1]: snapd.service: Failed with result 'exit-code'.
Jan 20 09:54:38 niejwein systemd[1]: snapd.service: Triggering OnFailure= dependencies.
Jan 20 09:54:38 niejwein systemd[1]: snapd.service: Service hold-off time over, scheduling restart.
Jan 20 09:54:38 niejwein systemd[1]: snapd.service: Scheduled restart job, restart counter is at 5.
Jan 20 09:54:38 niejwein systemd[1]: Stopped Snappy daemon.
Jan 20 09:54:38 niejwein systemd[1]: snapd.service: Start request repeated too quickly.
Jan 20 09:54:38 niejwein systemd[1]: snapd.service: Failed with result 'exit-code'.
Jan 20 09:54:38 niejwein systemd[1]: Failed to start Snappy daemon.
Jan 20 09:54:38 niejwein systemd[1]: snapd.socket: Failed with result 'service-
Jan 20 09:54:38 niejwein systemd[1]: snapd.service: Triggering OnFailure= dependencies.
Help?
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: snapd 2.42.1+18.04
ProcVersionSign
Uname: Linux 4.15.0-72-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.9-0ubuntu7.9
Architecture: amd64
CurrentDesktop: GNOME
Date: Mon Jan 20 09:56:18 2020
EcryptfsInUse: Yes
InstallationDate: Installed on 2013-03-01 (2515 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Alpha amd64 (20130223.1)
SourcePackage: snapd
UpgradeStatus: No upgrade log present (probably fresh install)
affects: | snapd (Ubuntu) → snapd |
Changed in snapd: | |
status: | New → In Progress |
assignee: | nobody → John Lenton (chipaca) |
Changed in snapd: | |
assignee: | John Lenton (chipaca) → nobody |
status: | In Progress → Confirmed |
Can you provide the output of `snap changes` and `snap change --last=refresh`?
If snapd is dead, make sure to stop it via `systemctl stop snapd{. service, socket} ` and then run:
snap debug state /var/lib/ snapd/state. json snapd/state. json --change=<id>
snap debug state /var/lib/
to obtain the same information as snap change/changes commands.