Opened 3 years ago

Closed 3 years ago

#8578 closed defect (can't reproduce)

Haphazard tool tips

Reported by: Tristan Croll Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Graphics Version:
Keywords: Cc: pett
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform: Windows-10-10.0.22621
ChimeraX Version: 1.5 (2022-11-24 00:03:27 UTC)
Description
Seemingly-minor but vaguely worrying bug (that will likely be horribly difficult to reproduce): in my current long-running ISOLDE session, some (seemingly random) atoms just don't get the information tooltips when I hover over them. Everything else seems well-behaved, and if I save the session and reopen the same atoms get tooltips again.

OpenGL version: 3.3.0 NVIDIA 528.24
OpenGL renderer: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.9.11
Locale: en_GB.cp1252
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: windows

Manufacturer: HP
Model: HP ZBook Studio 15.6 inch G8 Mobile Workstation PC
OS: Microsoft Windows 11 Pro (Build 22621)
Memory: 34,007,068,672
MaxProcessMemory: 137,438,953,344
CPU: 16 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
OSLanguage: en-GB

Installed Packages:

alabaster: 0.7.12
appdirs: 1.4.4
asttokens: 2.1.0
Babel: 2.11.0
backcall: 0.2.0
blockdiag: 3.0.0
build: 0.8.0
certifi: 2022.9.24
cftime: 1.6.2
charset-normalizer: 2.1.1
ChimeraX-AddCharge: 1.4
ChimeraX-AddH: 2.2.1
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2.1
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.6
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.3
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.41.5
ChimeraX-AtomicLibrary: 8.0.3
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.3
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.1.2
ChimeraX-BondRot: 2.0.1
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.7.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.2
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.3.1
ChimeraX-ChangeChains: 1.0.2
ChimeraX-CheckWaters: 1.3
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.2.4
ChimeraX-Clipper: 0.19.0
ChimeraX-ColorActions: 1.0.3
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.2
ChimeraX-CommandLine: 1.2.4
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.5
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.3.2
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.2
ChimeraX-Dicom: 1.1
ChimeraX-DistMonitor: 1.3
ChimeraX-DockPrep: 1.0
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0.1
ChimeraX-FunctionKey: 1.0.1
ChimeraX-Geometry: 1.2
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.1
ChimeraX-Hbonds: 2.4
ChimeraX-Help: 1.2.1
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ISOLDE: 1.5
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-Label: 1.1.7
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.5
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.2
ChimeraX-Map: 1.1.2
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0.1
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1.1
ChimeraX-Markers: 1.0.1
ChimeraX-Mask: 1.0.1
ChimeraX-MatchMaker: 2.0.9
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.2
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.8
ChimeraX-MMTF: 2.2
ChimeraX-Modeller: 1.5.6
ChimeraX-ModelPanel: 1.3.6
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.1
ChimeraX-MouseModes: 1.1.1
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.9.1
ChimeraX-PDB: 2.6.8
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0.1
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.7.2
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.1.1
ChimeraX-ShowSequences: 1.0.1
ChimeraX-SideView: 1.0.1
ChimeraX-Smiles: 2.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.10
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.1.3
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1.2
ChimeraX-ToolshedUtils: 1.2.1
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.24.3
ChimeraX-uniprot: 2.2.1
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.1.4
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.1
ChimeraX-WebServices: 1.1.0
ChimeraX-Zone: 1.0.1
colorama: 0.4.5
comtypes: 1.1.10
cxservices: 1.2
cycler: 0.11.0
Cython: 0.29.32
debugpy: 1.6.4
decorator: 5.1.1
docutils: 0.19
entrypoints: 0.4
executing: 1.2.0
filelock: 3.7.1
fonttools: 4.38.0
funcparserlib: 1.0.1
grako: 3.16.5
h5py: 3.7.0
html2text: 2020.1.16
idna: 3.4
ihm: 0.33
imagecodecs: 2022.7.31
imagesize: 1.4.1
importlib-metadata: 5.1.0
ipykernel: 6.15.3
ipython: 8.4.0
ipython-genutils: 0.2.0
jedi: 0.18.1
Jinja2: 3.1.2
jupyter-client: 7.3.4
jupyter-core: 5.1.0
kiwisolver: 1.4.4
line-profiler: 3.5.1
lxml: 4.9.1
lz4: 4.0.2
MarkupSafe: 2.1.1
matplotlib: 3.5.2
matplotlib-inline: 0.1.6
msgpack: 1.0.4
nest-asyncio: 1.5.6
netCDF4: 1.6.0
networkx: 2.8.5
numexpr: 2.8.4
numpy: 1.23.1
openvr: 1.23.701
packaging: 21.3
ParmEd: 3.4.3
parso: 0.8.3
pep517: 0.13.0
pickleshare: 0.7.5
Pillow: 9.2.0
pip: 22.2.2
pkginfo: 1.8.3
platformdirs: 2.5.4
prompt-toolkit: 3.0.33
psutil: 5.9.1
pure-eval: 0.2.2
pycollada: 0.7.2
pydicom: 2.3.0
Pygments: 2.12.0
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.9
PyQt6-commercial: 6.3.1
PyQt6-Qt6: 6.3.2
PyQt6-sip: 13.4.0
PyQt6-WebEngine-commercial: 6.3.1
PyQt6-WebEngine-Qt6: 6.3.2
python-dateutil: 2.8.2
pytz: 2022.6
pywin32: 303
pyzmq: 24.0.1
qtconsole: 5.3.1
QtPy: 2.3.0
RandomWords: 0.4.0
requests: 2.28.1
scipy: 1.9.0
setuptools: 65.1.1
sfftk-rw: 0.7.2
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
Sphinx: 5.1.1
sphinx-autodoc-typehints: 1.19.1
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 2.0.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.5
stack-data: 0.6.2
tables: 3.7.0
tifffile: 2022.7.31
tinyarray: 1.2.4
tomli: 2.0.1
tornado: 6.2
traitlets: 5.3.0
urllib3: 1.26.13
wcwidth: 0.2.5
webcolors: 1.12
wheel: 0.37.1
wheel-filename: 1.4.1
WMI: 1.5.1
zipp: 3.11.0

