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:
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
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
Priority: Normal => release_blockerCC: (none) => makowski.mageiaSeverity: major => critical
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.vignaudSummary: System-config-printer can't start => System-config-printer can't start from drakconf
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 => RESOLVEDResolution: (none) => FIXED
See Bug #11546 for the python-gi issue
*** Bug 11514 has been marked as a duplicate of this bug. ***
CC: (none) => axonefr