Opened 6 months ago
Closed 6 months ago
#17529 closed defect (can't reproduce)
Qt thread/timer crash after (much) earlier Boltz error
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Window Toolkit | 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.26100
ChimeraX Version: 1.10.dev202505010007 (2025-05-01 00:07:19 UTC)
Description
Last time you used ChimeraX it crashed.
Please describe steps that led to the crash here.
Windows fatal exception: code 0x8001010d
Current thread 0x00001750 (most recent call first):
File "C:\Program Files\ChimeraX 1.10.dev202505010007\bin\Lib\site-packages\chimerax\ui\gui.py", line 368 in event_loop
File "C:\Program Files\ChimeraX 1.10.dev202505010007\bin\Lib\site-packages\chimerax\core\__main__.py", line 1057 in init
File "C:\Program Files\ChimeraX 1.10.dev202505010007\bin\Lib\site-packages\chimerax\core\__main__.py", line 1220 in
File "", line 88 in _run_code
File "", line 198 in _run_module_as_main
===== Log before crash start =====
UCSF ChimeraX version: 1.10.dev202505010007 (2025-05-01)
© 2016-2025 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open Q22633 format mmcif fromDatabase alphafold
Chain information for AlphaFold Q22633 #1
---
Chain | Description | UniProt
A | 4-hydroxyphenylpyruvate dioxygenase | HPPD_CAEEL 1-393
Color AlphaFold Q22633 by residue attribute pLDDT_score
> ui tool show Boltz
> boltz predict protein Q22633 ligandSmiles
> O=C1C(C(C2=CC=C(C(F)(F)F)C=C2[N+]([O-])=O)=O)C(CCC1)=O(1),[Co+2](1) name
> Q22633 device gpu
Running Boltz prediction of protein with 393 residues, 2 ligands
O=C1C(C(C2=CC=C(C(F)(F)F)C=C2[N+]([O-])=O)=O)C(CCC1)=O, [Co+2]
Using multiple sequence alignment server https://api.colabfold.com
Please cite Boltz-1 Democratizing Biomolecular Interaction Modeling. BioRxiv
https://doi.org/10.1101/2024.11.19.624167 if you use these predictions.
> sequence chain #1/A
Alignment identifier is 1/A
Running boltz prediction failed with exit code 1:
command:
C:\Users\Ali/boltz\Scripts\boltz.exe predict
C:\Users\Ali/Desktop/boltz_Q22633\Q22633.yaml --write_full_pae
--use_msa_server --accelerator gpu
stdout:
Checking input data.
Running predictions for 1 structure
Processing input data.
stderr:
0%| | 0/1 [00:00", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "C:\Users\Ali\boltz\Scripts\boltz.exe\\__main__.py", line 7, in
File "C:\Users\Ali\boltz\Lib\site-packages\click\core.py", line 1157, in
__call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Ali\boltz\Lib\site-packages\click\core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "C:\Users\Ali\boltz\Lib\site-packages\click\core.py", line 1688, in
invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Ali\boltz\Lib\site-packages\click\core.py", line 1434, in
invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Ali\boltz\Lib\site-packages\click\core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Ali\boltz\Lib\site-packages\boltz\main.py", line 613, in
predict
process_inputs(
File "C:\Users\Ali\boltz\Lib\site-
packages\lightning_utilities\core\rank_zero.py", line 41, in wrapped_fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "C:\Users\Ali\boltz\Lib\site-packages\boltz\main.py", line 416, in
process_inputs
raise e
File "C:\Users\Ali\boltz\Lib\site-packages\boltz\main.py", line 326, in
process_inputs
target = parse_yaml(path, ccd)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Ali\boltz\Lib\site-packages\boltz\data\parse\yaml.py", line 57,
in parse_yaml
return parse_boltz_schema(name, data, ccd)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Ali\boltz\Lib\site-packages\boltz\data\parse\schema.py", line
648, in parse_boltz_schema
mol = AllChem.MolFromSmiles(seq)
^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: No registered converter was able to produce a C++ rvalue of type
class std::basic_string,class
std::allocator > from this Python object of type list
> boltz predict protein Q22633 ligandCcd CO(1) ligandSmiles
> O=C1C(C(C2=CC=C(C(F)(F)F)C=C2[N+]([O-])=O)=O)C(CCC1)=O(1) name Q22633 device
> gpu
Running Boltz prediction of protein with 393 residues, 2 ligands CO,
O=C1C(C(C2=CC=C(C(F)(F)F)C=C2[N+]([O-])=O)=O)C(CCC1)=O
Using multiple sequence alignment server https://api.colabfold.com
Boltz prediction completed in 127 seconds
> open C:\Users\Ali/Desktop/boltz_Q22633_1\Q22633_model_0.cif logInfo false
Summary of feedback from opening
C:\Users\Ali/Desktop/boltz_Q22633_1\Q22633_model_0.cif
---
notes | Fetching CCD CO from https://files.wwpdb.org/pub/pdb/refdata/chem_comp/O/CO/CO.cif
Fetching CCD LIG from
https://files.wwpdb.org/pub/pdb/refdata/chem_comp/G/LIG/LIG.cif
> color bfactor #2 palette alphafold
3156 atoms, 395 residues, atom bfactor range 56.5 to 99
Drag select of 28 residues, 1 bonds
> select clear
> hide surfaces
> hide cartoons
> select clear
> show cartoons
> hide cartoons
> hbonds reveal true
858 hydrogen bonds found
> hbonds reveal true
858 hydrogen bonds found
> ~hbonds
> hbonds reveal true
858 hydrogen bonds found
> ~hbonds
> hide surfaces
> hide atoms
> undo
> hide cartoons
> hide surfaces
> hide atoms
> nucleotides atoms
> style nucleic stick
Changed 0 atom styles
> show atoms
> ~hbonds
> interfaces ~solvent
2 buried areas: #1/A #2/A 7352, #2/A #2/C 319
Ignoring fixed y limits to fulfill fixed data aspect with adjustable data
limits.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data
limits.
> interfaces ~solvent
2 buried areas: #1/A #2/A 7352, #2/A #2/C 319
Ignoring fixed y limits to fulfill fixed data aspect with adjustable data
limits.
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data
limits.
> undo
> lighting simple
> view
> graphics silhouettes true
> lighting shadows true
> lighting simple
> undo
> hide cartoons
> show cartoons
> hide cartoons
> hide atoms
> undo
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data
limits.
> show #2 target m
> view #2 clip false
> hide surfaces
> hide cartoons
> hide atoms
> show atoms
> show cartoons
> hide atoms
> lighting soft
> lighting simple
> view
> ui tool show "Side View"
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data
limits.
> undo
> lighting full
> lighting flat
> lighting simple
> nucleotides atoms
> style nucleic stick
Changed 0 atom styles
> style sphere
Changed 6289 atom styles
> style stick
Changed 6289 atom styles
> style sphere
Changed 6289 atom styles
> hide cartoons
> show cartoons
> hide surfaces
> show atoms
> hide cartoons
Ignoring fixed x limits to fulfill fixed data aspect with adjustable data
limits.
Ignoring fixed y limits to fulfill fixed data aspect with adjustable data
limits.
> hide surfaces
> show atoms
> style stick
Changed 6289 atom styles
Ignoring fixed y limits to fulfill fixed data aspect with adjustable data
limits.
Device loss detected in Present()
QObject::killTimer: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread
===== Log before crash end =====
Log:
UCSF ChimeraX version: 1.10.dev202505010007 (2025-05-01)
© 2016-2025 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
OpenGL version: 3.3.0 NVIDIA 566.24
OpenGL renderer: NVIDIA GeForce RTX 4060 Ti/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Python: 3.11.4
Locale: en_US.cp1252
Qt version: PyQt6 6.8.1, Qt 6.8.2
Qt runtime version: 6.8.2
Qt platform: windows
Manufacturer: Dell Inc.
Model: XPS 8960
OS: Microsoft Windows 11 Enterprise (Build 26100)
Memory: 68,352,729,088
MaxProcessMemory: 137,438,953,344
CPU: 28 Intel(R) Core(TM) i7-14700
OSLanguage: en-GB
Installed Packages:
alabaster: 1.0.0
appdirs: 1.4.4
asttokens: 3.0.0
auditwheel: 6.3.0
babel: 2.17.0
beautifulsoup4: 4.13.3
blockdiag: 3.0.0
blosc2: 3.3.2
build: 1.2.2.post1
certifi: 2025.4.26
cftime: 1.6.4.post1
charset-normalizer: 3.4.1
ChimeraX-AddCharge: 1.5.18
ChimeraX-AddH: 2.2.7
ChimeraX-AlignmentAlgorithms: 2.0.2
ChimeraX-AlignmentHdrs: 3.6.1
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.20.1
ChimeraX-AlphaFold: 1.0.1
ChimeraX-AltlocExplorer: 1.1.2
ChimeraX-AmberInfo: 1.0
ChimeraX-Aniso: 1.1.3
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.60.5
ChimeraX-AtomicLibrary: 14.1.17
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.4
ChimeraX-BasicActions: 1.1.3
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 3.0.0
ChimeraX-Boltz: 1.0
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.2
ChimeraX-BuildStructure: 2.13.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.4.0
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.2
ChimeraX-Clashes: 2.3
ChimeraX-ColorActions: 1.0.5
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.8
ChimeraX-CommandLine: 1.2.6
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.10.dev202505010007
ChimeraX-CoreFormats: 1.2
ChimeraX-coulombic: 1.4.5
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.4
ChimeraX-Dicom: 1.2.7
ChimeraX-DistMonitor: 1.4.2
ChimeraX-DockPrep: 1.1.4
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ESMFold: 1.0
ChimeraX-FileHistory: 1.0.1
ChimeraX-FunctionKey: 1.0.1
ChimeraX-Geometry: 1.3
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.4.1
ChimeraX-Hbonds: 2.5.1
ChimeraX-Help: 1.3
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.3
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-IUPAC: 1.0
ChimeraX-KVFinder: 1.6.1
ChimeraX-Label: 1.1.14
ChimeraX-ListInfo: 1.2.2
ChimeraX-Log: 1.2
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.9.1
ChimeraX-Map: 1.3
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.2.1
ChimeraX-MCopy: 1.0
ChimeraX-MDcrds: 2.10.1
ChimeraX-MedicalToolbar: 1.1
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.16
ChimeraX-MMTF: 2.2
ChimeraX-ModelArchive: 1.0
ChimeraX-Modeller: 1.5.19
ChimeraX-ModelPanel: 1.5.1
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-MutationScores: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nifti: 1.2
ChimeraX-NMRSTAR: 1.0.2
ChimeraX-NRRD: 1.2
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.14.1
ChimeraX-OrthoPick: 1.0.1
ChimeraX-PDB: 2.7.9
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.3
ChimeraX-ProfileGrids: 1.1.2
ChimeraX-PubChem: 2.2
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.6.3
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.3.1
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.3
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-Segmentations: 3.5.7
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.17.1
ChimeraX-Shape: 1.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.2.0
ChimeraX-ShowSequences: 1.0.3
ChimeraX-SideView: 1.0.1
ChimeraX-SimilarStructures: 1.0.1
ChimeraX-Smiles: 2.1.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.19.1
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.2
ChimeraX-TapeMeasure: 1.0
ChimeraX-TaskManager: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.2.3
ChimeraX-ToolshedUtils: 1.2.4
ChimeraX-Topography: 1.0
ChimeraX-ToQuest: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.45.1
ChimeraX-Umap: 1.0
ChimeraX-uniprot: 2.3.1
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.4.4
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
comtypes: 1.4.10
contourpy: 1.3.2
coverage: 7.8.0
cxservices: 1.2.3
cycler: 0.12.1
Cython: 3.0.12
debugpy: 1.8.14
decorator: 5.2.1
docutils: 0.21.2
executing: 2.2.0
filelock: 3.18.0
fonttools: 4.57.0
funcparserlib: 2.0.0a0
glfw: 2.9.0
grako: 3.16.5
h5py: 3.13.0
html2text: 2024.2.26
idna: 3.10
ihm: 2.2
imagecodecs: 2024.6.1
imagesize: 1.4.1
iniconfig: 2.1.0
ipykernel: 6.29.5
ipython: 8.26.0
ipywidgets: 8.1.6
jedi: 0.19.1
Jinja2: 3.1.6
jupyter_client: 8.6.3
jupyter_core: 5.7.2
jupyterlab_widgets: 3.0.14
kiwisolver: 1.4.8
line_profiler: 4.2.0
lxml: 5.3.1
lz4: 4.4.4
MarkupSafe: 3.0.2
matplotlib: 3.10.1
matplotlib-inline: 0.1.7
msgpack: 1.1.0
ndindex: 1.9.2
nest-asyncio: 1.6.0
netCDF4: 1.6.5
networkx: 3.3
nibabel: 5.2.0
nptyping: 2.5.0
numexpr: 2.10.2
numpy: 1.26.4
OpenMM: 8.2.0
openvr: 1.26.701
packaging: 24.2
ParmEd: 4.2.2
parso: 0.8.4
pep517: 0.13.1
pickleshare: 0.7.5
pillow: 10.4.0
pip: 25.0.1
pkginfo: 1.11.1
platformdirs: 4.3.7
pluggy: 1.5.0
prompt_toolkit: 3.0.51
psutil: 7.0.0
pure_eval: 0.2.3
py-cpuinfo: 9.0.0
pycollada: 0.8
pydicom: 2.4.4
pyelftools: 0.32
Pygments: 2.18.0
pynmrstar: 3.3.5
pynrrd: 1.0.0
PyOpenGL: 3.1.9
PyOpenGL-accelerate: 3.1.9
pyopenxr: 1.1.4501
pyparsing: 3.2.3
pyproject_hooks: 1.2.0
PyQt6-commercial: 6.8.1
PyQt6-Qt6: 6.8.2
PyQt6-WebEngine-commercial: 6.8.0
PyQt6-WebEngine-Qt6: 6.8.2
PyQt6_sip: 13.10.0
pytest: 8.3.5
pytest-cov: 6.1.1
python-dateutil: 2.9.0.post0
pytz: 2025.2
pywin32: 310
pyzmq: 26.4.0
qtconsole: 5.5.2
QtPy: 2.4.3
qtshim: 1.1
RandomWords: 0.4.0
requests: 2.32.3
roman-numerals-py: 3.1.0
scipy: 1.14.0
setuptools: 78.1.0
sfftk-rw: 0.8.1
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
soupsieve: 2.7
Sphinx: 8.2.3
sphinx-autodoc-typehints: 3.1.0
sphinxcontrib-applehelp: 2.0.0
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 2.0.0
sphinxcontrib-htmlhelp: 2.1.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 2.0.0
sphinxcontrib-serializinghtml: 2.0.0
stack-data: 0.6.3
superqt: 0.7.1
tables: 3.10.2
tcia_utils: 1.5.1
tifffile: 2025.3.13
tinyarray: 1.2.4
tornado: 6.4.2
traitlets: 5.14.3
typing_extensions: 4.13.2
tzdata: 2025.2
urllib3: 2.4.0
wcwidth: 0.2.13
webcolors: 24.11.1
wheel: 0.45.1
wheel-filename: 1.4.2
widgetsnbextension: 4.0.14
WMI: 1.5.1
Change History (5)
comment:1 by , 6 months ago
| Component: | Unassigned → Window Toolkit |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Qt thread/timer crash after (much) earlier Boltz error |
comment:2 by , 6 months ago
comment:3 by , 6 months ago
Confirmed that SMILES string [Co+2] is what causes the Boltz error. That is a valid SMILES string as shown on Pubchem https://pubchem.ncbi.nlm.nih.gov/compound/cobalt%28II%29#section=InChI
The trouble is the yaml file uses that unquoted and then it is interpetted as a list. It needs to be quoted in the yaml file.
comment:5 by , 6 months ago
| Resolution: | → can't reproduce |
|---|---|
| Status: | assigned → closed |
The crash looks unrelated to Boltz and is caused by use of Qt in a thread other than the main thread. Boltz prediction is not using additional threads.
Other bug reports have these logged message
QObject::killTimer: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread
The python faulthandler traceback only shows the main thread when the crash happened.
The message before the crash "Device loss detected in Present()" comes from Qt and the lost device is the graphics. It doesn't look like it is related to the earlier Boltz runs. There were 2 earlier Boltz runs. The first failed in Boltz itself, apparently it has a problem parsing the smiles string, maybe the [CO+2]. I'll test that. But the second Boltz run completes successfully and opens the resulting model. Not only that the user enabled GPU on Windows with Boltz so they must of pip uninstalled Torch and installed the CUDA version -- I'm impressed -- they are a power user.