Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#4361 closed defect (can't reproduce)

Crash in new_bond during AddH

Reported by: chimerax-bug-report@… Owned by: pett
Priority: normal Milestone:
Component: Structure Editing Version:
Keywords: Cc: Tom Goddard
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.2.dev202103110155 (2021-03-11 01:55:54 UTC)
Description
Last time you used ChimeraX it crashed.
Please describe steps that led to the crash here.
Windows fatal exception: access violation

Thread 0x00001834 (most recent call first):
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 306 in wait
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 558 in wait
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 1252 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 932 in _bootstrap_inner
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 890 in _bootstrap

Current thread 0x000010cc (most recent call first):
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\atomic\molobject.py", line 1635 in new_bond
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\atomic\struct_edit.py", line 162 in add_bond
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\atomic\struct_edit.py", line 97 in add_atom
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\cmd.py", line 887 in new_hydrogen
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\cmd.py", line 860 in add_altloc_hyds
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\hbond.py", line 894 in _attach_hydrogens
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\hbond.py", line 214 in add_hydrogens
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\cmd.py", line 170 in hbond_add_hydrogens
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\cmd.py", line 63 in cmd_addh
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\coulombic\coulombic.py", line 74 in assign_charges
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\coulombic\cmd.py", line 90 in cmd_coulombic
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\core\commands\cli.py", line 2852 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\core\commands\run.py", line 36 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 504 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 561 in run_expanded_command
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 319 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 400 in run_shortcut
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 382 in try_shortcut
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 1326 in run_provider
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\__init__.py", line 52 in run_provider
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\core\toolshed\__init__.py", line 1273 in run_provider
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\core\toolshed\info.py", line 379 in run_provider
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\toolbar\tool.py", line 202 in callback
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\ui\gui.py", line 307 in event_loop
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\ChimeraX_main.py", line 856 in init
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\ChimeraX_main.py", line 1005 in 
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\runpy.py", line 87 in _run_code
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\runpy.py", line 194 in _run_module_as_main
Windows fatal exception: access violation

Thread 0x00001834 (most recent call first):
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 306 in wait
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 558 in wait
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 1252 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 932 in _bootstrap_inner
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\threading.py", line 890 in _bootstrap

Current thread 0x000010cc (most recent call first):
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\atomic\molobject.py", line 1635 in new_bond
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\atomic\struct_edit.py", line 162 in add_bond
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\atomic\struct_edit.py", line 97 in add_atom
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\cmd.py", line 887 in new_hydrogen
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\cmd.py", line 860 in add_altloc_hyds
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\hbond.py", line 894 in _attach_hydrogens
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\hbond.py", line 214 in add_hydrogens
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\cmd.py", line 170 in hbond_add_hydrogens
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\addh\cmd.py", line 63 in cmd_addh
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\coulombic\coulombic.py", line 74 in assign_charges
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\coulombic\cmd.py", line 90 in cmd_coulombic
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\core\commands\cli.py", line 2852 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\core\commands\run.py", line 36 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 504 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 561 in run_expanded_command
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 319 in run
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 400 in run_shortcut
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 382 in try_shortcut
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\shortcuts.py", line 1326 in run_provider
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\shortcuts\__init__.py", line 52 in run_provider
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\core\toolshed\__init__.py", line 1273 in run_provider
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\core\toolshed\info.py", line 379 in run_provider
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\toolbar\tool.py", line 202 in callback
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\chimerax\ui\gui.py", line 307 in event_loop
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\ChimeraX_main.py", line 856 in init
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\site-packages\ChimeraX_main.py", line 1005 in 
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\runpy.py", line 87 in _run_code
  File "C:\Program Files\ChimeraX 1.2.dev202103110155\bin\lib\runpy.py", line 194 in _run_module_as_main


Log:
UCSF ChimeraX version: 1.2.dev202103110155 (2021-03-11)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  




