GNOME Bugzilla – Bug 424041
Freeze when cups server can't be reached
Last modified: 2010-05-31 09:26:15 UTC
An old friend has returned with the gtk printing code. When the cups server is unreachable, gnumeric freezes when you press the print button or choose file/print. Backtrace:
+ Trace 123148
Relevant part of /etc/cups/client.conf ServerName tyholt.uninett.no This server is unreachable from here.
I am not sure that "old friend" is the right turn. Of course now we could just turn her over to GTK since the problem lies clearly in their printing code. I am not doing that since we need to work around it here first. Printing can be done asynchroneously but then we need to provide feedback why the print dialog doesn't seem to appear.
oops, that should have been: "I am not sure that "old friend" is the right term." I have failed trying to replicate this. If I change my client.conf file to point to a non-existing machine the print dialog appears without any printers and, on the console, I get repeated errors: ** (gnumeric:25650): WARNING **: Error getting printer list: Too many failed attempts ** (gnumeric:25650): WARNING **: Error getting printer list: Too many failed attempts Could you please try it with a completely fake name? Which version of gtk are you running? Thanks
The gtk version is 2.10.6 from Ubuntu edgy - Ubuntu release 2.10.6-0ubuntu3.1 The cups client library bombards the server with connection requests. If the machine keeps rejecting the connection until the client library eventually gives up, we don't get the freeze. If the server just ignores the connection requests without responding, the UI freezes. This typically happens when the server machine is firewalled. I don't get the freeze when the server machine doesn't exist, my computer is offline, or the server machine isn't running cups.
Just was able to replicate. The CUPS server exists. It ignores requests. Not an easy situation to handle, but can easily happen when you bring a work computer home. Adobe Acrobat Reader shows the same behaviour. So does OpenOffice.org and Firefox. This is probably not something we should try to work around in Gnumeric or Gtk. Rather, it is proof that there ought to be a local cups server on the machine. GTK folks, I'm reassigning to you. What do you think?
*** Bug 508905 has been marked as a duplicate of this bug. ***
Is there any ongoing work on solving this problem?
I have found a decent workaround for this problem. The solution is to configure the remote printer with an https URI rather than an IPP URI. The way to do that is to create the printer using the "Internet Printing Protocol (https)" option rather than the "Internet Printing Protocol (ipp)" option in the system-config-printer application (System->Administration->Printing). Now apps don't hang even if the remote printer is not available :) On a side note: its crazy that system-config-printer can show a list of printers without hanging (whether ipp or https) but other GNOME apps cannot (Gnome apps fail to list ipp printers). Why not use the same method to get a list of printers for both system-config-printer and the other apps?
Hi, this should be fixed by the fix of the bug #586207. Could you confirm that (gtk+ 2.18.1)? Regards Marek
I confirm. Its all good now.
I'm closing this now then. Marek