Bug 921996

Summary: system-config-printer almost completely broken now
Product: [openSUSE] openSUSE Distribution Reporter: S. B. <sb56637>
Component: GNOMEAssignee: E-mail List <gnome-bugs>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: dimstar, sb56637
Version: 13.2Flags: dimstar: needinfo? (sb56637)
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 13.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: system-config-printer initially launched
system-config-printer after printer "properties" selected

Description S. B. 2015-03-12 13:03:13 UTC
Hello,

On openSUSE 13.2, system-config-printer no longer allows me to change the settings on an installed printer. This is a REGRESSION, because it used to work.

When I first open it, I need to hit the "unlock" button to modify printer settings. However, after unlocking the settings,  right-clicking on a printer -> "properties" does nothing, and put the window in a greyed-out state. I will attach screenshots.

When I run system-config-printer as root from a terminal, it spews the following python vomit when I try to change the settings of a printer:

###########################################################################
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Unknown value for media-col: (unknown IPP value tag 0x34)
Choices: [u'media-bottom-margin', u'media-left-margin', u'media-right-margin', u'media-size', u'media-source', u'media-top-margin', u'media-type']
Selecting from choices: media-bottom-margin
Traceback (most recent call last):
  File "/usr/share/system-config-printer/system-config-printer.py", line 1766, in on_edit_activate
    self.dests_iconview_item_activated (self.dests_iconview, paths[0])
  File "/usr/share/system-config-printer/system-config-printer.py", line 538, in dests_iconview_item_activated
    parent=self.PrintersWindow)
  File "/usr/share/system-config-printer/printerproperties.py", line 579, in show
    self.load (name, host=host, encryption=encryption, parent=parent)
  File "/usr/share/system-config-printer/printerproperties.py", line 1470, in load
    editable=editable)
  File "/usr/share/system-config-printer/printerproperties.py", line 846, in add_job_option
    self.option_changed)
  File "/usr/share/system-config-printer/options.py", line 88, in OptionWidget
    return OptionNumeric(name, v, s, on_change)
  File "/usr/share/system-config-printer/options.py", line 503, in __init__
    self.selector = Gtk.SpinButton(adj, climb_rate=1.0, digits=digits)
TypeError: GObject.__init__() takes exactly 0 arguments (1 given)
###########################################################################


Incidentally, I will be filing a similar bug for system-config-printer on Tumbleweed, which simply does not load at all.

I should mention that I need to use a version of CUPS newer than 1.5, which is why am currently on CUPS 2.0 from the official openSUSE Printing repo. Could this be an incompatibility between CUPS 2.0 and system-config-printer?
Comment 1 S. B. 2015-03-12 13:04:02 UTC
Created attachment 626586 [details]
system-config-printer initially launched
Comment 2 S. B. 2015-03-12 13:05:04 UTC
Created attachment 626587 [details]
system-config-printer after printer "properties" selected
Comment 3 S. B. 2015-03-12 13:11:56 UTC
Related Tumbleweed bug #922000 (won't load at all)
Comment 4 Johannes Meixner 2015-03-12 13:42:37 UTC
system-config-printer belongs to the bugzilla component Gnome.
Comment 5 Dominique Leuenberger 2015-03-12 14:23:02 UTC
(In reply to S. B. from comment #0)
> Incidentally, I will be filing a similar bug for system-config-printer on
> Tumbleweed, which simply does not load at all.
> 
> I should mention that I need to use a version of CUPS newer than 1.5, which
> is why am currently on CUPS 2.0 from the official openSUSE Printing repo.
> Could this be an incompatibility between CUPS 2.0 and system-config-printer?

What version of system-config-printer do you have installed on your openSUSE 13.2 setup?
Comment 6 S. B. 2015-03-12 14:38:40 UTC
1.4.5-2.7.1 from openSUSE updates.
Comment 7 Dominique Leuenberger 2015-03-12 14:41:41 UTC
Actually, come to think of it: python-cups is more likely the issue for this. You would need something like 1.9.72 for cups 2.0

Try to grab that one from devel:languages:python repository
Comment 8 S. B. 2015-03-12 14:47:40 UTC
Hmm, thanks for the tip. It still doesn't work. Here's the output with python-cups 1.9.72:

################################################################
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Unknown value for media-col: (unknown IPP value tag 0x34)
Choices: [u'media-bottom-margin', u'media-left-margin', u'media-right-margin', u'media-size', u'media-source', u'media-top-margin', u'media-type']
Selecting from choices: media-bottom-margin
Traceback (most recent call last):
  File "/usr/share/system-config-printer/system-config-printer.py", line 1766, in on_edit_activate
    self.dests_iconview_item_activated (self.dests_iconview, paths[0])
  File "/usr/share/system-config-printer/system-config-printer.py", line 538, in dests_iconview_item_activated
    parent=self.PrintersWindow)
  File "/usr/share/system-config-printer/printerproperties.py", line 579, in show
    self.load (name, host=host, encryption=encryption, parent=parent)
  File "/usr/share/system-config-printer/printerproperties.py", line 1470, in load
    editable=editable)
  File "/usr/share/system-config-printer/printerproperties.py", line 846, in add_job_option
    self.option_changed)
  File "/usr/share/system-config-printer/options.py", line 88, in OptionWidget
    return OptionNumeric(name, v, s, on_change)
  File "/usr/share/system-config-printer/options.py", line 503, in __init__
    self.selector = Gtk.SpinButton(adj, climb_rate=1.0, digits=digits)
