Bug 881095

Summary: subscription-manager-gui --help warnings and traceback
Product: Red Hat Enterprise Linux 7 Reporter: J.C. Molet <jmolet>
Component: subscription-managerAssignee: Adrian Likins <alikins>
Status: CLOSED CURRENTRELEASE QA Contact: IDM QE LIST <seceng-idm-qe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: alikins, bkearney, fsharath, jgalipea, jsefler
Target Milestone: rc   
Target Release: 7.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 10:11:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 863175    

Description J.C. Molet 2012-11-28 16:18:12 UTC
Description of problem:
Running subscription-manager-gui --help produces warnings and can even traceback.

Version-Release number of selected component (if applicable):
subscription-manager-gui-1.1.10-1.el6.x86_64

How reproducible:
always

Running 'subscription-manager-gui --help' from the command line produces warnings which a simple help print shouldn't do:

[root@jmolet-vm4 ~]# subscription-manager-gui --help

(subscription-manager-gui:17026): atk-bridge-WARNING **: AT_SPI_REGISTRY was not started at session startup.

(subscription-manager-gui:17026): atk-bridge-WARNING **: IOR not set.

(subscription-manager-gui:17026): atk-bridge-WARNING **: Could not locate registry
Usage: subscription-manager-gui [OPTIONS]

Options:
  -h, --help  show this help message and exit
  --register  launches the registration dialog on startup.


########################################

