Comment 6 for bug 173470

Revision history for this message
Till Kamppeter (till-kamppeter) wrote : Re: Gutsy: Bad interaction with avahi

I can reproduce the problem (2) and it looks like an upstream bug of CUPS.

For actually reproducing it you do not need to rotate all your log files. It is enough to do the following:

Edit /etc/cups/cupsd.conf, so that you have a line

BrowseAddress 192.168.1.255:631

The IP address must be the broadcast address of your local network, see "Bcast:" entry in the output of "ifconfig". Comment out (Preceed with a "#") any other "BrowseAddress" line. Change the "LogLevel" line to be

LogLevel debug

Now there are two methods to restart CUPS. Whenever you do

sudo /etc/init.d/cupsys restart

the CUPS daemon is actually stopped and restarted. In this case the above configuration works well and you printers continue to get broadcasted. Check with "lpstat -p" on a Linux or Mac client or with "avahi-browse -k -t -v -r -a" on any machine in your network (including the CUPS server).

But whenever you do

sudo /etc/init.d/cupsys force-reload

and that is what logrotate does, the CUPS daemon gets simply a HUP signal (like "sudo killall -HUP cupsd") and in this mode the above configuration fails with the error which you have seen in your error_log.

To work around this bug, use either

BrowseAddress @LOCAL

in case your printers should be advertised on all your local networks or in the case that you have only one local network or lines like

BrowseAddress @IF(eth0)

for each of the interfaces to which the printers should be advertised for the case they should be available only in selected networks. Do a full restart of the CUPS daemon after editing cupsd.conf:

sudo /etc/init.d/cupsys restart