Removal of avahi-daemon from Ubuntu 14.04 systems

It appears that the avahi-daemon causes the gtk+ library on Ubuntu 14.04 systems used by many GUIsĀ  (e.g. firefox and chrome) to hammer the print spooler by opening hundreds of simultaneous connections, causing the GUI to crash. To avoid this, we are removing the avahi-daemon on all Ubuntu 14.04 systems. If you manage a machine which needs it, simply add ‘avahi-daemon’ to /etc/user-config/bundles as usual. and it will be auto-installed.

In lots more detail: About a year ago we updated our CUPS print server to a version which supported Bonjour/Avahi export of printer information. This was mainly to make life easier for Mac/Windows users, Linux users continued as before as Linux systems hadn’t added Avahi support at that time. Avahi support was added in Ubuntu 13 through the gtk+ v3 library. From that point on we started seeing problems as it turned out that Avahi printer discovery told gtk+ about our printers several times over. So applications using gtk+ (such as evince/Document Viewer, browsers etc) were frequently polling the CUPS server about each printer discovered by Avahi, resulting in several hundred simultaneous connections from the application to the CUPS server. Not surprisingly the CUPS server ground to a halt for about 15 mins whenever anybody using a Ubuntu 13/14 system tried to print. This caused a problem for everyone in the Lab, not just Ubuntu 13/14 users. As we hadn’t discovered the cause at that point we had no choice but to implement throttling on the CUPS server so that it would only accept up to 50 simultaneous connections from any one host. This prevented the CUPS server from dying, at the expense of printing problems for the (at that time small number of) Ubuntu 13/14 users – if using a printer at the top of the list printing would succeed but be quite slow, if using a printer at the bottom of the list then your application would probably crash. Our only solution was to suggest applications that don’t use gtk+, such as okular which is a PDF viewer superior in every way to evince/Document Viewer, and which we still recommend. We haven’t discovered a way to “fix” Avahi, but we have now discovered that removing the Avahi daemon altogether solves the problem completely – gtk+ backs off to a less harmful means of printer discovery, and applications don’t notice. We are not aware of any other use for Avahi on our systems, so we are simply removing it.

This entry was posted in Local IT systems and tagged , , , , , , . Bookmark the permalink.