OpenGL version: 3.3.0 - Build 27.20.100.8853
OpenGL renderer: Intel(R) UHD Graphics 630
OpenGL vendor: Intel
Manufacturer: Dell Inc.
Model: OptiPlex 7060
OS: Microsoft Windows 10 Pro (Build 19041)
Memory: 16,966,266,880
MaxProcessMemory: 137,438,953,344
CPU: 12 Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
OSLanguage: ja-JP
Locale: ('ja_JP', 'cp932')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.9.0
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2020.12.5
    cftime: 1.4.1
    chardet: 3.0.4
    ChimeraX-AddCharge: 1.0
    ChimeraX-AddH: 2.1.4
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.11.2
    ChimeraX-AtomicLibrary: 2.0
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AtomSearchLibrary: 1.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 1.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.5
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.1
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.1
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.1
    ChimeraX-CommandLine: 1.1.3
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.2.dev202103110155
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.0.3
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0
    ChimeraX-DataFormats: 1.1
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1
    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.0
    ChimeraX-Hbonds: 2.1
    ChimeraX-Help: 1.1
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.0
    ChimeraX-ImageFormats: 1.1
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0
    ChimeraX-Label: 1.0
    ChimeraX-ListInfo: 1.1
    ChimeraX-Log: 1.1.1
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.1
    ChimeraX-Map: 1.0.2
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.0
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 1.1
    ChimeraX-MDcrds: 2.2
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.0
    ChimeraX-mmCIF: 2.2
    ChimeraX-MMTF: 2.1
    ChimeraX-Modeller: 1.0
    ChimeraX-ModelPanel: 1.0.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
    ChimeraX-OpenCommand: 1.5
    ChimeraX-PDB: 2.2
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0.1
    ChimeraX-PubChem: 2.0.1
    ChimeraX-ReadPbonds: 1.0
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.4
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SeqView: 2.3
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.0
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.0.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.3
    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.0.1
    ChimeraX-ToolshedUtils: 1.1
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.7
    ChimeraX-uniprot: 2.1
    ChimeraX-UnitCell: 1.0
    ChimeraX-ViewDockX: 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.3
    comtypes: 1.1.7
    cxservices: 1.0
    cycler: 0.10.0
    Cython: 0.29.21
    decorator: 4.4.2
    distlib: 0.3.1
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    grako: 3.16.5
    h5py: 2.10.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.17
    imagecodecs: 2020.5.30
    imagesize: 1.2.0
    ipykernel: 5.3.4
    ipython: 7.18.1
    ipython-genutils: 0.2.0
    jedi: 0.17.2
    Jinja2: 2.11.2
    jupyter-client: 6.1.7
    jupyter-core: 4.7.1
    kiwisolver: 1.3.1
    line-profiler: 2.1.2
    lxml: 4.6.2
    lz4: 3.1.0
    MarkupSafe: 1.1.1
    matplotlib: 3.3.2
    msgpack: 1.0.0
    netCDF4: 1.5.4
    networkx: 2.5
    numexpr: 2.7.3
    numpy: 1.19.2
    numpydoc: 1.1.0
    openvr: 1.14.1501
    packaging: 20.9
    ParmEd: 3.2.0
    parso: 0.7.1
    pickleshare: 0.7.5
    Pillow: 7.2.0
    pip: 21.0.1
    pkginfo: 1.5.0.1
    prompt-toolkit: 3.0.16
    psutil: 5.7.2
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.7.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.15.2
    PyQt5-sip: 12.8.1
    PyQtWebEngine-commercial: 5.15.2
    python-dateutil: 2.8.1
    pytz: 2021.1
    pywin32: 228
    pyzmq: 22.0.3
    qtconsole: 4.7.7
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.5.2
    setuptools: 50.3.2
    sfftk-rw: 0.6.7.dev1
    six: 1.15.0
    snowballstemmer: 2.1.0
    sortedcontainers: 2.2.2
    Sphinx: 3.2.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 1.0.3
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.4
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2020.9.3
    tinyarray: 1.2.3
    tornado: 6.1
    traitlets: 5.0.5
    urllib3: 1.25.11
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.36.0
    wheel-filename: 1.2.0
    WMI: 1.5.1

Change History (7)

comment:1 by pett, 5 years ago

Cc: Tom Goddard added
Component: UnassignedStructure Editing
Owner: set to pett
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionCrash in new_bond during AddH

comment:2 by pett, 5 years ago

Resolution: can't reproduce
Status: acceptedclosed

Though fascinating, the stack trace alone isn't really of much help in illuminating the real cause of problem.

comment:3 by Tom Goddard, 5 years ago

Appears the user simply pressed the electrostatic coloring Toolbar button in in March 11, 2021 daily build. So if we had the PDB file that would allow reproducing it. Maybe it is a standard PDB, and just seeing the Log would reveal that. Maybe we should get fancier with the crash reporting, have a thread that periodically (every 30 seconds?) saves the log to a temp file so if a crash occurs we can include the log in the bug report.

comment:4 by pett, 5 years ago

I am _doubtful_ that it was a standard PDB file, but maybe.

We _might_ be able to use the faulthandler module (https://docs.python.org/3/library/faulthandler.html#module-faulthandler) to write out the log on SIGABRT, SIGBUS, and SIGSEGV.

--Eric

comment:5 by pett, 5 years ago

Never mind, you can't do arbitrary things with faulthandler, and the signal module isn't appropriate for those signals, AFAICT.

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

Our crash reporter currently does use Python faulthandler.  But faulthandler does not let you run your own code during an exception -- all it can do is write the stack to a file.

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

The drawback of periodically writing the log is that it could make ChimeraX stutter.  Even in a separate thread it has to grab the global interpreter lock to get the html, then the file IO can be done concurrently.  Also the step that caused the crash probably won't be in the last written log although the traceback reveals that final step.  I am not keen on this periodic file save -- likely to cause more problems than it solves.  But worth considering how we can get better crash info.
Note: See TracTickets for help on using tickets.