#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