[MOD] STR #4250: loosing track of class members when remote server reloads config

Michael Gliwinski <michael.gliwinski-hDjLPGB6uWp4IJe0vxYInkEOCMrvLtNR@public.gmane.org> Fri, 14 Dec 2012 06:18:38 -0800 (PST)
Newsgroups gmane.comp.printing.cups.bugs
Message-ID <[email protected]>
DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Setup:

- server machine S running CUPS 1.5.3 on Ubuntu 12.04.1 is sharing print
queues (Browsing on, protocols CUPS and dnssd, BrowseAddress @LOCAL)
- client machine C running CUPS 1.5.3 on Ubuntu 12.04.1 uses shared print
queues from S via browsing (Browsing on, BrowseAllow all, same protocols)

Server S is sharing a printer queue "net_las31".

Client C has a class "test-447380" with "net_las31" as only member.

When CUPS on server S reloads configuration or restarts, print queues
temporarily disappear on client C and also the "test-447380" class lists
it's member as "unknown", i.e. output from `lpstat -c`:

members of class test-447380:
        unknown

Even though print queues reappear on client C shortly after server S
reappears, the class never recovers on its own.

Either re-adding the print queue to the class using lpadmin or sending
SIGHUP to running cupsd process causes the class to recover.

There's not much in the log, this is from client C:

D [14/Dec/2012:13:52:25 +0000] process_browse_data:
[email protected] not found...
D [14/Dec/2012:13:52:25 +0000] Added remote printer "net_las31"...
D [14/Dec/2012:13:52:25 +0000] Calling DeleteDevice(cups-net_las31)
D [14/Dec/2012:13:52:25 +0000]
cupsdDeregisterPrinter(p=0x7f5c84ed6f70(net_las31), removeit=1)
D [14/Dec/2012:13:52:30 +0000] process_browse_data:
[email protected] not found...
D [14/Dec/2012:13:52:30 +0000] Added remote printer "net_las31"...
D [14/Dec/2012:13:52:30 +0000] Calling DeleteDevice(cups-net_las31)
D [14/Dec/2012:13:52:30 +0000]
cupsdRegisterPrinter(p=0x7f5c84ed4ce0(net_las31))

I can also reproduce it the same way on CUPS 1.4.2 running on CentOS 6.3
as well as on CUPS 1.3.7 running on CentOS 5.7.

Link: https://www.cups.org/str.php?L4250
Version: 1.5.3