Due to an error in my snap, I was accidently calling unset
on my snap with an empty string. This causes snapd and snapd.socket to pretty much instantly die. The error for the command finally arrives much later.
This left snap in an unusable state. I had to restart snapd.socket, issue the snap changes
command, restart the snapd.socket again, then issue the snap abort <change-id>
command. This finally returned snapd to a functioning state.
Command:
/usr/bin/snap unset vantage-agent ''
Result (after a few minutes):
Error executing command: /usr/bin/snap unset vantage-agent '' - error: cannot communicate with server: Get "http://localhost/v2/changes/139": dial unix /run/snapd.socket: connect: connection refused
snapd status:
× snapd.service - Snap Daemon
Loaded: loaded (/lib/systemd/system/snapd.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2025-01-20 21:57:54 UTC; 8min ago
TriggeredBy: × snapd.socket
Process: 13730 ExecStart=/usr/lib/snapd/snapd (code=exited, status=2)
Main PID: 13730 (code=exited, status=2)
CPU: 402ms
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.service: Scheduled restart job, restart counter is at 6.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: Stopped Snap Daemon.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.service: Start request repeated too quickly.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.service: Failed with result 'exit-code'.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: Failed to start Snap Daemon.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.service: Triggering OnFailure= dependencies.
More snapd logging info:
Jan 20 21:57:52 juju-21b2ee-1 snapd[13608]: daemon.go:250: started snapd/2.66.1+22.04 (series 16; classic) ubuntu/22.04 (amd64) linux/5.15.0-1072-kv>
Jan 20 21:57:52 juju-21b2ee-1 snapd[13608]: daemon.go:353: adjusting startup timeout by 55s (pessimistic estimate of 30s plus 5s per snap)
Jan 20 21:57:52 juju-21b2ee-1 snapd[13608]: backends.go:58: AppArmor status: apparmor is enabled and all features are available
Jan 20 21:57:52 juju-21b2ee-1 systemd[1]: Started Snap Daemon.
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: panic: runtime error: index out of range [0] with length 0
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: goroutine 89 [running]:
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/configstate/config.PatchConfig({0xc00058a2a0, 0xd}, {0x5557df4b0218?,>
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/configstate/config/helpers.go:130 +0x592
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/configstate/config.(*Transaction).Set(0xc00006f6c0, {0xc00058a2a0, 0x>
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/configstate/config/transaction.go:181 +0x434
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/configstate/config.Patch({0x5557dee59588, 0xc00006f6c0}, {0xc00058a2a>
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/configstate/config/helpers.go:302 +0xd4
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/configstate.(*configureHandler).Before(0xc0000b84a8)
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/configstate/hooks.go:93 +0x50f
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/hookstate.(*HookManager).runHook(0xc0000da000, 0xc00016c230, 0xc00060>
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/hookstate/hookmgr.go:443 +0x7ca
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/hookstate.(*HookManager).runHookForTask(0xc0000da000, 0x5557dea075ec?>
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/hookstate/hookmgr.go:335 +0x76
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/hookstate.(*HookManager).doRunHook(0x0?, 0xc000384140, 0x5557de073437>
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/hookstate/hookmgr.go:287 +0x118
Jan 20 21:57:53 juju-21b2ee-1 snapd[13608]: github.com/snapcore/snapd/overlord/state.(*TaskRunner).run.func1()
...skipping...
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: github.com/snapcore/snapd/overlord/configstate/hooks.go:93 +0x50f
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: github.com/snapcore/snapd/overlord/hookstate.(*HookManager).runHook(0xc00021a0a0, 0xc00024c700, 0xc0004f>
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: github.com/snapcore/snapd/overlord/hookstate/hookmgr.go:443 +0x7ca
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: github.com/snapcore/snapd/overlord/hookstate.(*HookManager).runHookForTask(0xc00021a0a0, 0x55c8a26d85ec?>
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: github.com/snapcore/snapd/overlord/hookstate/hookmgr.go:335 +0x76
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: github.com/snapcore/snapd/overlord/hookstate.(*HookManager).doRunHook(0x0?, 0xc0003ebcc0, 0x55c8a1d44437>
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: github.com/snapcore/snapd/overlord/hookstate/hookmgr.go:287 +0x118
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: github.com/snapcore/snapd/overlord/state.(*TaskRunner).run.func1()
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: github.com/snapcore/snapd/overlord/state/taskrunner.go:220 +0xb4
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: gopkg.in/tomb%2ev2.(*Tomb).run(0xc0004f0fa0, 0xc0001a2510?)
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x36
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: created by gopkg.in/tomb%2ev2.(*Tomb).Go
Jan 20 21:57:54 juju-21b2ee-1 snapd[13730]: gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xee
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.service: Failed with result 'exit-code'.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.service: Scheduled restart job, restart counter is at 6.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: Stopped Snap Daemon.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.service: Start request repeated too quickly.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.service: Failed with result 'exit-code'.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: Failed to start Snap Daemon.
snapd.socket status:
× snapd.socket - Socket activation for snappy daemon
Loaded: loaded (/lib/systemd/system/snapd.socket; enabled; vendor preset: enabled)
Active: failed (Result: service-start-limit-hit) since Mon 2025-01-20 21:57:54 UTC; 10min ago
Triggers: ● snapd.service
Listen: /run/snapd.socket (Stream)
/run/snapd-snap.socket (Stream)
CPU: 535us
Jan 20 21:56:22 juju-21b2ee-1 systemd[1]: Starting Socket activation for snappy daemon...
Jan 20 21:56:22 juju-21b2ee-1 systemd[1]: Listening on Socket activation for snappy daemon.
Jan 20 21:57:54 juju-21b2ee-1 systemd[1]: snapd.socket: Failed with result 'service-start-limit-hit'.