Opened 6 years ago
Closed 6 years ago
#2783 closed defect (fixed)
Disconnecting already-disconnected tooltip slot when click outside shell window
Reported by: | Tristan Croll | Owned by: | Eric Pettersen |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | General Controls | Version: | |
Keywords: | Cc: | Conrad Huang | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Darwin-18.7.0-x86_64-i386-64bit ChimeraX Version: 0.92 (2020-01-24) Description Happens if I open a function bracket in the shell, and click somewhere else before closing it. The shell is still functional afterwards. Log: UCSF ChimeraX version: 0.92 (2020-01-24) © 2016-2020 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open 6q5u format mmCIF fromDatabase pdb 6q5u title: High resolution electron cryo-microscopy structure of the bacteriophage PR772 [more info...] Chain information for 6q5u #1 --- Chain | Description A B C D E F G H I J K L | Major Capsid Protein (P3) M | Minor Capsid Protein (P30) N | Infectivity Protein (P16) O P Q | Spike protein R S | Penton protein 6q5u mmCIF Assemblies --- 1| author_defined_assembly > save /Users/tic20/Desktop/test.png > save /Users/tic20/Desktop/test.png supersample 4 > toolshed show Shell Traceback (most recent call last): File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/qtconsole/call_tip_widget.py", line 89, in hideEvent self._cursor_position_changed) TypeError: 'method' object is not connected TypeError: 'method' object is not connected File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/qtconsole/call_tip_widget.py", line 89, in hideEvent self._cursor_position_changed) See log for complete Python traceback. > toolshed show Shell Traceback (most recent call last): File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/qtconsole/call_tip_widget.py", line 89, in hideEvent self._cursor_position_changed) TypeError: 'method' object is not connected TypeError: 'method' object is not connected File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/qtconsole/call_tip_widget.py", line 89, in hideEvent self._cursor_position_changed) See log for complete Python traceback. Traceback (most recent call last): File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/qtconsole/call_tip_widget.py", line 89, in hideEvent self._cursor_position_changed) TypeError: 'method' object is not connected TypeError: 'method' object is not connected File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/qtconsole/call_tip_widget.py", line 89, in hideEvent self._cursor_position_changed) See log for complete Python traceback. Traceback (most recent call last): File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/qtconsole/call_tip_widget.py", line 89, in hideEvent self._cursor_position_changed) TypeError: 'method' object is not connected TypeError: 'method' object is not connected File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/qtconsole/call_tip_widget.py", line 89, in hideEvent self._cursor_position_changed) See log for complete Python traceback. OpenGL version: 4.1 INTEL-12.10.12 OpenGL renderer: Intel(R) HD Graphics 6000 OpenGL vendor: Intel Inc.
Change History (6)
comment:1 by , 6 years ago
Cc: | added |
---|---|
Component: | Unassigned → General Controls |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → accepted |
Summary: | ChimeraX bug report submission → Disconnecting already-disconnected tooltip slot when click outside shell window |
follow-up: 2 comment:2 by , 6 years ago
It's currently happening reproducibly for me whether I click in *or* out of the shell window. But I figured it was probably a bug in a dependency rather than one of your own. On 2020-01-28 20:05, ChimeraX wrote:
comment:3 by , 6 years ago
Status: | accepted → feedback |
---|
Since you seem to be able to reproduce this bug easier than I can, I'd like you to upgrade two pip packages and see if that fixes it. Those packages aren't at their latest versions because they aren't directly requested by ChimeraX but are dependencies of the qtconsole package that ChimeraX does request, and we ask for only the minimum dependency version needed by packages we install. So using ChimeraX's python do:
python -m pip install -U jupyter-core
python -m pip install -U jupyter-client
follow-up: 4 comment:4 by , 6 years ago
Apparently, they *are* up to date: Tristans-MacBook-Air:geometry tic20$ /Applications/ChimeraX_Daily.app/Contents/bin/python3.7 -m pip install -U jupyter-core Requirement already up-to-date: jupyter-core in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (4.6.1) Requirement already satisfied, skipping upgrade: traitlets in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from jupyter-core) (4.3.3) Requirement already satisfied, skipping upgrade: ipython-genutils in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from traitlets->jupyter-core) (0.2.0) Requirement already satisfied, skipping upgrade: decorator in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from traitlets->jupyter-core) (4.4.1) Requirement already satisfied, skipping upgrade: six in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from traitlets->jupyter-core) (1.14.0) WARNING: You are using pip version 20.0.1; however, version 20.0.2 is available. You should consider upgrading via the '/Applications/ChimeraX_Daily.app/Contents/bin/python3.7 -m pip install --upgrade pip' command. Tristans-MacBook-Air:geometry tic20$ /Applications/ChimeraX_Daily.app/Contents/bin/python3.7 -m pip install -U jupyter-client Requirement already up-to-date: jupyter-client in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (5.3.4) Requirement already satisfied, skipping upgrade: python-dateutil>=2.1 in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from jupyter-client) (2.8.1) Requirement already satisfied, skipping upgrade: jupyter-core>=4.6.0 in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from jupyter-client) (4.6.1) Requirement already satisfied, skipping upgrade: pyzmq>=13 in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from jupyter-client) (18.1.1) Requirement already satisfied, skipping upgrade: tornado>=4.1 in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from jupyter-client) (6.0.3) Requirement already satisfied, skipping upgrade: traitlets in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from jupyter-client) (4.3.3) Requirement already satisfied, skipping upgrade: six>=1.5 in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from python-dateutil>=2.1->jupyter-client) (1.14.0) Requirement already satisfied, skipping upgrade: decorator in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from traitlets->jupyter-client) (4.4.1) Requirement already satisfied, skipping upgrade: ipython-genutils in /Applications/ChimeraX_Daily.app/Contents/lib/python3.7/site-packages (from traitlets->jupyter-client) (0.2.0) WARNING: You are using pip version 20.0.1; however, version 20.0.2 is available. You should consider upgrading via the '/Applications/ChimeraX_Daily.app/Contents/bin/python3.7 -m pip install --upgrade pip' command. On 2020-01-29 21:31, ChimeraX wrote:
follow-up: 5 comment:5 by , 6 years ago
To hopefully shed some extra light on what's going on, I edited CallTipWidget.showEvent() to print a message to the log on its showEvent(), and to print the full Python call stack on its hideEvent(). The below is what I get when triggering the error. Not sure how useful it is, since from a cursory glance the two calls look identical. showing tooltip Hiding tooltip [FrameInfo(frame=<frame at 0x1322dc960, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/qtconsole/call_tip_widget.py', line 89, code hideEvent>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/qtconsole/call_tip_widget.py', lineno=89, function='hideEvent', code_context=[' print(inspect.stack())\n'], index=0), FrameInfo(frame=<frame at 0x12b1a3050, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/chimerax/ui/gui.py', line 268, code event_loop>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/chimerax/ui/gui.py', lineno=268, function='event_loop', code_context=[' self.exec_()\n'], index=0), FrameInfo(frame=<frame at 0x7f9a1081b220, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ChimeraX_main.py', line 762, code init>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ChimeraX_main.py', lineno=762, function='init', code_context=[' sess.ui.event_loop()\n'], index=0), FrameInfo(frame=<frame at 0x7f9a0f60cee0, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ChimeraX_main.py', line 894, code <module>>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ChimeraX_main.py', lineno=894, function='<module>', code_context=[' exit_code = init(sys.argv)\n'], index=0), FrameInfo(frame=<frame at 0x7f9a0f607ae0, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py', line 85, code _run_code>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py', lineno=85, function='_run_code', code_context=[' exec(code, run_globals)\n'], index=0), FrameInfo(frame=<frame at 0x7f9a0f726590, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py', line 193, code _run_module_as_main>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py', lineno=193, function='_run_module_as_main', code_context=[' "__main__", mod_spec)\n'], index=0)] Hiding tooltip [FrameInfo(frame=<frame at 0x1322dc960, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/qtconsole/call_tip_widget.py', line 89, code hideEvent>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/qtconsole/call_tip_widget.py', lineno=89, function='hideEvent', code_context=[' print(inspect.stack())\n'], index=0), FrameInfo(frame=<frame at 0x12b1a3050, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/chimerax/ui/gui.py', line 268, code event_loop>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/chimerax/ui/gui.py', lineno=268, function='event_loop', code_context=[' self.exec_()\n'], index=0), FrameInfo(frame=<frame at 0x7f9a1081b220, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ChimeraX_main.py', line 762, code init>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ChimeraX_main.py', lineno=762, function='init', code_context=[' sess.ui.event_loop()\n'], index=0), FrameInfo(frame=<frame at 0x7f9a0f60cee0, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ChimeraX_main.py', line 894, code <module>>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ChimeraX_main.py', lineno=894, function='<module>', code_context=[' exit_code = init(sys.argv)\n'], index=0), FrameInfo(frame=<frame at 0x7f9a0f607ae0, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py', line 85, code _run_code>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py', lineno=85, function='_run_code', code_context=[' exec(code, run_globals)\n'], index=0), FrameInfo(frame=<frame at 0x7f9a0f726590, file '/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py', line 193, code _run_module_as_main>, filename='/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py', lineno=193, function='_run_module_as_main', code_context=[' "__main__", mod_spec)\n'], index=0)] Traceback (most recent call last): File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/qtconsole/call_tip_widget.py", line 92, in hideEvent self._cursor_position_changed) TypeError: 'method' object is not connected TypeError: 'method' object is not connected File "/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/qtconsole/call_tip_widget.py", line 92, in hideEvent self._cursor_position_changed) On 2020-01-29 21:44, ChimeraX wrote:
comment:6 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | feedback → closed |
This apparently "fixed itself" with later versions of the packages that the shell uses.
I have seen this error in the past, but I can't _reliably_ reproduce it.
This is an error in the shell, which we simply pip install, and therefore not something we can fix directly. That said, there are newer versions of ipython, ipykernel, jupyter-client and jupyter-core that we could upgrade to that might fix it.
Conrad, is it okay if I just switch to the newest versions of those and we'll see what happens in the shell tomorrow?