Bug 862099

Summary: Subscription Manager Dialogs Fail to Render Properly - 'Gtk_is_Container' assertion failure
Product: Red Hat Enterprise Linux 5 Reporter: Matt Reid <mreid>
Component: subscription-managerAssignee: Devan Goodwin <dgoodwin>
Status: CLOSED ERRATA QA Contact: Entitlement Bugs <entitlement-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: 5.9CC: dgoodwin, jsefler
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: Closing some of the dialogs within Subscription Manager using the ESC key or the window manager's close button. Consequence: The dialog in question would fail to open properly if the user attempted to use it again. Fix: Correctly hooked up default GTK destroy signals. Result: All dialogs can now be opened and closed and re-opened regardless how they are closed.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-08 04:03:58 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: 771748    
Attachments:
Description Flags
System Registration Dialog Failure
none
Subscription Redemption Dialog Failure After Resizing none

Description Matt Reid 2012-10-01 21:07:22 UTC
Description of problem:
I've had the System Registration dialog fail on me when I try to open that dialog, resulting in only being able to see the S in the Window Title and a bit of window underneath. 

Sefler hooked me up with details on how to see the Subscription Redemption dialog, and that has failed in the same way for me twice, resulting in the same itty bitty slice of window showing. The Subscription Redemption window is resizable though, so I was able to get a screenshot of it after expanding it, its just empty, nothing ever got placed inside it.

The Subscription Redemption dialog seems to fail more frequently, and I was able to get some output from running it in the terminal. The message was:

/usr/share/rhsm/subscription_manager/gui/redeem.py:60 GtkWarning: gtk_container_foreach:assertion 'GTK_IS_CONTAINER (container)' failed
self.redeem_dialog.present()

Version-Release number of selected component (if applicable):
subscription-manager-1.1.2-1.git.28.85c7626
subscription-manager-1.0.14-1.git

How reproducible:
fairly, at least for Subscription Redemption, less so for System Registration

Steps to Reproduce:
1. Launch subscription-manager-gui from a terminal
2. Open Redeem a Subscription from the menu, close it
3. Open most of the other menu entries, and close them, one by one
4. Open Redeem again, it might be messed up
  
Actual results:
Dialog opens in a completely unusable size, and may or may not be resizable, depending on which dialog it happened to
Even if you can resize it, the dialog is empty

Expected results:
Normal dialog

Additional info:

Comment 1 Matt Reid 2012-10-01 21:08:33 UTC
Created attachment 620018 [details]
System Registration Dialog Failure

Comment 2 Matt Reid 2012-10-01 21:09:02 UTC
Created attachment 620019 [details]
Subscription Redemption Dialog Failure After Resizing

Comment 3 RHEL Program Management 2012-10-01 21:28:04 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux release.  Product Management has
requested further review of this request by Red Hat Engineering, for
potential inclusion in a Red Hat Enterprise Linux release for currently
deployed products.  This request is not yet committed for inclusion in
a release.

Comment 4 Devan Goodwin 2012-10-03 19:31:39 UTC
Just hit it opening the Import Certificate window in a RHEL 5.9 KVM guest. I don't think the exact dialog matters, just open/close a bunch of dialogs and eventually it happens, didn't take too long here.

In my case the window opened blank (not just as a small sliver)

Investigating.

Comment 5 Devan Goodwin 2012-10-04 15:40:05 UTC
Ok we found really easy steps to reproduce:

- Open subscription-manager-gui
- Control + i (to open import cert dialog)
- Press ESC, or hit the X to close the window in the top right corner. (DO NOT HIT CANCEL BUTTON)
- Control + i to open the window again.

You will see a blank window.

The problem affects the redeem GUI as well, I modified /usr/share/rhsm/subscription_manager/gui/managergui.py, look for a line "if can_redeem:" around line 355, change it to "if True:". This will let you see the menu option to open the redeem dialog always. In the case of redeem you will get the sliver of a window as reported in bug originally.

This points to the default signal handlers kicking in and cleaning things up. Should be an easy fix.

Comment 6 Devan Goodwin 2012-10-05 17:32:11 UTC
Fixed in subscription-manager.git master: 1fdbc022fba3ccb4136221365c4884b8ff8de459

awood will pull into 5.9 branches.

Comment 9 John Sefler 2012-10-19 18:19:59 UTC
Reproduced this bug with ease in version...
[root@jsefler-59client ~]# rpm -q subscription-manager-gui
subscription-manager-gui-1.0.21-1.el5 

Verified comment 6 fix is applied in version...
[root@jsefler-rhel59 ~]# rpm -q subscription-manager-gui
subscription-manager-gui-1.0.23-1.el5


Moving to VERIFIED

Comment 11 errata-xmlrpc 2013-01-08 04:03:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0033.html