We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
'TypeError' object has no attribute 'tb_frame'
While fetching object details from insight inspect, getting kicked out from the ipython console with the following error. 
  'TypeError' object has no attribute 'tb_frame'

(gss-rules) ⌊gss-rules⌋»$ insights inspect insights.parsers.installed_rpms.InstalledRpms ~/scripts/rhel7_sosreport/

IPython Console Usage Info:

Enter 'InstalledRpms.' and tab to get a list of properties 
Example:
In [1]: InstalledRpms.<property_name>
Out[1]: <property value>

To exit ipython enter 'exit' and hit enter or use 'CTL D'

Starting IPython Interpreter Now 

In [1]: InstalledRpms
'TypeError' object has no attribute 'tb_frame'


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `setup.py`
Content:
```
1 import os
2 import sys
3 from setuptools import setup, find_packages
4 
5 __here__ = os.path.dirname(os.path.abspath(__file__))
6 
7 package_info = dict.fromkeys(["RELEASE", "COMMIT", "VERSION", "NAME"])
8 
9 for name in package_info:
10     with open(os.path.join(__here__, "insights", name)) as f:
11         package_info[name] = f.read().strip()
12 
13 entry_points = {
14     'console_scripts': [
15         'insights-collect = insights.collect:main',
16         'insights-run = insights:main',
17         'insights = insights.command_parser:main',
18         'insights-cat = insights.tools.cat:main',
19         'insights-dupkeycheck = insights.tools.dupkeycheck:main',
20         'insights-inspect = insights.tools.insights_inspect:main',
21         'insights-info = insights.tools.query:main',
22         'insights-ocpshell= insights.ocpshell:main',
23         'client = insights.client:run',
24         'mangle = insights.util.mangle:main'
25     ]
26 }
27 
28 runtime = set([
29     'six',
30     'requests',
31     'redis',
32     'cachecontrol',
33     'cachecontrol[redis]',
34     'cachecontrol[filecache]',
35     'defusedxml',
36     'lockfile',
37     'jinja2',
38 ])
39 
40 if (sys.version_info < (2, 7)):
41     runtime.add('pyyaml>=3.10,<=3.13')
42 else:
43     runtime.add('pyyaml')
44 
45 
46 def maybe_require(pkg):
47     try:
48         __import__(pkg)
49     except ImportError:
50         runtime.add(pkg)
51 
52 
53 maybe_require("importlib")
54 maybe_require("argparse")
55 
56 
57 client = set([
58     'requests'
59 ])
60 
61 develop = set([
62     'futures==3.0.5',
63     'wheel',
64 ])
65 
66 docs = set([
67     'Sphinx<=3.0.2',
68     'nbsphinx',
69     'sphinx_rtd_theme',
70     'ipython',
71     'colorama',
72     'jinja2',
73     'Pygments'
74 ])
75 
76 testing = set([
77     'coverage==4.3.4',
78     'pytest==3.0.6',
79     'pytest-cov==2.4.0',
80     'mock==2.0.0',
81 ])
82 
83 cluster = set([
84     'ansible',
85     'pandas',
86     'colorama',
87 ])
88 
89 openshift = set([
90     'openshift'
91 ])
92 
93 linting = set([
94     'flake8==2.6.2',
95 ])
96 
97 optional = set([
98     'python-cjson',
99     'python-logstash',
100     'python-statsd',
101     'watchdog',
102 ])
103 
104 if __name__ == "__main__":
105     # allows for runtime modification of rpm name
106     name = os.environ.get("INSIGHTS_CORE_NAME", package_info["NAME"])
107 
108     setup(
109         name=name,
110         version=package_info["VERSION"],
111         description="Insights Core is a data collection and analysis framework",
112         long_description=open("README.rst").read(),
113         url="https://github.com/redhatinsights/insights-core",
114         author="Red Hat, Inc.",
115         author_email="insights@redhat.com",
116         packages=find_packages(),
117         install_requires=list(runtime),
118         package_data={'': ['LICENSE']},
119         license='Apache 2.0',
120         extras_require={
121             'develop': list(runtime | develop | client | docs | linting | testing | cluster),
122             'develop26': list(runtime | develop | client | linting | testing | cluster),
123             'client': list(runtime | client),
124             'client-develop': list(runtime | develop | client | linting | testing),
125             'cluster': list(runtime | cluster),
126             'openshift': list(runtime | openshift),
127             'optional': list(optional),
128             'docs': list(docs),
129             'linting': list(linting | client),
130             'testing': list(testing | client)
131         },
132         classifiers=[
133             'Development Status :: 5 - Production/Stable',
134             'Intended Audience :: Developers',
135             'Natural Language :: English',
136             'License :: OSI Approved :: Apache Software License',
137             'Programming Language :: Python',
138             'Programming Language :: Python :: 2.6',
139             'Programming Language :: Python :: 2.7',
140             'Programming Language :: Python :: 3.3',
141             'Programming Language :: Python :: 3.4',
142             'Programming Language :: Python :: 3.5',
143             'Programming Language :: Python :: 3.6'
144         ],
145         entry_points=entry_points,
146         include_package_data=True
147     )
148
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -70,7 +70,9 @@
     'ipython',
     'colorama',
     'jinja2',
-    'Pygments'
+    'Pygments',
+    'jedi<0.18.0'    # Open issue with jedi 0.18.0 and iPython <= 7.19
+                     # https://github.com/davidhalter/jedi/issues/1714
 ])
 
 testing = set([

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -70,7 +70,9 @@\n     'ipython',\n     'colorama',\n     'jinja2',\n-    'Pygments'\n+    'Pygments',\n+    'jedi<0.18.0'    # Open issue with jedi 0.18.0 and iPython <= 7.19\n+                     # https://github.com/davidhalter/jedi/issues/1714\n ])\n \n testing = set([\n", "issue": "'TypeError' object has no attribute 'tb_frame'\nWhile fetching object details from insight inspect, getting kicked out from the ipython console with the following error. \r\n  'TypeError' object has no attribute 'tb_frame'\r\n\r\n(gss-rules) \u230agss-rules\u230b\u00bb$ insights inspect insights.parsers.installed_rpms.InstalledRpms ~/scripts/rhel7_sosreport/\r\n\r\nIPython Console Usage Info:\r\n\r\nEnter 'InstalledRpms.' and tab to get a list of properties \r\nExample:\r\nIn [1]: InstalledRpms.<property_name>\r\nOut[1]: <property value>\r\n\r\nTo exit ipython enter 'exit' and hit enter or use 'CTL D'\r\n\r\nStarting IPython Interpreter Now \r\n\r\nIn [1]: InstalledRpms\r\n'TypeError' object has no attribute 'tb_frame'\r\n\n", "before_files": [{"content": "import os\nimport sys\nfrom setuptools import setup, find_packages\n\n__here__ = os.path.dirname(os.path.abspath(__file__))\n\npackage_info = dict.fromkeys([\"RELEASE\", \"COMMIT\", \"VERSION\", \"NAME\"])\n\nfor name in package_info:\n    with open(os.path.join(__here__, \"insights\", name)) as f:\n        package_info[name] = f.read().strip()\n\nentry_points = {\n    'console_scripts': [\n        'insights-collect = insights.collect:main',\n        'insights-run = insights:main',\n        'insights = insights.command_parser:main',\n        'insights-cat = insights.tools.cat:main',\n        'insights-dupkeycheck = insights.tools.dupkeycheck:main',\n        'insights-inspect = insights.tools.insights_inspect:main',\n        'insights-info = insights.tools.query:main',\n        'insights-ocpshell= insights.ocpshell:main',\n        'client = insights.client:run',\n        'mangle = insights.util.mangle:main'\n    ]\n}\n\nruntime = set([\n    'six',\n    'requests',\n    'redis',\n    'cachecontrol',\n    'cachecontrol[redis]',\n    'cachecontrol[filecache]',\n    'defusedxml',\n    'lockfile',\n    'jinja2',\n])\n\nif (sys.version_info < (2, 7)):\n    runtime.add('pyyaml>=3.10,<=3.13')\nelse:\n    runtime.add('pyyaml')\n\n\ndef maybe_require(pkg):\n    try:\n        __import__(pkg)\n    except ImportError:\n        runtime.add(pkg)\n\n\nmaybe_require(\"importlib\")\nmaybe_require(\"argparse\")\n\n\nclient = set([\n    'requests'\n])\n\ndevelop = set([\n    'futures==3.0.5',\n    'wheel',\n])\n\ndocs = set([\n    'Sphinx<=3.0.2',\n    'nbsphinx',\n    'sphinx_rtd_theme',\n    'ipython',\n    'colorama',\n    'jinja2',\n    'Pygments'\n])\n\ntesting = set([\n    'coverage==4.3.4',\n    'pytest==3.0.6',\n    'pytest-cov==2.4.0',\n    'mock==2.0.0',\n])\n\ncluster = set([\n    'ansible',\n    'pandas',\n    'colorama',\n])\n\nopenshift = set([\n    'openshift'\n])\n\nlinting = set([\n    'flake8==2.6.2',\n])\n\noptional = set([\n    'python-cjson',\n    'python-logstash',\n    'python-statsd',\n    'watchdog',\n])\n\nif __name__ == \"__main__\":\n    # allows for runtime modification of rpm name\n    name = os.environ.get(\"INSIGHTS_CORE_NAME\", package_info[\"NAME\"])\n\n    setup(\n        name=name,\n        version=package_info[\"VERSION\"],\n        description=\"Insights Core is a data collection and analysis framework\",\n        long_description=open(\"README.rst\").read(),\n        url=\"https://github.com/redhatinsights/insights-core\",\n        author=\"Red Hat, Inc.\",\n        author_email=\"insights@redhat.com\",\n        packages=find_packages(),\n        install_requires=list(runtime),\n        package_data={'': ['LICENSE']},\n        license='Apache 2.0',\n        extras_require={\n            'develop': list(runtime | develop | client | docs | linting | testing | cluster),\n            'develop26': list(runtime | develop | client | linting | testing | cluster),\n            'client': list(runtime | client),\n            'client-develop': list(runtime | develop | client | linting | testing),\n            'cluster': list(runtime | cluster),\n            'openshift': list(runtime | openshift),\n            'optional': list(optional),\n            'docs': list(docs),\n            'linting': list(linting | client),\n            'testing': list(testing | client)\n        },\n        classifiers=[\n            'Development Status :: 5 - Production/Stable',\n            'Intended Audience :: Developers',\n            'Natural Language :: English',\n            'License :: OSI Approved :: Apache Software License',\n            'Programming Language :: Python',\n            'Programming Language :: Python :: 2.6',\n            'Programming Language :: Python :: 2.7',\n            'Programming Language :: Python :: 3.3',\n            'Programming Language :: Python :: 3.4',\n            'Programming Language :: Python :: 3.5',\n            'Programming Language :: Python :: 3.6'\n        ],\n        entry_points=entry_points,\n        include_package_data=True\n    )\n", "path": "setup.py"}], "after_files": [{"content": "import os\nimport sys\nfrom setuptools import setup, find_packages\n\n__here__ = os.path.dirname(os.path.abspath(__file__))\n\npackage_info = dict.fromkeys([\"RELEASE\", \"COMMIT\", \"VERSION\", \"NAME\"])\n\nfor name in package_info:\n    with open(os.path.join(__here__, \"insights\", name)) as f:\n        package_info[name] = f.read().strip()\n\nentry_points = {\n    'console_scripts': [\n        'insights-collect = insights.collect:main',\n        'insights-run = insights:main',\n        'insights = insights.command_parser:main',\n        'insights-cat = insights.tools.cat:main',\n        'insights-dupkeycheck = insights.tools.dupkeycheck:main',\n        'insights-inspect = insights.tools.insights_inspect:main',\n        'insights-info = insights.tools.query:main',\n        'insights-ocpshell= insights.ocpshell:main',\n        'client = insights.client:run',\n        'mangle = insights.util.mangle:main'\n    ]\n}\n\nruntime = set([\n    'six',\n    'requests',\n    'redis',\n    'cachecontrol',\n    'cachecontrol[redis]',\n    'cachecontrol[filecache]',\n    'defusedxml',\n    'lockfile',\n    'jinja2',\n])\n\nif (sys.version_info < (2, 7)):\n    runtime.add('pyyaml>=3.10,<=3.13')\nelse:\n    runtime.add('pyyaml')\n\n\ndef maybe_require(pkg):\n    try:\n        __import__(pkg)\n    except ImportError:\n        runtime.add(pkg)\n\n\nmaybe_require(\"importlib\")\nmaybe_require(\"argparse\")\n\n\nclient = set([\n    'requests'\n])\n\ndevelop = set([\n    'futures==3.0.5',\n    'wheel',\n])\n\ndocs = set([\n    'Sphinx<=3.0.2',\n    'nbsphinx',\n    'sphinx_rtd_theme',\n    'ipython',\n    'colorama',\n    'jinja2',\n    'Pygments',\n    'jedi<0.18.0'    # Open issue with jedi 0.18.0 and iPython <= 7.19\n                     # https://github.com/davidhalter/jedi/issues/1714\n])\n\ntesting = set([\n    'coverage==4.3.4',\n    'pytest==3.0.6',\n    'pytest-cov==2.4.0',\n    'mock==2.0.0',\n])\n\ncluster = set([\n    'ansible',\n    'pandas',\n    'colorama',\n])\n\nopenshift = set([\n    'openshift'\n])\n\nlinting = set([\n    'flake8==2.6.2',\n])\n\noptional = set([\n    'python-cjson',\n    'python-logstash',\n    'python-statsd',\n    'watchdog',\n])\n\nif __name__ == \"__main__\":\n    # allows for runtime modification of rpm name\n    name = os.environ.get(\"INSIGHTS_CORE_NAME\", package_info[\"NAME\"])\n\n    setup(\n        name=name,\n        version=package_info[\"VERSION\"],\n        description=\"Insights Core is a data collection and analysis framework\",\n        long_description=open(\"README.rst\").read(),\n        url=\"https://github.com/redhatinsights/insights-core\",\n        author=\"Red Hat, Inc.\",\n        author_email=\"insights@redhat.com\",\n        packages=find_packages(),\n        install_requires=list(runtime),\n        package_data={'': ['LICENSE']},\n        license='Apache 2.0',\n        extras_require={\n            'develop': list(runtime | develop | client | docs | linting | testing | cluster),\n            'develop26': list(runtime | develop | client | linting | testing | cluster),\n            'client': list(runtime | client),\n            'client-develop': list(runtime | develop | client | linting | testing),\n            'cluster': list(runtime | cluster),\n            'openshift': list(runtime | openshift),\n            'optional': list(optional),\n            'docs': list(docs),\n            'linting': list(linting | client),\n            'testing': list(testing | client)\n        },\n        classifiers=[\n            'Development Status :: 5 - Production/Stable',\n            'Intended Audience :: Developers',\n            'Natural Language :: English',\n            'License :: OSI Approved :: Apache Software License',\n            'Programming Language :: Python',\n            'Programming Language :: Python :: 2.6',\n            'Programming Language :: Python :: 2.7',\n            'Programming Language :: Python :: 3.3',\n            'Programming Language :: Python :: 3.4',\n            'Programming Language :: Python :: 3.5',\n            'Programming Language :: Python :: 3.6'\n        ],\n        entry_points=entry_points,\n        include_package_data=True\n    )\n", "path": "setup.py"}]}