Change History (7)

comment:1 by pett, 3 years ago

Cc: pett added; Tristan Croll removed

comment:2 by Tom Goddard, 3 years ago

The atomspec balloon when you hover the mouse over an atom uses the exact same code as the selection code. So next time you notice this, try ctrl-click and see if you can select the atom. I expect you will not be able to. But if you are able to, it might be that the mouse hover timer is somehow broken, but in that case no atoms should show the balloons.

comment:3 by Tom Goddard, 3 years ago

Also I know you use some tricks to repeat asymmetric units for crystal symmetry. If that trips up selection then it will also trip up the atomspec balloons. The method that should be finding the atom under the mouse in both cases is Drawing.first_intercept().

in reply to:  4 ; comment:4 by Tristan Croll, 3 years ago

That's what struck me as particularly odd - ctrl-click selection appeared
to be working fine. First time I've ever noticed behaviour like that and
that session's closed - if I notice it happening again I'll try to dig
deeper.

On Wed, Mar 1, 2023 at 5:51 AM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

in reply to:  5 ; comment:5 by goddard@…, 3 years ago

I'll have to look at the balloon code differs from selection code. One difference is that the balloon runs off a Qt timer I think. The mouse has to not move for some period (1 second?). Maybe your mouse has some jitter, maybe even subpixel jitter, or the Qt timer freezes. I am away from work for another week helping parents. 

comment:6 by Tom Goddard, 3 years ago

If another application has the focus then mouse hover does not raise a tooltip in ChimeraX, tested on Mac. Could that be the issue that you clicked into another app then went back to mouse over a ChimeraX atom?

I don't see any hope of figuring out the missing tooltip without a reproducible test case.

comment:7 by Tom Goddard, 3 years ago

Resolution: can't reproduce
Status: assignedclosed

Reopen if you find a reproducible test case or additional clues.

Note: See TracTickets for help on using tickets.