evince/evolution/gtk-print-dialog printing and system-config-printer fail when using client.conf with IP address for which there is no reverse look-up available

Bug #196429 reported by Brian Litzinger
8
Affects Status Importance Assigned to Milestone
gtk+2.0 (Ubuntu)
Fix Released
Low
Ubuntu Desktop Bugs
Hardy
Won't Fix
Undecided
Unassigned
system-config-printer (Ubuntu)
Fix Released
Medium
Unassigned
Hardy
Won't Fix
Medium
Unassigned

Bug Description

I ran into the 'greyed out print button' in evince in gutsy 7.10.

I was working with a network printer and it worked via
lpr and in fact any tool that did not rely on the GTK
print dialog.

Evince and evolution were clearly broken. As was the system
printer configurator via the menu. It kept dying after reporting
an error connecting to cups.

I could use xpdf instead of evince and print fine. I could
also use the GTK dialog to print to a file and then send the
file to the printer using any non-GTK tool.

In /etc/cups/client.conf I had put

ServerName 192.168.1.16

In the end the problem was that I did not have an entry
in /etc/hosts for 192.168.1.16.

If I add an entry like

192.168.1.16 printer.mydomain.tld printer

then everything works well including evince and evolution.

Without that entry or a similar one in /etc/hosts, all the programs
that use the GTK print dialog malfunction and the system print
configurator dies.

Revision history for this message
TerryG (tgalati4) wrote :

Thanks for your helpful bug report. Was this after a fresh installation of Gutsy or after updates? As a general rule, Linux uses /etc/hosts to enumerate specific machines on the local network including printers. I don't know if CUPS adds this entry automatically. I usually add it manually, knowing that many things in Linux break without having accurate /etc/hosts entries.

Marking as Confirmed to preserve your comments.

Revision history for this message
TerryG (tgalati4) wrote :

Changed affected package to gnome-cups-manager. Not sure where it really belongs.

Revision history for this message
Brian Litzinger (brian-worldcontrol) wrote : Re: [Bug 196429] Re: evince/evolution/gtk-print-dialog printing fails when using IP address

On Fri, Feb 29, 2008 at 08:59:14PM -0000, TerryG wrote:
> Thanks for your helpful bug report. Was this after a fresh installation
> of Gutsy or after updates? As a general rule, Linux uses /etc/hosts to
> enumerate specific machines on the local network including printers. I
> don't know if CUPS adds this entry automatically. I usually add it
> manually, knowing that many things in Linux break without having
> accurate /etc/hosts entries.

You are a much more trusting person that I.

I did an install from the 7.10 CD. As a part of the install process
it upgraded 188 packages.

At this point I can add the /etc/cups/client.conf file and
things will work/break as I describe.

I had manually added the client.conf.

Perhaps if one uses the printer configuration tool it does the
right thing.

Hang on while I find out.

Wow, the printer configuration hangs.

I did a 'Goto Server'
put in the IP, user, and password.
Now its hung.

I have to admit that so long as you are working with names
that resolve properly within the domain things work fine.

The ban on the use of IP addresses without reverse mapping
is unique to the GTK print dialog and the system printer configuration.

Everywhere else an IP address without reverse mapping works fine.

The various forms of hanging/crashing are probably undesirable.

> Marking as Confirmed to preserve your comments.
>
> ** Changed in: ubuntu
> Status: New => Confirmed
> configurator dies.

Changed in system-config-printer:
importance: Undecided → Medium
Changed in gtk+2.0:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
TerryG (tgalati4) wrote :

As a long time Linux user, I just do things out of habit. So your observations about the setup configurators are correct. There appears to be some discrepancies between the various network configuration tools. You were brave to perform all 188 updates at once! Although I have done 150 at once before with an old Dapper installation. As a result of your bug submission, it's in the stack so I expect that some of these things will be fixed. In the meantime, you know that accurate /etc/hosts file and appropriate CUPS configuration files will get most things working again. After all, the graphical configurators just add entries to these same files. Sometimes they even do it correctly.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Could you describe easy steps to create the issue?

Changed in gtk+2.0:
assignee: nobody → desktop-bugs
status: Confirmed → Incomplete
Revision history for this message
Brian Litzinger (brian-worldcontrol) wrote : Re: [Bug 196429] Re: evince/evolution/gtk-print-dialog printing and system-config-printer fail when using client.conf with IP address for which there is no reverse look-up available

On Sat, Mar 08, 2008 at 03:05:09PM -0000, Sebastien Bacher wrote:
> Could you describe easy steps to create the issue?

