GNOME Bugzilla – Bug 612985
Gnome print dialog box poll for printer info every time it's opened
Last modified: 2018-02-10 04:36:37 UTC
In Ubuntu Franck reported: When a printer is defined as a remote printer, using DNS-SD, each time you enter a gnome print dialog box, the dialog says : 'Getting printer information...' This phase sometimes takes several tens of seconds, making the printing process cumbersome... Applications that don't use gnome print dialog (say openoffice for example) don't suffer from this latency. This behaviour appeared with Karmic Koala and is still here in Lucid alpha. Launchpad ref: https://bugs.edge.launchpad.net/ubuntu/+source/gtk+2.0/+bug/534985 Thanks!
I can confirm this bug. (Ubuntu 10.04 LTS -> Gnome 2.30.0) In my case, most network printers are configured with URI such as hp:/net/hp_LaserJet_2430?ip=XXX.XXX.XXX.XXX As described above, the status polling of the printer takes in the order of 10 seconds. In contrast, some printers are configured as socket://XXX.XXX.XXX.XXX:9100 Here the status polling takes about 1-2 seconds. Therefore, the problem might be with the hp-backend of CUPS rather than gtk, but this is up to more knowledgeable persons to decide
I can confirm the bug in Lucid. Disabling the dnssd parameter in BrowseLocalProtocols in cups.conf and cups.conf.default resolved for me, but I assume that will kill printer discovery.
Hi all, I can not reproduce the problem here on Fedora and on upstream gtk+. Could you attach here what "lpstat -t -H" returns? Could you also attach your cupsd.conf? What does return this: python >>> import cups >>> c = cups.Connection() >>> c.getPrinters()['the-name-of-the-problematic-printer-here'] The cups module is part of system-config-printer on Fedora. Angel, is the printer published by Avahi? If yes, what "avahi-browse -avrt" says (you can hide your IP and MAC addresses)? Rodrigo, how have you configured your printer in CUPS? Regards Marek
Hi Marek. >>> c.getPrinters()['lj67'] {'printer-is-shared': True, 'printer-info': u'HP LaserJet 4250', 'printer-state-message': u'', 'printer-type': 8556756, 'printer-make-and-model': u'HP LaserJet 4250 Postscript (recommended)', 'printer-state-reasons': [u'none'], 'printer-uri-supported': u'ipp://localhost:631/printers/lj67', 'printer-state': 3, 'printer-location': u'Lab 67/209', 'device-uri': u'smb://impressoras.inf.ufrgs.br/lj67'} I added my printer via system-config-printer. Here's the printers.conf # Printer configuration file for CUPS v1.4.4 # Written by cupsd # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING <DefaultPrinter lj67> Info HP LaserJet 4250 Location Lab 67/209 MakeModel HP LaserJet 4250 Postscript (recommended) DeviceURI smb://<myuser>:<notmypassword>@<print.server.fqdn>/lj67 State Idle StateTime 1285357957 Type 8425684 Filter application/vnd.cups-raw 0 - Filter application/vnd.cups-command 0 commandtops Filter application/vnd.cups-postscript 0 - Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy retry-job </Printer>
Sounds like it could be related to or even be the same as bug #599664. Personally I wouldn't consider polling itself a bug, just blocking the user from doing their work would be an issue.
Created attachment 174515 [details] Output of lpstat -t -H (a view printers stripped from output)
Created attachment 174516 [details] cupsd configuration
Hi Marek, here (and in the above attachment) the requested info. My standard printer Laserjet_Regina (see below the requested corresponding python output) shows the long polling time bug, but, as mentioned previously, is not the only one of my configured printers. Hope this info is useful and thanks for investigating this problem! {'printer-is-shared': True, 'printer-info': u'Regina: Duplex-Laserjet 2430', 'printer-state-message': u'ready to print', 'printer-type': 8556756, 'printer-make-and-model': u'HP LaserJet 2430 Postscript (recommended)', 'printer-state-reasons': [u'none'], 'printer-uri-supported': u'ipp://localhost:631/printers/Laserjet_Regina', 'printer-state': 3, 'printer-location': u'Reginas B\xfcro', 'device-uri': u'hp:/net/hp_LaserJet_2430?ip=xxx.xxx.248.205'}
Hi, thank you for your information. But unfortunately, I still can not reproduce it. Could you try to get PPDs of those printer manually (this is what "getting printer information" actually means)? Just "wget localhost:631/printers/<your printer>.ppd". Does the print dialog show some additional tabs for the printer after it gets the printer information (other than "General", "Page Setup", "Job")? Could you also ping those remote computers and write here how much time it takes? Thank you Marek
Hi Marek! I will not be in my office before next Monday and do not even have the chance to get access via VPN to the office network (maybe tonight). So for the moment no info on ping response time. I will attach the ppd right away. However, it seems your thinking in the right direction. Indeed, after polling the printer, there printer specific tabs appear. While polling, only the "standard tabs" show up. During polling, e.g. a page-range to be printed can be "inserted" in the field, however the values only show up after polling has finished. Kind regards Holger
Created attachment 174776 [details] PPD file
Hi Marek, I am back in office. Pinging the printer is fast: --- XXX.XXX.248.205 ping statistics --- 33 packets transmitted, 33 received, 0% packet loss, time 32011ms rtt min/avg/max/mdev = 0.476/0.616/0.801/0.068 ms So a network issue seems not at the origin of the bug/problem. Holger
Maybe someone experiencing this issue could try attachment #168505 [details] from bug #599664? I really do think that the patch should help with at least part of the issue. With the patch I am not experiencing delay in the print dialog, without it the dialog and application would freeze for seconds at a time.
We're moving to gitlab! As part of this move, we are closing bugs that haven't seen activity in more than 5 years. If this issue is still imporant to you and still relevant with GTK+ 3.22 or master, please consider creating a gitlab issue for it.