#6951 closed defect (fixed)
Crash masking volume
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Volume Data | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-4.18.0-305.12.1.el8_4.x86_64-x86_64-with-glibc2.28 ChimeraX Version: 1.3 (2021-12-08 23:08:33 UTC) Description Last time you used ChimeraX it crashed. Please describe steps that led to the crash here. Fatal Python error: Segmentation fault Current thread 0x00007f73a258f740 (most recent call first): File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/mask/depthmask.py", line 244 in project_and_mask File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/mask/depthmask.py", line 104 in masked_volume File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/mask/maskcommand.py", line 46 in mask File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/commands/cli.py", line 2856 in run File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/cmd_line/tool.py", line 297 in execute File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/cmd_line/tool.py", line 134 in keyPressEvent File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/ui/gui.py", line 301 in event_loop File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/ChimeraX_main.py", line 867 in init File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/ChimeraX_main.py", line 1018 in File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/runpy.py", line 87 in _run_code File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/runpy.py", line 197 in _run_module_as_main ===== Log before crash start ===== UCSF ChimeraX version: 1.3 (2021-12-08) © 2016-2021 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open /data/mcm14/nadishka/wiv_modelling/modelling/postprocess_zflip_3_54.mrc Opened postprocess_zflip_3_54.mrc as #1, grid size 1600,1600,1600, pixel 1.36, shown at step 1, values float32 > volume #1 region 0,0,0,1599,1599,1599 step 8 > volume #1 step 1 > ui tool show "Map Eraser" > open > /data/mcm14/nadishka/wiv_modelling/modelling/phenix/new_penton/maps/old_maps/pentons_5fold_12042022.mrc Opened pentons_5fold_12042022.mrc as #3, grid size 83,98,63, pixel 1.36,1.36,1.36, shown at level 0.0164, step 1, values float32 > volume #3 level 0.003738 > hide #!3 models > volume erase #1 center 741.94,1090.2,1648.2 radius 378.62 outside true Opened postprocess_zflip_3_54.mrc copy as #4, grid size 1600,1600,1600, pixel 1.36, shown at step 1, values float32 /usr/libexec/UCSF-ChimeraX/lib/python3.9/site- packages/chimerax/map/volume_viewer.py:2746: RuntimeWarning: invalid value encountered in log h.show_data(log(counts + 1)) > close #1 > hide #2 models > volume #3 level 0.001128 > volume mask #4 surfaces #3 fullMap true ===== Log before crash end ===== Log: UCSF ChimeraX version: 1.3 (2021-12-08) © 2016-2021 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX OpenGL version: 3.3.0 NVIDIA 470.63.01 OpenGL renderer: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Manufacturer: Micro-Star International Co., Ltd. Model: MS-7D04 OS: AlmaLinux 8.5 Arctic Sphynx Architecture: 64bit ELF Virutal Machine: none CPU: 16 11th Gen Intel(R) Core(TM) i9-11900KF @ 3.50GHz Cache Size: 16384 KB Memory: total used free shared buff/cache available Mem: 62Gi 15Gi 46Gi 107Mi 1.0Gi 46Gi Swap: 31Gi 2.5Gi 28Gi Graphics: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2080 SUPER] [10de:1e81] (rev a1) Subsystem: ASUSTeK Computer Inc. Device [1043:8736] Kernel driver in use: nvidia Locale: ('en_US', 'UTF-8') PyQt5 5.15.2, Qt 5.15.2 Installed Packages: 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.9 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.3 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-LinuxSupport: 1.0 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-Phenix: 0.3 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 cxservices: 1.1 cycler: 0.11.0 Cython: 0.29.24 decorator: 5.1.0 distro: 1.6.0 docutils: 0.17.1 filelock: 3.0.12 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 jedi: 0.18.0 Jinja2: 3.0.1 jupyter-client: 6.1.12 jupyter-core: 4.9.1 kiwisolver: 1.3.2 line-profiler: 3.3.0 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 packaging: 21.3 ParmEd: 3.2.0 parso: 0.8.3 pexpect: 4.8.0 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 ptyprocess: 0.7.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 pytz: 2021.3 pyzmq: 22.3.0 qtconsole: 5.1.1 QtPy: 1.11.3 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 tifffile: 2021.4.8 tinyarray: 1.2.3 tornado: 6.1 traitlets: 5.1.1 urllib3: 1.26.7 wcwidth: 0.2.5 webcolors: 1.11.1 wheel: 0.37.0 wheel-filename: 1.3.0
Change History (5)
comment:1 by , 3 years ago
Component: | Unassigned → Volume Data |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Crash masking volume |
comment:2 by , 3 years ago
I think this ChimeraX crash was caused by trying to mask a very large map 1600 by 1600 by 1600 grid points, 4 GVoxels with float32 values, so 16 Gbytes in size. It is possible it was caused by a memory allocation failure . But the machine has 64 Gbytes of memory so it probably can handle this size (two copies of map = 32 Gbytes). More likely I think the code might somewhere be using int32 indices into the map array which only can handle 2Gvoxels before negative indices are produced. I can test this and if that is the problem I can improve the code to use int64 indices as I have done for other volume code when this large map problem arose (e.g. computing contour surfaces).
comment:3 by , 3 years ago
I get the same crash using commands on macOS with ChimeraX daily build
volume new size 1600 value uint8 volume #1 level -1 volume mask #1 surface #1
I see the ChimeraX C++ code is using an int32 array index to fill the new volume, so I will change that to int64.
comment:4 by , 3 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed in daily build, not in ChimeraX 1.4.
After changing the array index to int64 my test case works without crashing.
follow-up: 5 comment:5 by , 3 years ago
Dear Tom, Many thanks for fixing this issue. I will test it out. Best, Nadishka ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: Thursday, May 26, 2022 1:55 PM Cc: Nadishka Jayawardena <GIMSHAN.JAYAWARDENA@OIST.JP>; goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu> Subject: Re: [ChimeraX] #6951: Crash masking volume #6951: Crash masking volume --------------------------------------------+------------------------- Reporter: gimshan.jayawardena@… | Owner: Tom Goddard Type: defect | Status: closed Priority: normal | Milestone: Component: Volume Data | Version: Resolution: fixed | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | --------------------------------------------+------------------------- Changes (by Tom Goddard): * status: assigned => closed * resolution: => fixed Comment: Fixed in daily build, not in ChimeraX 1.4. After changing the array index to int64 my test case works without crashing. -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6951#comment:4> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
Reported by Nadishka Jayawardena