I assume you have some sort of non-network printer being served
by a cups server on machine 192.168.1.16 (any IP will do).

On a client machine

edit /etc/cups/client.conf so it reads

ServerName 192.168.1.16

Arrange for there to be no reverse DNS mapping for 192.168.1.16
on your client machine.

That would mean make sure it is not defined in /etc/hosts, and
that your DNS server has no reverse resolution for 192.168.1.16.
I would suggest getting rid of any forward resolution if you
want to be extra sure.

Make sure there are no caching DNS data tables laying about on
the client machine.

Basically you want this command

% host 192.168.1.16

to return

Host 16.1.186.192.in-addr.arpa not found: 3(NXDOMAIN)

on the client machine.

restart cupsys on the client machine.

Use the GTK print dialog from evince or the system menu
print configurator.

The GTK print dialog will show a greyed out print button.

The print configurator will report an error reaching cups.

However, cups is working fine. lpr and other non-GTK
dialog print code will all work.

> ** Changed in: gtk+2.0 (Ubuntu)
> Assignee: (unassigned) => Ubuntu Desktop Bugs (desktop-bugs)
> Status: Confirmed => Incomplete
> --
> evince/evolution/gtk-print-dialog printing and system-config-printer fail when using client.conf with IP address for which there is no reverse look-up available
> https://bugs.launchpad.net/bugs/196429
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Source Package "gtk+2.0" in Ubuntu: Incomplete
> Status in Source Package "system-config-printer" in Ubuntu: Confirmed
>
> Bug description:
> I ran into the 'greyed out print button' in evince in gutsy 7.10.
>
> I was working with a network printer and it worked via
> lpr and in fact any tool that did not rely on the GTK
> print dialog.
>
> Evince and evolution were clearly broken. As was the system
> printer configurator via the menu. It kept dying after reporting
> an error connecting to cups.
>
> I could use xpdf instead of evince and print fine. I could
> also use the GTK dialog to print to a file and then send the
> file to the printer using any non-GTK tool.
>
> In /etc/cups/client.conf I had put
>
> ServerName 192.168.1.16
>
> In the end the problem was that I did not have an entry
> in /etc/hosts for 192.168.1.16.
>
> If I add an entry like
>
> 192.168.1.16 printer.mydomain.tld printer
>
> then everything works well including evince and evolution.
>
> Without that entry or a similar one in /etc/hosts, all the programs
> that use the GTK print dialog malfunction and the system print
> configurator dies.
>

Changed in gtk+2.0:
status: Incomplete → New
importance: Medium → Low
milestone: none → ubuntu-8.04
Steve Langasek (vorlon)
Changed in gtk+2.0:
milestone: ubuntu-8.04 → ubuntu-8.04.1
Revision history for this message
John Tucker (jonti) wrote :

I found this thread because I caused myself a similar problem (greyed-out button in the gnome print dialog box) by making an incorrect entry to the hosts file on a fresh install of 8.04 (with the home directory contents restored from backup of 7.04).

Just for info then,
127.0.1.1 boxname
instead of
127.0.0.1 localhost.localdomain localhost boxname
caused the "greyed-out button" problem for me (where "boxname" is, of course, the name of the localhost).

WARNING: although correcting this entry sorted the greyed-out print button issue for me, it created a follow up problem. The menu bar of a newly opened application was melded with the applications-places-systems panel at the top of the screen. That made the desktop pretty much unusable. Newly created users were not affected, so to get around this I just created another user for myself.

Steve Langasek (vorlon)
Changed in system-config-printer:
importance: Undecided → Medium
milestone: none → ubuntu-8.04.2
status: New → Confirmed
Changed in gtk+2.0:
milestone: ubuntu-8.04.1 → none
Steve Langasek (vorlon)
Changed in system-config-printer:
milestone: ubuntu-8.04.2 → none
Revision history for this message
Steve Langasek (vorlon) wrote :

from what I can tell, this is resolved now in jaunty.

Changed in system-config-printer:
status: Confirmed → Fix Released
Changed in gtk+2.0:
status: New → Fix Released
Revision history for this message
Rolf Leggewie (r0lf) wrote :

Hardy has seen the end of its life and is no longer receiving any updates. Marking the Hardy task for this ticket as "Won't Fix".

Changed in gtk+2.0 (Ubuntu Hardy):
status: New → Won't Fix
Rolf Leggewie (r0lf)
Changed in system-config-printer (Ubuntu Hardy):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.