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.