TypeError: GObject.__init__() takes exactly 0 arguments (1 given)
################################################################
Comment 9 Dominique Leuenberger 2015-03-12 14:55:18 UTC
I'm considering to prepare an update for system-config-printer to version 1.4.7... 

Please give me an hour or so.
Comment 10 S. B. 2015-03-12 14:58:03 UTC
Thanks a ton Dominique.
Comment 11 Dominique Leuenberger 2015-03-20 14:53:29 UTC
Strange.. I was sure I asked people to test the packages in the repository
http://download.opensuse.org/repositories/home:/dimstar:/boo921996/openSUSE_13.2_Update/

but there is no trace of this in bugzilla... so please accept my apologies for the delay; that repo has been out since March 12 though.

Can anybody please test the packages in this repository and confirm if this solves the issues seen?
Comment 12 S. B. 2015-03-20 15:50:30 UTC
(In reply to Dominique Leuenberger from comment #11)
> Strange.. I was sure I asked people to test the packages in the repository
> http://download.opensuse.org/repositories/home:/dimstar:/boo921996/
> openSUSE_13.2_Update/
[...]
> Can anybody please test the packages in this repository and confirm if this
> solves the issues seen?

Hi Dominique, thanks for looking into this. I just now tried your repo, but unfortunately this issue remains. When run with gnomesu from a terminal, this is the output when I try to modify the properties of a printer:

====================================================================
Unknown value for media-col: (unknown IPP value tag 0x34)
Choices: [u'media-bottom-margin', u'media-left-margin', u'media-right-margin', u'media-size', u'media-source', u'media-top-margin', u'media-type']
Selecting from choices: media-bottom-margin
Traceback (most recent call last):
  File "/usr/share/system-config-printer/system-config-printer.py", line 1780, in on_edit_activate
    self.dests_iconview_item_activated (self.dests_iconview, paths[0])
  File "/usr/share/system-config-printer/system-config-printer.py", line 542, in dests_iconview_item_activated
    parent=self.PrintersWindow)
  File "/usr/share/system-config-printer/printerproperties.py", line 579, in show
    self.load (name, host=host, encryption=encryption, parent=parent)
  File "/usr/share/system-config-printer/printerproperties.py", line 1478, in load
    editable=editable)
  File "/usr/share/system-config-printer/printerproperties.py", line 846, in add_job_option
    self.option_changed)
  File "/usr/share/system-config-printer/options.py", line 88, in OptionWidget
    return OptionNumeric(name, v, s, on_change)
  File "/usr/share/system-config-printer/options.py", line 503, in __init__
    self.selector = Gtk.SpinButton(adj, climb_rate=1.0, digits=digits)
TypeError: GObject.__init__() takes exactly 0 arguments (1 given)
====================================================================

I confirmed that I am using system-config-printer 1.4.7 from your repo, together with all its dependencies. (I did a "switch system packages to the version in this repo.)
Comment 13 Tomáš Chvátal 2018-04-12 14:02:10 UTC
This version of openSUSE changed to end-of-life (EOL [1]) status. As such
it is no longer maintained, which means that it will not receive any
further security or bug fix updates.
As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
openSUSE, or consider the bug still valid, please feel free to reopen this
bug against that version, or open a new ticket.

Thank you for reporting this bug and we are sorry it could not be fixed
during the lifetime of the release.

[1] https://en.opensuse.org/Lifetime