Bug 794816

Summary: subscription-manager-gui can freeze during an autosubscribe when a 500 error is encountered
Product: Red Hat Enterprise Linux 6 Reporter: John Sefler <jsefler>
Component: subscription-managerAssignee: Bryan Kearney <bkearney>
Status: CLOSED WONTFIX QA Contact: Entitlement Bugs <entitlement-bugs>
Severity: low Docs Contact:
Priority: unspecified    
Version: 6.3   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-22 20:23:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 738066    
Attachments:
Description Flags
The registration dialog has been stuck open for hours and all the options to close/cancel are disabled none

Description John Sefler 2012-02-17 17:44:03 UTC
Created attachment 563951 [details]
The registration dialog has been stuck open for hours and all the options to close/cancel are disabled

Description of problem:
In the midst of a register with autosubscribe through the gui during a nightly automation test run, a 500 error was encountered which left the subscription-manager gui in a frozen state that could not be recovered.

In the attached screen shots, you will see that the registering dialog is actually frozen open and was found that way many hours after the fact.  The Cancel button is disabled and the Alt-F4 Close is disabled on the window manager.  So we are stuck.

Here is the traceback found in the console:
Traceback (most recent call last):
  File "/usr/share/rhsm/subscription_manager/gui/registergui.py", line 487, in _watch_thread
    callback(retval, error=error)
TypeError: _on_bind_by_products_cb() got multiple values for keyword argument 'error'

Here is the error found in the rhsm.log at the time of failure:

2012-02-17 04:20:05,084 [DEBUG]  @connection.py:221 - Making request: GET /subscription/consumers/c6600833-d764-4834-8da1-ad4a2d5fed33
2012-02-17 04:20:14,606 [DEBUG]  @connection.py:233 - Response status: 500
2012-02-17 04:20:14,606 [ERROR]  @connection.py:245 - No JSON object could be decoded
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/rhsm/connection.py", line 243, in validateResponse
    parsed = json.loads(response['content'])
  File "/usr/lib64/python2.6/site-packages/simplejson/__init__.py", line 307, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python2.6/site-packages/simplejson/decoder.py", line 335, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python2.6/site-packages/simplejson/decoder.py", line 353, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
2012-02-17 04:20:14,607 [ERROR]  @connection.py:246 - Response: {'content': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n\n<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\n\n<head>\n  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />\n  <title>We\'re sorry, but something went wrong (500)</title>\n\t<style type="text/css">\n\t\tbody { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }\n\t\tdiv.dialog {\n\t\t\twidth: 25em;\n\t\t\tpadding: 0 4em;\n\t\t\tmargin: 4em auto 0 auto;\n\t\t\tborder: 1px solid #ccc;\n\t\t\tborder-right-color: #999;\n\t\t\tborder-bottom-color: #999;\n\t\t}\n\t\th1 { font-size: 100%; color: #f00; line-height: 1.5em; }\n\t</style>\n</head>\n\n<body>\n  <!-- This file lives in public/500.html -->\n  <div class="dialog">\n    <h1>We\'re sorry, but something went wrong.</h1>\n    <p>We\'ve been notified about this issue and we\'ll take a look at it shortly.</p>\n  </div>\n</body>\n</html>\n', 'status': 500}
2012-02-17 04:20:14,608 [ERROR]  @connection.py:248 - remote server status code: 500
2012-02-17 04:20:46,000 [DEBUG]  @connection.py:233 - Response status: 200


Version-Release number of selected component (if applicable):
[root@gs-bl460cg1-01 ~]# rpm -q subscription-manager-gnome
subscription-manager-gnome-0.99.7-1.el6.x86_64


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info: