﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
15514	Collection slices incorrectly updated	goddard@…	Tom Goddard	"{{{
The following bug report has been submitted:
Platform:        macOS-14.5-arm64-arm-64bit
ChimeraX Version: 1.9.dev202405090425 (2024-05-09 04:25:54 UTC)
Description
Slicing atomic collections e.g. residues[10:20] then deleting residues that are in the original unsliced array but not in the sliced array causes havoc.

While debugging new code for a foldseek tool I ran into an alarming bug that has existed forever in ChimeraX and could cause hard to fathom errors in calculations.  I don't see a way for it to cause crashes but I think it would create impossible to debug errors.

Slicing an atomic Collection (e.g Residues instance) causes it to make a new Collection using a slice of the original numpy array of pointers to the C++ residues.  The trouble is that slice is just a view on the original numpy array.  So if residues get deleted and removed from the original numpy array which is done in place, it shifts the residues and the view in the sliced array changes.  But the sliced array may not have contained any of the deleted residues and should not change.  In the case I hit the sliced array remained the same size and all the entries moved down one and the last residue pointer was duplicated.  Took hours to debug.


Log:
UCSF ChimeraX version: 1.9.dev202405090425 (2024-05-09)  
© 2016-2024 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  




OpenGL version: 4.1 Metal - 88.1
OpenGL renderer: Apple M1 Max
OpenGL vendor: Apple

Python: 3.11.4
Locale: UTF-8
Qt version: PyQt6 6.6.1, Qt 6.6.1
Qt runtime version: 6.6.3
Qt platform: cocoa
Hardware:

   Hardware Overview:

     Model Name: MacBook Pro
     Model Identifier: MacBookPro18,2
     Model Number: MK1H3LL/A
     Chip: Apple M1 Max
     Total Number of Cores: 10 (8 performance and 2 efficiency)
     Memory: 32 GB
     System Firmware Version: 10151.121.1
     OS Loader Version: 10151.121.1

Software:

   System Software Overview:

     System Version: macOS 14.5 (23F79)
     Kernel Version: Darwin 23.5.0
     Time since boot: 36 days, 3 hours, 2 minutes

Graphics/Displays:

   Apple M1 Max:

     Chipset Model: Apple M1 Max
     Type: GPU
     Bus: Built-In
     Total Number of Cores: 32
     Vendor: Apple (0x106b)
     Metal Support: Metal 3
     Displays:
       Color LCD:
         Display Type: Built-in Liquid Retina XDR Display
         Resolution: 3456 x 2234 Retina
         Main Display: Yes
         Mirror: Off
         Online: Yes
         Automatically Adjust Brightness: No
         Connection Type: Internal


Installed Packages:
   alabaster: 0.7.16
   appdirs: 1.4.4
   appnope: 0.1.4
   asttokens: 2.4.1
   Babel: 2.15.0
   beautifulsoup4: 4.12.3
   blockdiag: 3.0.0
   blosc2: 2.0.0
   build: 1.2.1
   certifi: 2023.11.17
   cftime: 1.6.3
   charset-normalizer: 3.3.2
   ChimeraX-AddCharge: 1.5.17
   ChimeraX-AddH: 2.2.6
   ChimeraX-AlignmentAlgorithms: 2.0.2
   ChimeraX-AlignmentHdrs: 3.5
   ChimeraX-AlignmentMatrices: 2.1
   ChimeraX-Alignments: 2.12.6
   ChimeraX-AlphaFold: 1.0
   ChimeraX-AltlocExplorer: 1.1.1
   ChimeraX-AmberInfo: 1.0
   ChimeraX-Arrays: 1.1
   ChimeraX-Atomic: 1.57
   ChimeraX-AtomicLibrary: 14.0.3
   ChimeraX-AtomSearch: 2.0.1
   ChimeraX-AxesPlanes: 2.4
   ChimeraX-BasicActions: 1.1.2
   ChimeraX-BILD: 1.0
   ChimeraX-BlastProtein: 2.4.6
   ChimeraX-BondRot: 2.0.4
   ChimeraX-BugReporter: 1.0.1
   ChimeraX-BuildStructure: 2.12.1
   ChimeraX-Bumps: 1.0
   ChimeraX-BundleBuilder: 1.2.3
   ChimeraX-ButtonPanel: 1.0.1
   ChimeraX-CageBuilder: 1.0.1
   ChimeraX-CellPack: 1.0
   ChimeraX-Centroids: 1.4
   ChimeraX-ChangeChains: 1.1
   ChimeraX-CheckWaters: 1.4
   ChimeraX-ChemGroup: 2.0.1
   ChimeraX-Clashes: 2.2.4
   ChimeraX-ColorActions: 1.0.4
   ChimeraX-ColorGlobe: 1.0
   ChimeraX-ColorKey: 1.5.6
   ChimeraX-CommandLine: 1.2.5
   ChimeraX-ConnectStructure: 2.0.1
   ChimeraX-Contacts: 1.0.1
   ChimeraX-Core: 1.9.dev202405090425
   ChimeraX-CoreFormats: 1.2
   ChimeraX-coulombic: 1.4.3
   ChimeraX-Crosslinks: 1.0
   ChimeraX-Crystal: 1.0
   ChimeraX-CrystalContacts: 1.0.1
   ChimeraX-DataFormats: 1.2.3
   ChimeraX-Dicom: 1.2
   ChimeraX-DiffPlot: 1.0
   ChimeraX-DistMonitor: 1.4.2
   ChimeraX-DockPrep: 1.1.3
   ChimeraX-Dssp: 2.0
   ChimeraX-EMDB-SFF: 1.0
   ChimeraX-ESMFold: 1.0
   ChimeraX-FileHistory: 1.0.1
   ChimeraX-Foldseek: 1.0.1
   ChimeraX-FunctionKey: 1.0.1
   ChimeraX-Geometry: 1.3
   ChimeraX-gltf: 1.0
   ChimeraX-Graphics: 1.1.1
   ChimeraX-Hbonds: 2.4
   ChimeraX-Help: 1.2.2
   ChimeraX-HKCage: 1.3
   ChimeraX-IHM: 1.1
   ChimeraX-ImageFormats: 1.2
   ChimeraX-IMOD: 1.0
   ChimeraX-IO: 1.0.1
   ChimeraX-ItemsInspection: 1.0.1
   ChimeraX-IUPAC: 1.0
   ChimeraX-Label: 1.1.9
   ChimeraX-ListInfo: 1.2.2
   ChimeraX-Log: 1.1.6
   ChimeraX-LookingGlass: 1.1
   ChimeraX-Maestro: 1.9.1
   ChimeraX-Map: 1.2
   ChimeraX-MapData: 2.0
   ChimeraX-MapEraser: 1.0.1
   ChimeraX-MapFilter: 2.0.1
   ChimeraX-MapFit: 2.0
   ChimeraX-MapSeries: 2.1.1
   ChimeraX-Markers: 1.0.1
   ChimeraX-Mask: 1.0.2
   ChimeraX-MatchMaker: 2.1.3
   ChimeraX-MCopy: 1.0
   ChimeraX-MDcrds: 2.7
   ChimeraX-MedicalToolbar: 1.0.2
   ChimeraX-Meeting: 1.0.1
   ChimeraX-MLP: 1.1.1
   ChimeraX-mmCIF: 2.14.1
   ChimeraX-MMTF: 2.2
   ChimeraX-Modeller: 1.5.15
   ChimeraX-ModelPanel: 1.5
   ChimeraX-ModelSeries: 1.0.1
   ChimeraX-Mol2: 2.0.3
   ChimeraX-Mole: 1.0
   ChimeraX-Morph: 1.0.2
   ChimeraX-MouseModes: 1.2
   ChimeraX-Movie: 1.0
   ChimeraX-Neuron: 1.0
   ChimeraX-Nifti: 1.1
   ChimeraX-NIHPresets: 1.1.18
   ChimeraX-NMRSTAR: 1.0.2
   ChimeraX-NRRD: 1.1
   ChimeraX-Nucleotides: 2.0.3
   ChimeraX-OpenCommand: 1.13.4
   ChimeraX-OrthoPick: 1.0.1
   ChimeraX-PDB: 2.7.5
   ChimeraX-PDBBio: 1.0.1
   ChimeraX-PDBLibrary: 1.0.4
   ChimeraX-PDBMatrices: 1.0
   ChimeraX-PickBlobs: 1.0.1
   ChimeraX-Positions: 1.0
   ChimeraX-PresetMgr: 1.1.1
   ChimeraX-PubChem: 2.2
   ChimeraX-ReadPbonds: 1.0.1
   ChimeraX-Registration: 1.1.2
   ChimeraX-RemoteControl: 1.0
   ChimeraX-RenderByAttr: 1.4.1
   ChimeraX-RenumberResidues: 1.1
   ChimeraX-ResidueFit: 1.0.1
   ChimeraX-RestServer: 1.2
   ChimeraX-RNALayout: 1.0
   ChimeraX-RotamerLibMgr: 4.0
   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.2
   ChimeraX-Segger: 1.0
   ChimeraX-Segment: 1.0.1
   ChimeraX-Segmentations: 1.3.0
   ChimeraX-SelInspector: 1.0
   ChimeraX-SeqView: 2.11.2
   ChimeraX-Shape: 1.0.1
   ChimeraX-Shell: 1.0.1
   ChimeraX-Shortcuts: 1.1.1
   ChimeraX-ShowSequences: 1.0.3
   ChimeraX-SideView: 1.0.1
   ChimeraX-Smiles: 2.1.2
   ChimeraX-SmoothLines: 1.0
   ChimeraX-SpaceNavigator: 1.0
   ChimeraX-StdCommands: 1.16.4
   ChimeraX-STL: 1.0.1
   ChimeraX-Storm: 1.0
   ChimeraX-StructMeasure: 1.2.1
   ChimeraX-Struts: 1.0.1
   ChimeraX-Surface: 1.0.1
   ChimeraX-SwapAA: 2.0.1
   ChimeraX-SwapRes: 2.5
   ChimeraX-TapeMeasure: 1.0
   ChimeraX-TaskManager: 1.0
   ChimeraX-Test: 1.0
   ChimeraX-Toolbar: 1.1.2
   ChimeraX-ToolshedUtils: 1.2.4
   ChimeraX-Topography: 1.0
   ChimeraX-ToQuest: 1.0
   ChimeraX-Tug: 1.0.1
   ChimeraX-UI: 1.39.1
   ChimeraX-uniprot: 2.3
   ChimeraX-UnitCell: 1.0.1
   ChimeraX-ViewDockX: 1.4.1
   ChimeraX-VIPERdb: 1.0
   ChimeraX-Vive: 1.1
   ChimeraX-VolumeMenu: 1.0.1
   ChimeraX-vrml: 1.0
   ChimeraX-VTK: 1.0
   ChimeraX-WavefrontOBJ: 1.0
   ChimeraX-WebCam: 1.0.2
   ChimeraX-WebServices: 1.1.4
   ChimeraX-Zone: 1.0.1
   colorama: 0.4.6
   comm: 0.2.2
   contourpy: 1.2.1
   cxservices: 1.2.2
   cycler: 0.12.1
   Cython: 3.0.10
   debugpy: 1.8.1
   decorator: 5.1.1
   docutils: 0.20.1
   executing: 2.0.1
   filelock: 3.13.4
   fonttools: 4.51.0
   funcparserlib: 2.0.0a0
   glfw: 2.7.0
   grako: 3.16.5
   h5py: 3.11.0
   html2text: 2024.2.26
   idna: 3.7
   ihm: 1.0
   imagecodecs: 2024.1.1
   imagesize: 1.4.1
   ipykernel: 6.29.2
   ipython: 8.21.0
   ipywidgets: 8.1.2
   jedi: 0.19.1
   jinja2: 3.1.4
   jupyter-client: 8.6.0
   jupyter-core: 5.7.2
   jupyterlab-widgets: 3.0.10
   kiwisolver: 1.4.5
   line-profiler: 4.1.2
   lxml: 5.2.1
   lz4: 4.3.3
   MarkupSafe: 2.1.5
   matplotlib: 3.8.4
   matplotlib-inline: 0.1.7
   msgpack: 1.0.8
   nest-asyncio: 1.6.0
   netCDF4: 1.6.5
   networkx: 3.3
   nibabel: 5.2.0
   nptyping: 2.5.0
   numexpr: 2.10.0
   numpy: 1.26.4
   openvr: 1.26.701
   packaging: 23.2
   ParmEd: 4.2.2
   parso: 0.8.4
   pep517: 0.13.1
   pexpect: 4.9.0
   pillow: 10.3.0
   pip: 24.0
   pkginfo: 1.10.0
   platformdirs: 4.2.1
   prompt-toolkit: 3.0.43
   psutil: 5.9.8
   ptyprocess: 0.7.0
   pure-eval: 0.2.2
   py-cpuinfo: 9.0.0
   pycollada: 0.8
   pydicom: 2.4.4
   pygments: 2.17.2
   pynmrstar: 3.3.4
   pynrrd: 1.0.0
   PyOpenGL: 3.1.7
   PyOpenGL-accelerate: 3.1.7
   pyopenxr: 1.0.3401
   pyparsing: 3.1.2
   pyproject-hooks: 1.1.0
   PyQt6: 6.6.1
   PyQt6-Qt6: 6.6.3
   PyQt6-sip: 13.6.0
   PyQt6-WebEngine: 6.6.0
   PyQt6-WebEngine-Qt6: 6.6.3
   python-dateutil: 2.9.0.post0
   pytz: 2024.1
   pyzmq: 26.0.3
   qtconsole: 5.5.1
   QtPy: 2.4.1
   RandomWords: 0.4.0
   requests: 2.31.0
   scipy: 1.13.0
   setuptools: 69.5.1
   setuptools-scm: 8.0.4
   sfftk-rw: 0.8.1
   six: 1.16.0
   snowballstemmer: 2.2.0
   sortedcontainers: 2.4.0
   soupsieve: 2.5
   sphinx: 7.2.6
   sphinx-autodoc-typehints: 2.0.1
   sphinxcontrib-applehelp: 1.0.8
   sphinxcontrib-blockdiag: 3.0.0
   sphinxcontrib-devhelp: 1.0.6
   sphinxcontrib-htmlhelp: 2.0.5
   sphinxcontrib-jsmath: 1.0.1
   sphinxcontrib-qthelp: 1.0.7
   sphinxcontrib-serializinghtml: 1.1.10
   stack-data: 0.6.3
   superqt: 0.6.3
   tables: 3.8.0
   tcia-utils: 1.5.1
   tifffile: 2024.1.30
   tinyarray: 1.2.4
   tornado: 6.4
   traitlets: 5.14.2
   typing-extensions: 4.11.0
   tzdata: 2024.1
   urllib3: 2.2.1
   wcwidth: 0.2.13
   webcolors: 1.13
   wheel: 0.43.0
   wheel-filename: 1.4.1
   widgetsnbextension: 4.0.10

}}}
"	defect	closed	normal		Core		fixed		Eric Pettersen				all	ChimeraX
