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 Eric Pettersen, 6 years ago

Cc: Conrad Huang added
Component: UnassignedGeneral Controls
Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionDisconnecting already-disconnected tooltip slot when click outside shell window

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?

in reply to:  2 ; comment:2 by Tristan Croll, 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 Eric Pettersen, 6 years ago

Status: acceptedfeedback

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

in reply to:  4 ; comment:4 by Tristan Croll, 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:

in reply to:  5 ; comment:5 by Tristan Croll, 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 Eric Pettersen, 6 years ago

Resolution: fixed
Status: feedbackclosed

This apparently "fixed itself" with later versions of the packages that the shell uses.

Note: See TracTickets for help on using tickets.