Description of problem: After a reload of the cups server, it stops sending browse lists. See the following in the error log: I [09/May/2006:14:01:19 -0600] Full reload is required. I [09/May/2006:14:01:19 -0600] Saving job cache file "/var/cache/cups/job.cache"... E [09/May/2006:14:01:19 -0600] cupsdSendBrowseList: sendto failed for browser 1 - Bad file descriptor. I [09/May/2006:14:01:19 -0600] Loaded MIME database from '/etc/cups': 34 types, 38 filters... I [09/May/2006:14:01:19 -0600] Loading job cache file "/var/cache/cups/job.cache"... I [09/May/2006:14:01:19 -0600] Full reload complete. Version-Release number of selected component (if applicable): cups-1.2-0.4.1.rc3.1 How reproducible: very. Steps to Reproduce: 1. make change to cupsd.conf 2. service cups reload
Confirmed on cups-1.2.0-1.1.
Reported upstream: http://cups.org/str.php?L1670
Actually I can't get it to happen any more. :-/
Still completely reproducible here. Still running cups-1.2.0-1.1.
Created attachment 129112 [details] cupsd.conf This is the cupsd.conf we use. It is a little non-standard (sends browse queries but does not accept any).
Watching cups during reload: - main.c:631 -> cupsdStopServer -> cupsdStopBrowsing closes the browe socket and sets BrowseSocket to -1. - Here: #0 0x00839ca3 in read_configuration (fp=0x9c614d8) at conf.c:2285 #1 0x0083c2f9 in cupsdReadConfiguration () at conf.c:456 #2 0x00843b6b in main (argc=1, argv=0xbfba49c4) at main.c:637 NumBrowsers gets set to 1 - Here: #0 send_cups_browse (p=0x8e63fd0) at dirsvc.c:2608 #1 0x007d6d84 in cupsdDeletePrinter (p=0x8e63fd0, update=0) at printers.c:681 #2 0x007d6e7b in cupsdDeleteAllPrinters () at printers.c:571 #3 0x007b2c3a in cupsdReadConfiguration () at conf.c:938 #4 0x007b9b6b in main (argc=1, argv=0xbf9a6b64) at main.c:637 NumBrowsers gets set to 0 - main.c:668 -> cupsdStartServer -> cupsdStartBrowsing sets BrowseSocket to 2, reopened. So, NumBrowsers gets left at 0 and no browsing. - NumBrowsers gets set by read_configuration (conf.c:1998)
cups-1.2.0-1.3 (currently in updates-testing) contains the fix for this.
Confirmed it fixes the problem for me. Thanks!
Fixed in 1.2.1-1.2.