| Summary: | System-config-printer can't start from drakconf | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Jean-Marc Sarat <jm.sarat> |
| Component: | RPM Packages | Assignee: | Nicolas Lécureuil <mageia> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | critical | ||
| Priority: | release_blocker | CC: | axonefr, ftg, juergen.harms, mageia, makowski.mageia, thierry.vignaud |
| Version: | Cauldron | ||
| Target Milestone: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Source RPM: | system-config-printer | CVE: | |
| Status comment: | |||
I confirm. I haven't had occasion to use s-c-p lately until yesterday, and I noticed this. Launching from a terminal as root worked, but launching from MCC failed reliably. CC:
(none) =>
ftg
David Walser
2013-10-25 17:35:06 CEST
Assignee:
bugsquad =>
nicolas.lecureuil Here is the stdout/stderr from running mcc from the command line:
[ftg@ftgme2 ~]$ mcc
LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589.
LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589.
LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589.
LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589.
LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589.
LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589.
LOG **: NP_Initialize at /usr/lib/libDrakX/mygtk2.pm line 589.
LOG **: NP_Initialize succeeded at /usr/lib/libDrakX/mygtk2.pm line 589.
"/usr/sbin/drakmenustyle" is not executable [Menus] at /usr/libexec/drakconf line 823.
"/usr/sbin/drakbackup" is not executable [Backups] at /usr/libexec/drakconf line 823.
"/usr/sbin/tomoyo-gui" is not executable [Tomoyo Policy] at /usr/libexec/drakconf line 823.
java version "1.7.0_45"
OpenJDK Runtime Environment (mageia-2.4.3.2.mga4-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
Traceback (most recent call last):
File "/usr/share/system-config-printer/system-config-printer.py", line 2136, in <module>
main(show_jobs)
File "/usr/share/system-config-printer/system-config-printer.py", line 2108, in main
mainwindow = GUI()
File "/usr/share/system-config-printer/system-config-printer.py", line 203, in __init__
PlugWindow = gtk.Plug(PlugWindowId)
NameError: global name 'gtk' is not defined
Nicolas Lécureuil
2013-10-25 18:10:44 CEST
Priority:
Normal =>
release_blocker see also https://bugs.mageia.org/show_bug.cgi?id=11427 - looks like duplicates. And for priority and severity I agree: Release blocker and critical is more adequaate than high and major CC:
(none) =>
juergen.harms *** Bug 11427 has been marked as a duplicate of this bug. *** (In reply to Frank Griffin from comment #1) > Launching from a terminal as root worked, but launching > from MCC failed reliably. Could it be a polkit regression bug ? CC:
(none) =>
mageia, thierry.vignaud a PyGTK problem, it seems that it need to be modified to use new PyGTK (In reply to Manuel Hiebel from comment #5) > (In reply to Frank Griffin from comment #1) > > Launching from a terminal as root worked, but launching > > from MCC failed reliably. > Could it be a polkit regression bug ? I really don't know. But shouldn't all of the authorization issues be history once MCC is running ? I mean, after the initial root password prompt, MCC is running as root, correct ? I can't recall whether I tried MCC from a root or non-root command line to get the above data... The problem come from our Embedded mode
system-config-printer-1.4.2-mga_custom-embedded_window.patch need to be changed
at least instead of
@@ -192,6 +196,16 @@ class GUI(GtkGUI):
domain=config.PACKAGE)
+ if PlugWindowId:
+ self.PrintersWindow.hide()
+ # the "vbox4" widget
+ vbox = self.PrintersWindow.get_children()[0]
+ PlugWindow = gtk.Plug(PlugWindowId)
+ gtk.Container.remove(self.PrintersWindow, vbox)
+ PlugWindow.add(vbox)
+ self.PrintersWindow.set_transient_for(PlugWindow)
+ PlugWindow.show_all()
+ self.PrintersWindow = PlugWindow
we need to write
@@ -192,6 +196,16 @@ class GUI(GtkGUI):
domain=config.PACKAGE)
+ if PlugWindowId:
+ self.PrintersWindow.hide()
+ # the "vbox4" widget
+ vbox = self.PrintersWindow.get_children()[0]
+ PlugWindow = Gtk.Plug(PlugWindowId)
+ Gtk.Container.remove(self.PrintersWindow, vbox)
+ PlugWindow.add(vbox)
+ self.PrintersWindow.set_transient_for(PlugWindow)
+ PlugWindow.show_all()
+ self.PrintersWindow = PlugWindow
since now in system-config-printer.py we have
from gi.repository import Gtk
instead of previous
import gtk
But I don't know if it is enough
can someone test it ?
It's better: it doesn't crash but it still not displayed. I've also fixed system-config-printer-1.4.2-mga_custom-system-config-printer.patch which had a similar issue. But We still have an issue: /usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py:445: Warning: value "((GtkWindowType) 56640845)" of type 'GtkWindowType' is invalid or out of range for property 'type' of type 'GtkWindowType' Gtk.Window.__init__(self, type=type, **kwds) This happens on the following line: PlugWindow = Gtk.Plug(PlugWindowId) Probably a regression from pygtk2 to python-gi. The issue is that we're probably the only users of Gtk.Plug using python... Closing this one Status:
NEW =>
RESOLVED See Bug #11546 for the python-gi issue |
Description of problem: system-config-printer crash when launched fron MCC but runs fin when lauched from a terminal Version-Release number of selected component (if applicable): 1.4.2-5.mga4 How reproducible: Every time when system-config-printer is launched from MCC More details : Traceback (most recent call last): File "/usr/share/system-config-printer/system-config-printer.py", line 2136, in <module> main(show_jobs) File "/usr/share/system-config-printer/system-config-printer.py", line 2108, in main mainwindow = GUI() File "/usr/share/system-config-printer/system-config-printer.py", line 203, in __init__ PlugWindow = gtk.Plug(PlugWindowId) NameError: global name 'gtk' is not defined Reproducible: Steps to Reproduce: