Opened 4 years ago
Closed 4 years ago
#6049 closed defect (fixed)
Clipping plane problem with multiple positions
Reported by: | Tristan Croll | Owned by: | Tom Goddard |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Graphics | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Windows-10-10.0.19041 ChimeraX Version: 1.3rc202112030319 (2021-12-03 03:19:12 UTC) Description Sorry about the big session file... it's a mock-up illustration of a crystal, using `chimerax.unit_cell.unitcell.transforms()` to get the positions and applying them to instance the actual model: m = session.models.list()[0] from chimerax.unit_cell.unitcell import transforms from chimerax.geometry import Places positions = Places(transforms(m, (10,5,3))) m.positions = positions Fine as it is, but things go horribly wrong the moment I try to introduce a far clipping plane. Not only do the clip caps appear in the wrong position, but it seems to fall into a loop endlessly creating new clip cap models until it runs out of memory and crashes. OpenGL version: 3.3.0 NVIDIA 497.29 OpenGL renderer: NVIDIA GeForce RTX 2080/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Manufacturer: Notebook Model: P7xxTM1 OS: Microsoft Windows 10 Education (Build 19041) Memory: 68,654,501,888 MaxProcessMemory: 137,438,953,344 CPU: 16 Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz OSLanguage: en-GB Locale: ('en_GB', 'cp1252') PyQt5 5.15.2, Qt 5.15.2 Installed Packages: -: imerax-clipper -himerax-clipper: 0.17.0 -himerax-isolde: 1.3.dev33 absl-py: 1.0.0 alabaster: 0.7.12 appdirs: 1.4.4 Babel: 2.9.1 backcall: 0.2.0 blockdiag: 2.0.1 certifi: 2021.10.8 cftime: 1.5.1.1 charset-normalizer: 2.0.8 ChimeraX-AddCharge: 1.2.2 ChimeraX-AddH: 2.1.11 ChimeraX-AlignmentAlgorithms: 2.0 ChimeraX-AlignmentHdrs: 3.2 ChimeraX-AlignmentMatrices: 2.0 ChimeraX-Alignments: 2.2.3 ChimeraX-AlphaFold: 1.0 ChimeraX-AltlocExplorer: 1.0.1 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.0 ChimeraX-Atomic: 1.31 ChimeraX-AtomicLibrary: 4.2 ChimeraX-AtomSearch: 2.0 ChimeraX-AtomSearchLibrary: 1.0 ChimeraX-AxesPlanes: 2.0 ChimeraX-BasicActions: 1.1 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 2.0 ChimeraX-BondRot: 2.0 ChimeraX-BugReporter: 1.0 ChimeraX-BuildStructure: 2.6.1 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.1 ChimeraX-ButtonPanel: 1.0 ChimeraX-CageBuilder: 1.0 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.2 ChimeraX-ChemGroup: 2.0 ChimeraX-Clashes: 2.2.2 ChimeraX-Clipper: 0.17.0 ChimeraX-ColorActions: 1.0 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5 ChimeraX-CommandLine: 1.1.5 ChimeraX-ConnectStructure: 2.0 ChimeraX-Contacts: 1.0 ChimeraX-Core: 1.3rc202112030319 ChimeraX-CoreFormats: 1.1 ChimeraX-coulombic: 1.3.2 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0 ChimeraX-DataFormats: 1.2.2 ChimeraX-Dicom: 1.0 ChimeraX-DistMonitor: 1.1.5 ChimeraX-DistUI: 1.0 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ExperimentalCommands: 1.0 ChimeraX-FileHistory: 1.0 ChimeraX-FunctionKey: 1.0 ChimeraX-Geometry: 1.1 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.1 ChimeraX-Hbonds: 2.1.2 ChimeraX-Help: 1.2 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.1 ChimeraX-ISOLDE: 1.3 ChimeraX-ItemsInspection: 1.0 ChimeraX-Label: 1.1 ChimeraX-ListInfo: 1.1.1 ChimeraX-Log: 1.1.4 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.8.1 ChimeraX-Map: 1.1 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0 ChimeraX-MapFilter: 2.0 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.1 ChimeraX-Markers: 1.0 ChimeraX-Mask: 1.0 ChimeraX-MatchMaker: 2.0.4 ChimeraX-MDcrds: 2.6 ChimeraX-MedicalToolbar: 1.0.1 ChimeraX-Meeting: 1.0 ChimeraX-MLP: 1.1 ChimeraX-mmCIF: 2.4 ChimeraX-MMTF: 2.1 ChimeraX-Modeller: 1.2.6 ChimeraX-ModelPanel: 1.2.1 ChimeraX-ModelSeries: 1.0 ChimeraX-Mol2: 2.0 ChimeraX-Morph: 1.0 ChimeraX-MouseModes: 1.1 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nucleotides: 2.0.2 ChimeraX-OpenCommand: 1.7 ChimeraX-PDB: 2.6.5 ChimeraX-PDBBio: 1.0 ChimeraX-PDBLibrary: 1.0.2 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.0.1 ChimeraX-PubChem: 2.1 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-ResidueFit: 1.0 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 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.4.6 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0 ChimeraX-Shortcuts: 1.1 ChimeraX-ShowAttr: 1.0 ChimeraX-ShowSequences: 1.0 ChimeraX-SideView: 1.0 ChimeraX-Smiles: 2.1 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.6.1 ChimeraX-STL: 1.0 ChimeraX-Storm: 1.0 ChimeraX-Struts: 1.0 ChimeraX-Surface: 1.0 ChimeraX-SwapAA: 2.0 ChimeraX-SwapRes: 2.1 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.1 ChimeraX-ToolshedUtils: 1.2 ChimeraX-Tug: 1.0 ChimeraX-UI: 1.13.7 ChimeraX-uniprot: 2.2 ChimeraX-UnitCell: 1.0 ChimeraX-ViewDockX: 1.0.1 ChimeraX-VIPERdb: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0 ChimeraX-WebServices: 1.0 ChimeraX-Zone: 1.0 colorama: 0.4.4 comtypes: 1.1.10 cxservices: 1.1 cycler: 0.11.0 Cython: 0.29.24 decorator: 5.1.0 docutils: 0.17.1 filelock: 3.0.12 flatbuffers: 2.0 funcparserlib: 0.3.6 grako: 3.16.5 h5py: 3.6.0 html2text: 2020.1.16 idna: 3.3 ihm: 0.21 imagecodecs: 2021.4.28 imagesize: 1.3.0 ipykernel: 5.5.5 ipython: 7.23.1 ipython-genutils: 0.2.0 jax: 0.2.27 jaxlib: 0.1.75 jedi: 0.18.0 Jinja2: 3.0.1 jupyter-client: 6.1.12 jupyter-core: 4.9.1 kiwisolver: 1.3.2 lxml: 4.6.3 lz4: 3.1.3 MarkupSafe: 2.0.1 matplotlib: 3.4.3 matplotlib-inline: 0.1.3 msgpack: 1.0.2 netCDF4: 1.5.7 networkx: 2.6.3 numexpr: 2.8.0 numpy: 1.21.2 openvr: 1.16.801 opt-einsum: 3.3.0 packaging: 21.3 ParmEd: 3.4.3 parso: 0.8.3 pickleshare: 0.7.5 Pillow: 8.3.2 pip: 21.2.4 pkginfo: 1.7.1 prompt-toolkit: 3.0.23 psutil: 5.8.0 pycollada: 0.7.1 pydicom: 2.1.2 Pygments: 2.10.0 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 3.0.6 PyQt5-commercial: 5.15.2 PyQt5-sip: 12.8.1 PyQtWebEngine-commercial: 5.15.2 python-dateutil: 2.8.2 python-igraph: 0.9.7 pytz: 2021.3 pywin32: 228 pyzmq: 22.3.0 qtconsole: 5.1.1 QtPy: 1.11.2 RandomWords: 0.3.0 requests: 2.26.0 scipy: 1.7.1 setuptools: 57.5.0 sfftk-rw: 0.7.1 six: 1.16.0 snowballstemmer: 2.2.0 sortedcontainers: 2.4.0 Sphinx: 4.2.0 sphinx-autodoc-typehints: 1.12.0 sphinxcontrib-applehelp: 1.0.2 sphinxcontrib-blockdiag: 2.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 suds-jurko: 0.6 tables: 3.6.1 texttable: 1.6.4 tifffile: 2021.4.8 tinyarray: 1.2.3 tornado: 6.1 traitlets: 5.1.1 typing-extensions: 4.0.1 urllib3: 1.26.7 versioneer: 0.21 wcwidth: 0.2.5 webcolors: 1.11.1 wheel: 0.37.0 wheel-filename: 1.3.0 WMI: 1.5.1 File attachment: mpro_crystal_7jkv.cxs
Attachments (2)
Change History (12)
by , 4 years ago
Attachment: | mpro_crystal_7jkv.cxs added |
---|
comment:1 by , 4 years ago
Also, after submitting this I got the message in the log: Failed to send bug report. Bug report server www.rbvi.ucsf.edu is unavailable Was just about to resubmit when I double-checked my email. Guess it timed out waiting for a response due to the large attachment? ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 31 January 2022 10:33 Cc: Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #6049: ChimeraX bug report submission #6049: ChimeraX bug report submission ------------------------------------+-------------------- Reporter: Tristan Croll | Owner: (none) Type: defect | Status: new Priority: normal | Milestone: Component: Unassigned | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | ------------------------------------+-------------------- Changes (by Tristan Croll): * Attachment "mpro_crystal_7jkv.cxs" added. Added by email2trac -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6049> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
follow-up: 1 comment:2 by , 4 years ago
Hmm... now I'm not so sure of the infinite-loop thing (ChimeraX did hang up and eventually crash when I tried to introduce clipping in essentially the same scenario for 3io0, but that might have a different cause). It seems new caps are only created when I hide an existing cap model in the Models panel... which still seems like a bug, but a somewhat different one. ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 31 January 2022 10:58 To: Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #6049: ChimeraX bug report submission #6049: ChimeraX bug report submission ------------------------------------+-------------------- Reporter: Tristan Croll | Owner: (none) Type: defect | Status: new Priority: normal | Milestone: Component: Unassigned | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | ------------------------------------+-------------------- Comment (by Tristan Croll): {{{ Also, after submitting this I got the message in the log: Failed to send bug report. Bug report server www.rbvi.ucsf.edu<http://www.rbvi.ucsf.edu> is unavailable Was just about to resubmit when I double-checked my email. Guess it timed out waiting for a response due to the large attachment? ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 31 January 2022 10:33 Cc: Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #6049: ChimeraX bug report submission #6049: ChimeraX bug report submission ------------------------------------+-------------------- Reporter: Tristan Croll | Owner: (none) Type: defect | Status: new Priority: normal | Milestone: Component: Unassigned | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | ------------------------------------+-------------------- Changes (by Tristan Croll): * Attachment "mpro_crystal_7jkv.cxs" added. Added by email2trac -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6049> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker }}} -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6049#comment:1> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
follow-up: 2 comment:3 by , 4 years ago
Can be replicated with a much more lightweight example - just give the model two positions (I had the identity and a 90 degree rotation around its own center of mass as a toy example). Rear clip cap never updates after first draw, and the protein surfaces themselves don't appear to be clipped. ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 31 January 2022 11:35 To: Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #6049: ChimeraX bug report submission #6049: ChimeraX bug report submission ------------------------------------+-------------------- Reporter: Tristan Croll | Owner: (none) Type: defect | Status: new Priority: normal | Milestone: Component: Unassigned | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | ------------------------------------+-------------------- Comment (by Tristan Croll): {{{ Hmm... now I'm not so sure of the infinite-loop thing (ChimeraX did hang up and eventually crash when I tried to introduce clipping in essentially the same scenario for 3io0, but that might have a different cause). It seems new caps are only created when I hide an existing cap model in the Models panel... which still seems like a bug, but a somewhat different one. ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 31 January 2022 10:58 To: Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #6049: ChimeraX bug report submission #6049: ChimeraX bug report submission ------------------------------------+-------------------- Reporter: Tristan Croll | Owner: (none) Type: defect | Status: new Priority: normal | Milestone: Component: Unassigned | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | ------------------------------------+-------------------- Comment (by Tristan Croll): {{{ Also, after submitting this I got the message in the log: Failed to send bug report. Bug report server www.rbvi.ucsf.edu<http://www.rbvi.ucsf.edu> is unavailable Was just about to resubmit when I double-checked my email. Guess it timed out waiting for a response due to the large attachment? ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 31 January 2022 10:33 Cc: Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #6049: ChimeraX bug report submission #6049: ChimeraX bug report submission ------------------------------------+-------------------- Reporter: Tristan Croll | Owner: (none) Type: defect | Status: new Priority: normal | Milestone: Component: Unassigned | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | ------------------------------------+-------------------- Changes (by Tristan Croll): * Attachment "mpro_crystal_7jkv.cxs" added. Added by email2trac -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6049> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker }}} -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6049#comment:1> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker }}} -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6049#comment:2> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
follow-up: 3 comment:4 by , 4 years ago
Component: | Unassigned → Graphics |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Clipping plane problem with multiple positions |
comment:5 by , 4 years ago
Do you have a simple test case? Opening your session crashes my display manager and logs me out on the 10 year old Mac laptop I am using (waiting for a replacement for my dead 2 year old laptop).
comment:6 by , 4 years ago
A simple case with clip planes and instances worked fine for me
open 1a0m surface sym #1 c3 copies false clip
comment:7 by , 4 years ago
It seems to be specifically the clipping planes induced by dragging the indicators in the side view. Try your test case, but drag the rear clip plane up on the side panel to intersect the model. ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 31 January 2022 19:30 Cc: goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #6049: Clipping plane problem with multiple positions #6049: Clipping plane problem with multiple positions ------------------------------------+------------------------- Reporter: Tristan Croll | Owner: Tom Goddard Type: defect | Status: assigned Priority: normal | Milestone: Component: Graphics | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ------------------------------------+------------------------- Comment (by Tom Goddard): A simple case with clip planes an instances worked fine for me {{{ open 1a0m surface sym #1 c3 copies false clip }}} -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6049#comment:6> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
follow-up: 7 comment:8 by , 4 years ago
What am I supposed to see when I drag the far clip plane? I see dragging the near clip plane it does not cap the instance surfaces which seems like a bug. I don't get any crash.
follow-up: 8 comment:9 by , 4 years ago
Yes - the crash may have been unrelated, and just due to the number of positions being too large for the clipping code to handle. The attached session is 1a0m expanded to a single unit cell with instancing - I think the fact that the transforms aren't simple rotations around the one axis shows up the problem better. If you try adding near and far clip planes with the side view, you'll see that the clip caps appear in the wrong places as well as being static after creation. Then (with the corresponding clip plane passing through the molecule) try hiding one of the clip caps on the Models panel - you'll see a new one is immediately created. ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: 31 January 2022 20:07 To: goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk> Subject: Re: [ChimeraX] #6049: Clipping plane problem with multiple positions #6049: Clipping plane problem with multiple positions ------------------------------------+------------------------- Reporter: Tristan Croll | Owner: Tom Goddard Type: defect | Status: assigned Priority: normal | Milestone: Component: Graphics | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ------------------------------------+------------------------- Comment (by goddard@…): {{{ What am I supposed to see when I drag the far clip plane? I see dragging the near clip plane it does not cap the instance surfaces which seems like a bug. I don't get any crash. }}} -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6049#comment:8> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
follow-up: 9 comment:10 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed.
There were 3 separate bugs with clip caps on instanced molecular surfaces. First the code that removed clip cap models that were no longer needed incorrectly deleted all caps on instanced drawings. The clip plane name (near, far, ...) was recorded incorrectly for instanced drawings adding the drawing name causing the plane name not to match any current clip planes, so those caps immediately got deleted. Second the clip cap model for an instanced atomic structure was being placed as a child of the structure and sibling of the surfaces. That made the instancing matrices apply to the cap model which is wrong. A single cap covers all instances and that model has to be at the same level as the structure so it doesn't have the structures instance matrices applied to it. That bug caused multiple caps at different angles to appear (usually hidden by the surface though so not too noticeable). The third bug was that if you hid a surface the cap remained. That was because the code only considered removing caps for displayed surfaces.
The capping code is a big complex, and it is startling how many bugs it has. Hopefully I have decreased the number of bugs. But I would not be surprised to see more, especially in rarer cases like clipping instanced models.
Added by email2trac