Additionally unsetting the DISPLAY variable (very feasible in a ssh'd scenario) produces a traceback: 

[root@jmolet-vm4 ~]# unset DISPLAY
[root@jmolet-vm4 ~]# subscription-manager-gui --help
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager-gui", line 41, in <module>
    import gtk
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
    _init()
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
    _gtk.init_check()
RuntimeError: could not open display


#########################################

I realize this program is in fact a gui program but I don't see the need to start loading the gui for the --help command.

These should work as smoothly as the other subscription-manager  --help cli commands.

Comment 1 Adrian Likins 2012-12-04 19:48:03 UTC
Should probably be fixed for 7, but I don't think it's a 6.4 blocker. Can we punt? Probably not a hard fix, but I don't think this a regression either.

What's the at-spi setup for the machine that throws those warnings? I don't seem to get running sans at-spi daemon running.

Comment 4 J.C. Molet 2013-01-02 13:55:46 UTC
(In reply to comment #1)
> Should probably be fixed for 7, but I don't think it's a 6.4 blocker. Can we
> punt? Probably not a hard fix, but I don't think this a regression either.
> 
> What's the at-spi setup for the machine that throws those warnings? I don't
> seem to get running sans at-spi daemon running.

This bug seems to be in the code since at least 6.3 (after doing a quick check) so I wouldn't call it a regression.  I'm fine with this being pushed to 7.

As far as at-spi setup, I've been able to replicate this bug with or without at-spi turned on.  I've tried this on a fresh install of rhel with nothing else done to it and it still seems to happen.  I'm not sure what you're seeing?

Comment 5 John Sefler 2013-01-02 14:11:16 UTC
(In reply to comment #1)
> ... but I don't think this a regression either.
> 
Not a regression; has been failing...


On RHEL59...
[root@rhsm-compat-rhel59 ~]# rpm -q subscription-manager
subscription-manager-1.0.24-1.el5
[root@rhsm-compat-rhel59 ~]# echo $DISPLAY

[root@rhsm-compat-rhel59 ~]# subscription-manager-gui --help
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager-gui", line 41, in ?
    import gtk
  File "/usr/lib64/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 76, in ?
    _init()
  File "/usr/lib64/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 64, in _init
    _gtk.init_check()
RuntimeError: could not open display


On RHEL5.8...
[root@rhsm-compat-rhel58 ~]# rpm -q subscription-manager
subscription-manager-0.98.16.3-1.el5_8
[root@rhsm-compat-rhel58 ~]# echo $DISPLAY

[root@rhsm-compat-rhel58 ~]# subscription-manager-gui --help
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager-gui", line 32, in ?
    import gtk
  File "/usr/lib64/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 76, in ?
    _init()
  File "/usr/lib64/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 64, in _init
    _gtk.init_check()
RuntimeError: could not open display


On RHEL63...
[root@rhsm-compat-rhel63 ~]# rpm -q subscription-manager
subscription-manager-0.99.19.4-1.el6_3.x86_64
[root@rhsm-compat-rhel63 ~]# echo $DISPLAY

[root@rhsm-compat-rhel63 ~]# subscription-manager-gui --help
/usr/sbin/subscription-manager-gui:31: DeprecationWarning: The dbus_bindings module is not public API and will go away soon.

Most uses of dbus_bindings are applications catching the exception
dbus.dbus_bindings.DBusException. You should use dbus.DBusException
instead (this is compatible with all dbus-python versions since 0.40.2).

If you need additional public API, please contact the maintainers via
<dbus.org>.

  import dbus.dbus_bindings
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager-gui", line 32, in <module>
    import gtk
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
    _init()
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
    _gtk.init_check()
RuntimeError: could not open display


On RHEL6.2...
[root@rhsm-compat-rhel62 ~]# rpm -q subscription-manager
subscription-manager-0.96.17-1.el6.x86_64
[root@rhsm-compat-rhel62 ~]# echo $DISPLAY

[root@rhsm-compat-rhel62 ~]# subscription-manager-gui --help
/usr/sbin/subscription-manager-gui:29: DeprecationWarning: The dbus_bindings module is not public API and will go away soon.

Most uses of dbus_bindings are applications catching the exception
dbus.dbus_bindings.DBusException. You should use dbus.DBusException
instead (this is compatible with all dbus-python versions since 0.40.2).

If you need additional public API, please contact the maintainers via
<dbus.org>.

  import dbus.dbus_bindings
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager-gui", line 30, in <module>
    import gtk
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
    _init()
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
    _gtk.init_check()
RuntimeError: could not open display

Comment 6 John Sefler 2013-07-15 15:34:49 UTC
A fix appears to have been implemented in bug 976689

Comment 7 Bryan Kearney 2013-10-11 13:42:59 UTC
Running this on RHEL7, I only see the warning about being unable to open a display. I think that is fine for a gui application. I am moving this to on_QA to verofy the traceback is gone.

Comment 8 Sharath Dwaral 2013-10-11 15:19:15 UTC
RHEL 5.10

# subscription-manager version
server type: Red Hat Subscription Management
subscription management server: Unknown
subscription-manager: 1.8.22-1.el5
python-rhsm: 1.8.17-1.el5

# echo $DISPLAY
localhost:10.0

# subscription-manager-gui --help
Usage: subscription-manager-gui [OPTIONS]

options:
  -h, --help  show this help message and exit
  --register  launches the registration dialog on startup

# unset DISPLAY
# echo $DISPLAY

# subscription-manager-gui --help
Unable to open a display

RHEL 6.5

# subscription-manager version
server type: Red Hat Subscription Management
subscription management server: Unknown
subscription-manager: 1.9.9-1.el6
python-rhsm: 1.9.6-1.el6

# echo $DISPLAY
localhost:10.0

# subscription-manager-gui --help
Usage: subscription-manager-gui [OPTIONS]

Options:
  -h, --help  show this help message and exit
  --register  launches the registration dialog on startup
[root@dhcp129-24 ~]# unset DISPLAY
[root@dhcp129-24 ~]# echo $DISPLAY

# subscription-manager-gui --help
Unable to open a display

RHEL 7

# subscription-manager version
server type: Red Hat Subscription Management
subscription management server: Unknown
subscription-manager: 1.10.2-1.el7
python-rhsm: 1.10.2-1.el7

# echo $DISPLAY
localhost:10.0

# subscription-manager-gui --help
Usage: subscription-manager-gui [OPTIONS]

Options:
  -h, --help  show this help message and exit
  --register  launches the registration dialog on startup

# unset DISPLAY
# echo $DISPLAY

# subscription-manager-gui --help
Unable to open a display


No Traceback thrown. Intelligible Error message displayed

VERIFIED

Comment 9 Ludek Smid 2014-06-13 10:11:50 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.