Comment 9 for bug 1820584

Revision history for this message
Matthew Ruffell (mruffell) wrote :

This bug is triggered when I went to upgrade the avahi packages as part of a
daily upgrade in focal:

$ sudo apt list --upgradable
Listing... Done
avahi-autoipd/focal 0.7-4ubuntu7 amd64 [upgradable from: 0.7-4ubuntu6]
avahi-daemon/focal 0.7-4ubuntu7 amd64 [upgradable from: 0.7-4ubuntu6]
avahi-utils/focal 0.7-4ubuntu7 amd64 [upgradable from: 0.7-4ubuntu6]
libavahi-client3/focal 0.7-4ubuntu7 amd64 [upgradable from: 0.7-4ubuntu6]
libavahi-common-data/focal 0.7-4ubuntu7 amd64 [upgradable from: 0.7-4ubuntu6]
libavahi-common3/focal 0.7-4ubuntu7 amd64 [upgradable from: 0.7-4ubuntu6]
libavahi-core7/focal 0.7-4ubuntu7 amd64 [upgradable from: 0.7-4ubuntu6]
libavahi-glib1/focal 0.7-4ubuntu7 amd64 [upgradable from: 0.7-4ubuntu6]
libavahi-ui-gtk3-0/focal 0.7-4ubuntu7 amd64 [upgradable from: 0.7-4ubuntu6]

When the dpkg hook is run to restart the avahi service, seahorse looses connection to the avahi-daemon:

Apr 14 16:55:10 ubuntu avahi-daemon[694]: Got SIGTERM, quitting.
Apr 14 16:55:10 ubuntu avahi-daemon[694]: Leaving mDNS multicast group on interface enp1s0.IPv6 with address fe80::daf8:4688:8169:19b5.
Apr 14 16:55:10 ubuntu avahi-daemon[694]: Leaving mDNS multicast group on interface enp1s0.IPv4 with address 192.168.122.34.
Apr 14 16:55:10 ubuntu avahi-daemon[694]: Leaving mDNS multicast group on interface lo.IPv6 with address ::1.
Apr 14 16:55:10 ubuntu avahi-daemon[694]: Leaving mDNS multicast group on interface lo.IPv4 with address 127.0.0.1.
Apr 14 16:55:10 ubuntu seahorse[2622]: failure communicating with to avahi: Daemon connection failed

From there, seahorse hits the assert at: https://github.com/lathiat/avahi/blob/master/avahi-common/simple-watch.c#L273-L282

Apr 14 16:55:10 ubuntu org.gnome.seahorse.Application[2622]: seahorse: glib-watch.c:195: timeout_update: Assertion `!t->dead' failed.

The avahi daemon continues to stop, and then restarts:

Apr 14 16:55:10 ubuntu dbus-daemon[713]: [system] Activating via systemd: service name='org.freedesktop.Avahi' unit='dbus-org.freedesktop.Avahi.service' requested by ':1.114' (uid=0 pid=789 comm="/usr/sbin/cups-browsed " label="/usr/sbin/cups-browsed (enforce)")
Apr 14 16:55:10 ubuntu systemd[1]: Stopping Avahi mDNS/DNS-SD Stack...
Apr 14 16:55:10 ubuntu avahi-daemon[694]: avahi-daemon 0.7 exiting.
Apr 14 16:55:10 ubuntu systemd[1]: avahi-daemon.service: Succeeded.
Apr 14 16:55:10 ubuntu systemd[1]: Stopped Avahi mDNS/DNS-SD Stack.
Apr 14 16:55:10 ubuntu systemd[1]: Starting Avahi mDNS/DNS-SD Stack...

Then apport goes and makes a crash report:

Apr 14 16:55:11 ubuntu avahi-daemon[4364]: Server startup complete. Host name is ubuntu.local. Local service cookie is 3169540412.
Apr 14 16:55:11 ubuntu systemd[1529]: Starting Notification regarding a crash report...
Apr 14 16:55:11 ubuntu update-notifier-crash[4516]: /usr/bin/whoopsie
Apr 14 16:55:11 ubuntu update-notifier-crash[4519]: seahorse

The next interesting thing is, if you launch seahorse, then restart avahi-daemon.service, it prints an error but does not crash:

$ seahorse
$ sudo systemctl restart avahi-daemon.service
(seahorse:6477): seahorse-WARNING **: 17:09:53.344: failure communicating with to avahi: Daemon connection failed