Opened 7 days ago

Last modified 7 days ago

#19704 new defect

What happens if Boltz server closes the connection on a submitted job with no reply?

Reported by: goddard@… Owned by:
Priority: normal Milestone:
Component: Structure Prediction Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-26.1-arm64-arm-64bit
ChimeraX Version: 1.12.dev202512241834 (2025-12-24 18:34:22 UTC)
Description
This the error I get if I make the  Boltz server return 0 bytes.

Log:
UCSF ChimeraX version: 1.12.dev202512241834 (2025-12-24)  
© 2016-2025 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> ui tool show Boltz

Populating font family aliases took 53 ms. Replace uses of missing font family
"-webkit-standard" with one that exists to avoid this cost.  

> boltz predict protein
> MLANENSLLTMFRELGSGKLPLQIEQFERGKTIFFPGDPAERVYLLVKGAVKLSRVYESGEEITVALLRENSVFGVLSLLTGQRSDRFYHAVAFTPVQLFSVPIEFMQKALIERPELANVMLQGLSSRILQTEMMIETLAHRDMGSRLVSFLLILCRDFGIPSPDGITIDLKLSHQAIAEAIGSTRVTVTRLLGDLRESKLIAIHKKRITVFNPVALSQQFS
> name ntca useServer true serverHost 203.57.40.224 serverPort 10266

Running Boltz prediction of protein with 222 residues on gpu  
Using cached multiple sequence alignment
/Users/goddard/Downloads/ChimeraX/BoltzMSA/9guk_C  
Sending job request to server (655122 bytes)  
Server 203.57.40.224:10266 queued job hsogeeep  
Confidence score 0.82, pTM 0.79, ipTM 0.00, pLDDT 0.83  
Boltz prediction completed in 1402 seconds (start boltz 0 sec, sequence search
0 sec, load weights 0 sec, structure inference 0 sec)  
Please cite Boltz-1 Democratizing Biomolecular Interaction Modeling. BioRxiv
https://doi.org/10.1101/2024.11.19.624167 if you use these predictions.  

> open
> /Users/goddard/Desktop/boltz/boltz_ntca_8/boltz_results_ntca/predictions/ntca/ntca_model_0.cif
> logInfo false

> boltz predict protein
> MLANENSLLTMFRELGSGKLPLQIEQFERGKTIFFPGDPAERVYLLVKGAVKLSRVYESGEEITVALLRENSVFGVLSLLTGQRSDRFYHAVAFTPVQLFSVPIEFMQKALIERPELANVMLQGLSSRILQTEMMIETLAHRDMGSRLVSFLLILCRDFGIPSPDGITIDLKLSHQAIAEAIGSTRVTVTRLLGDLRESKLIAIHKKRITVFNPVALSQQFS
> name ntca useServer true serverHost 82.221.170.234 serverPort 21223

Running Boltz prediction of protein with 222 residues on gpu  
Using cached multiple sequence alignment
/Users/goddard/Downloads/ChimeraX/BoltzMSA/9guk_C  
Sending job request to server (655121 bytes)  
Server 82.221.170.234:21223 queued job jdmgtbey  
Running boltz prediction failed with exit code 1:  
command:  
/Users/goddard/boltz22/bin/boltz predict
/Users/goddard/Desktop/boltz/boltz_ntca_9/ntca.yaml --accelerator gpu
--no_kernels  
stdout:  
Boltz version 2.2.1  
Downloading the CCD data to /root/.boltz/mols.tar. This may take a bit of
time. You may change the cache directory with the --cache flag.  
Extracting the CCD data to /root/.boltz/mols. This may take a bit of time. You
may change the cache directory with the --cache flag.  
Downloading the Boltz-2 weights to /root/.boltz/boltz2_conf.ckpt. You may
change the cache directory with the --cache flag.  
Downloading the Boltz-2 affinity weights to /root/.boltz/boltz2_aff.ckpt. You
may change the cache directory with the --cache flag.  
Checking input data.  
Processing 1 inputs with 1 threads.  
Running structure prediction for 1 input.  
  
stderr:  
  
0%| | 0/1 [00:00<?, ?it/s]  
100%|██████████| 1/1 [00:00<00:00, 2.63it/s]  
100%|██████████| 1/1 [00:00<00:00, 2.63it/s]  
/root/boltz22/lib/python3.12/site-
packages/lightning_fabric/plugins/environments/slurm.py:204: The `srun`
command is available on your system but is not used. HINT: If your intention
is to run Lightning on SLURM, prepend your python command with `srun` like so:
srun python3 /root/boltz22/bin/boltz predict ntca.yaml --acceler ...  
Using bfloat16 Automatic Mixed Precision (AMP)  
GPU available: True (cuda), used: True  
TPU available: False, using: 0 TPU cores  
HPU available: False, using: 0 HPUs  
/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py:76:
Starting from v1.9.0, `tensorboardX` has been removed as a dependency of the
`pytorch_lightning` package, due to potential conflicts with other packages in
the ML ecosystem. For this reason, `logger=True` will use `CSVLogger` as the
default logger, unless the `tensorboard` or `tensorboardX` packages are found.
Please `pip install lightning[extra]` or one of them to enable TensorBoard
support by default  
Thu Jan 8 21:12:05 2026: Loading Boltz structure prediction weights  
/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/utilities/migration/utils.py:56: The loaded
checkpoint was produced with Lightning v2.5.0.post0, which is newer than your
current Lightning version: v2.5.0  
Thu Jan 8 21:12:32 2026: Finished loading Boltz structure prediction weights  
Thu Jan 8 21:12:32 2026: Starting structure inference  
/root/boltz22/lib/python3.12/site-packages/torch/cuda/__init__.py:287:
UserWarning:  
NVIDIA GeForce RTX 5090 with CUDA capability sm_120 is not compatible with the
current PyTorch installation.  
The current PyTorch install supports CUDA capabilities sm_50 sm_60 sm_70 sm_75
sm_80 sm_86 sm_90.  
If you want to use the NVIDIA GeForce RTX 5090 GPU with PyTorch, please check
the instructions at https://pytorch.org/get-started/locally/  
  
warnings.warn(  
You are using a CUDA device ('NVIDIA GeForce RTX 5090') that has Tensor Cores. To properly utilize them, you should set `torch.set_float32_matmul_precision('medium' | 'high')` which will trade-off precision for performance. For more details, read https://pytorch.org/docs/stable/generated/torch.set_float32_matmul_precision.html#torch.set_float32_matmul_precision  
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]  
Traceback (most recent call last):  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/trainer/call.py", line 47, in
_call_and_handle_interrupt  
return trainer_fn(*args, **kwargs)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/trainer/trainer.py", line 898, in _predict_impl  
results = self._run(model, ckpt_path=ckpt_path)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/trainer/trainer.py", line 982, in _run  
results = self._run_stage()  
^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/trainer/trainer.py", line 1021, in _run_stage  
return self.predict_loop.run()  
^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/loops/utilities.py", line 179, in _decorator  
return loop_run(self, *args, **kwargs)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/loops/prediction_loop.py", line 105, in run  
self.setup_data()  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/loops/prediction_loop.py", line 162, in setup_data  
length = len(dl) if has_len_all_ranks(dl, trainer.strategy, allow_zero_length)
else float("inf")  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/utilities/data.py", line 105, in has_len_all_ranks  
if total_length == 0:  
^^^^^^^^^^^^^^^^^  
RuntimeError: CUDA error: no kernel image is available for execution on the
device  
CUDA kernel errors might be asynchronously reported at some other API call, so
the stacktrace below might be incorrect.  
For debugging consider passing CUDA_LAUNCH_BLOCKING=1  
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.  
  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "/root/boltz22/bin/boltz", line 8, in <module>  
sys.exit(cli())  
^^^^^  
File "/root/boltz22/lib/python3.12/site-packages/click/core.py", line 1157, in
__call__  
return self.main(*args, **kwargs)  
^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-packages/click/core.py", line 1078, in
main  
rv = self.invoke(ctx)  
^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-packages/click/core.py", line 1688, in
invoke  
return _process_result(sub_ctx.command.invoke(sub_ctx))  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-packages/click/core.py", line 1434, in
invoke  
return ctx.invoke(self.callback, **ctx.params)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-packages/click/core.py", line 783, in
invoke  
return __callback(*args, **kwargs)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-packages/boltz/main.py", line 1462, in
predict  
trainer.predict(  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/trainer/trainer.py", line 859, in predict  
return call._call_and_handle_interrupt(  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/trainer/call.py", line 68, in
_call_and_handle_interrupt  
trainer._teardown()  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/trainer/trainer.py", line 1005, in _teardown  
self.strategy.teardown()  
File "/root/boltz22/lib/python3.12/site-
packages/pytorch_lightning/strategies/strategy.py", line 536, in teardown  
self.lightning_module.cpu()  
File "/root/boltz22/lib/python3.12/site-
packages/lightning_fabric/utilities/device_dtype_mixin.py", line 82, in cpu  
return super().cpu()  
^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-packages/torch/nn/modules/module.py",
line 1133, in cpu  
return self._apply(lambda t: t.cpu())  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/root/boltz22/lib/python3.12/site-packages/torch/nn/modules/module.py",
line 915, in _apply  
module._apply(fn)  
File "/root/boltz22/lib/python3.12/site-packages/torchmetrics/metric.py", line
907, in _apply  
_dummy_tensor = fn(torch.zeros(1, device=self.device))  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
RuntimeError: CUDA error: no kernel image is available for execution on the
device  
CUDA kernel errors might be asynchronously reported at some other API call, so
the stacktrace below might be incorrect.  
For debugging consider passing CUDA_LAUNCH_BLOCKING=1  
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.  
  
  

Failed to send bug report. Bug report server www.rbvi.ucsf.edu is unavailable  

> boltz predict protein
> MLANENSLLTMFRELGSGKLPLQIEQFERGKTIFFPGDPAERVYLLVKGAVKLSRVYESGEEITVALLRENSVFGVLSLLTGQRSDRFYHAVAFTPVQLFSVPIEFMQKALIERPELANVMLQGLSSRILQTEMMIETLAHRDMGSRLVSFLLILCRDFGIPSPDGITIDLKLSHQAIAEAIGSTRVTVTRLLGDLRESKLIAIHKKRITVFNPVALSQQFS
> name ntca useServer true serverHost 82.221.170.234 serverPort 21223

Running Boltz prediction of protein with 222 residues on gpu  
Using cached multiple sequence alignment
/Users/goddard/Downloads/ChimeraX/BoltzMSA/9guk_C  
Sending job request to server (655121 bytes)  
Server 82.221.170.234:21223 queued job 42f6lyyn  
Boltz server error for job 42f6lyyn: Error running job 42f6lyyn: [Errno 2] No
such file or directory: '/root/boltz22/bin/boltz'  
  
Traceback (most recent call last):  
File "/root/boltz_server.py", line 115, in run  
run_boltz_prediction(self._zip_path, self._boltz_exe, device = self._device,
gpu_id = gpu_id,  
File "/root/boltz_server.py", line 141, in run_boltz_prediction  
run_boltz(run_dir, boltz_exe, device=device, gpu_id=gpu_id,
extra_options=extra_options)  
File "/root/boltz_server.py", line 194, in run_boltz  
p = Popen(command_args, cwd = directory,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/usr/lib/python3.12/subprocess.py", line 1026, in __init__  
self._execute_child(args, executable, preexec_fn, close_fds,  
File "/usr/lib/python3.12/subprocess.py", line 1955, in _execute_child  
raise child_exception_type(errno_num, err_msg, err_filename)  
FileNotFoundError: [Errno 2] No such file or directory:
'/root/boltz22/bin/boltz'  
  

> hide #1 models

> boltz predict protein
> MLANENSLLTMFRELGSGKLPLQIEQFERGKTIFFPGDPAERVYLLVKGAVKLSRVYESGEEITVALLRENSVFGVLSLLTGQRSDRFYHAVAFTPVQLFSVPIEFMQKALIERPELANVMLQGLSSRILQTEMMIETLAHRDMGSRLVSFLLILCRDFGIPSPDGITIDLKLSHQAIAEAIGSTRVTVTRLLGDLRESKLIAIHKKRITVFNPVALSQQFS
> name ntca useServer true serverHost 82.221.170.234 serverPort 21223

Running Boltz prediction of protein with 222 residues on gpu  
Using cached multiple sequence alignment
/Users/goddard/Downloads/ChimeraX/BoltzMSA/9guk_C  
Sending job request to server (655121 bytes)  
Traceback (most recent call last):  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/boltz/boltz_gui.py", line 595, in _predict  
self._run_prediction(options = ' '.join(options))  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/boltz/boltz_gui.py", line 612, in _run_prediction  
br = run(self.session, cmd)  
^^^^^^^^^^^^^^^^^^^^^^  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/run.py", line 49, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/cli.py", line 3237, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/boltz/predict.py", line 87, in boltz_predict  
br.start()  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/boltz/predict.py", line 559, in start  
self._run_boltz()  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/boltz/predict.py", line 669, in _run_boltz  
self._run_on_server()  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/boltz/predict.py", line 706, in _run_on_server  
job_id = predict_on_server(run_dir, self._server_host, self._server_port)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/boltz/server.py", line 298, in predict_on_server  
raise RuntimeError(msg.decode('utf-8'))  
RuntimeError  
  
RuntimeError  
  
File "/Users/goddard/Desktop/ChimeraX Dec 30
2025.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/boltz/server.py", line 298, in predict_on_server  
raise RuntimeError(msg.decode('utf-8'))  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 Metal - 90.5
OpenGL renderer: Apple M2 Ultra
OpenGL vendor: Apple

Python: 3.11.9
Locale: en_US.UTF-8
Qt version: PyQt6 6.9.1, Qt 6.9.0
Qt runtime version: 6.9.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: Mac Studio
      Model Identifier: Mac14,14
      Model Number: Z1800003VLL/A
      Chip: Apple M2 Ultra
      Total Number of Cores: 24 (16 performance and 8 efficiency)
      Memory: 64 GB
      System Firmware Version: 13822.41.1
      OS Loader Version: 13822.41.1

Software:

    System Software Overview:

      System Version: macOS 26.1 (25B78)
      Kernel Version: Darwin 25.1.0
      Time since boot: 52 days, 3 hours, 6 minutes

Graphics/Displays:

    Apple M2 Ultra:

      Chipset Model: Apple M2 Ultra
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 60
      Vendor: Apple (0x106b)
      Metal Support: Metal 4
      Displays:
        PHL 278B1:
          Resolution: 3840 x 2160 (2160p/4K UHD 1 - Ultra High Definition)
          UI Looks like: 1920 x 1080 @ 60.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Rotation: Supported


Installed Packages:
    aiohappyeyeballs: 2.6.1
    aiohttp: 3.13.1
    aiosignal: 1.4.0
    alabaster: 1.0.0
    annotated-types: 0.7.0
    anyio: 4.12.0
    appdirs: 1.4.4
    appnope: 0.1.4
    asttokens: 3.0.1
    attrs: 25.4.0
    babel: 2.17.0
    beautifulsoup4: 4.13.5
    blockdiag: 3.0.0
    blosc2: 3.12.2
    build: 1.3.0
    certifi: 2025.7.14
    cftime: 1.6.5
    charset-normalizer: 3.4.4
    ChimeraX-AddCharge: 1.5.20
    ChimeraX-AddH: 2.2.8
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.6.1
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 3.1.1
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Animations: 1.0
    ChimeraX-Aniso: 1.3.2
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.61.5
    ChimeraX-AtomicLibrary: 14.2.3
    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.1
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.2
    ChimeraX-BuildStructure: 2.13.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.6.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.5
    ChimeraX-ChemGroup: 2.0.2
    ChimeraX-CiliaBuilder: 1.0.9
    ChimeraX-Clashes: 2.3
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.8
    ChimeraX-CommandLine: 1.3.1
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.12.dev202512241834
    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.3
    ChimeraX-Help: 1.3
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.4
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-KVFinder: 1.8
    ChimeraX-Label: 1.3
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.2.2
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.2
    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.2
    ChimeraX-MCopy: 1.0
    ChimeraX-MCPServer: 0.1.0
    ChimeraX-MDcrds: 2.17.2
    ChimeraX-MedicalToolbar: 1.1
    ChimeraX-Meeting: 1.0.1
    ChimeraX-Minimize: 1.3.2
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.16
    ChimeraX-MMTF: 2.2
    ChimeraX-ModelArchive: 1.0
    ChimeraX-Modeller: 1.5.23
    ChimeraX-ModelPanel: 1.6
    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.1
    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.15.2
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.12
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.5
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.4
    ChimeraX-ProfileGrids: 1.4.2
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.7
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3.3
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.2
    ChimeraX-Scenes: 0.3.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.3
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.5.10
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.17.3
    ChimeraX-Shape: 1.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.2.1
    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.2
    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-TutorialReadFormat: 0.1
    ChimeraX-UI: 1.50
    ChimeraX-Umap: 1.0
    ChimeraX-uniprot: 2.3.2
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDock: 1.5.2
    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.5
    ChimeraX-Zone: 1.0.1
    click: 8.3.1
    colorama: 0.4.6
    comm: 0.2.3
    contourpy: 1.3.3
    coverage: 7.13.1
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.1.4
    debugpy: 1.8.19
    decorator: 5.2.1
    docutils: 0.21.2
    executing: 2.2.1
    filelock: 3.19.1
    fonttools: 4.61.1
    frozenlist: 1.8.0
    funcparserlib: 2.0.0a0
    glfw: 2.10.0
    grako: 3.16.5
    h11: 0.16.0
    h5py: 3.15.1
    html2text: 2025.4.15
    httpcore: 1.0.9
    httpx: 0.28.1
    httpx-sse: 0.4.3
    idna: 3.11
    ihm: 2.2
    imagecodecs: 2024.6.1
    imagesize: 1.4.1
    iniconfig: 2.3.0
    ipykernel: 6.30.1
    ipython: 9.5.0
    ipython_pygments_lexers: 1.1.1
    ipywidgets: 8.1.8
    jedi: 0.19.2
    Jinja2: 3.1.6
    jsonschema: 4.25.1
    jsonschema-specifications: 2025.9.1
    jupyter_client: 8.6.3
    jupyter_core: 5.9.1
    jupyterlab_widgets: 3.0.16
    kiwisolver: 1.4.9
    line_profiler: 5.0.0
    lxml: 6.0.2
    lz4: 4.3.2
    Markdown: 3.8.2
    MarkupSafe: 3.0.3
    matplotlib: 3.10.7
    matplotlib-inline: 0.2.1
    mcp: 1.18.0
    msgpack: 1.1.1
    multidict: 6.7.0
    ndindex: 1.10.1
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.3
    nibabel: 5.2.0
    nptyping: 2.5.0
    numexpr: 2.14.1
    numpy: 1.26.4
    OpenMM: 8.2.0
    openvr: 1.26.701
    packaging: 25.0
    pandas: 2.3.3
    ParmEd: 4.2.2
    parso: 0.8.5
    pep517: 0.13.1
    pexpect: 4.9.0
    pickleshare: 0.7.5
    pillow: 11.3.0
    pip: 25.2
    pkginfo: 1.12.1.2
    platformdirs: 4.5.1
    pluggy: 1.6.0
    prompt_toolkit: 3.0.52
    propcache: 0.4.1
    psutil: 7.0.0
    ptyprocess: 0.7.0
    pure_eval: 0.2.3
    py-cpuinfo: 9.0.0
    pybind11: 3.0.1
    pycollada: 0.8
    pydantic: 2.12.5
    pydantic-settings: 2.12.0
    pydantic_core: 2.41.5
    pydicom: 2.4.4
    Pygments: 2.18.0
    pynmrstar: 3.3.6
    pynrrd: 1.0.0
    PyOpenGL: 3.1.10
    PyOpenGL-accelerate: 3.1.10
    pyopenxr: 1.1.4501
    pyparsing: 3.3.1
    pyproject_hooks: 1.2.0
    PyQt6-commercial: 6.9.1
    PyQt6-Qt6: 6.9.2
    PyQt6-WebEngine-commercial: 6.9.0
    PyQt6-WebEngine-Qt6: 6.9.2
    PyQt6_sip: 13.10.2
    pytest: 9.0.2
    pytest-cov: 7.0.0
    python-dateutil: 2.9.0.post0
    python-dotenv: 1.2.1
    python-multipart: 0.0.21
    pytz: 2025.2
    pyzmq: 27.1.0
    qtconsole: 5.7.0
    QtPy: 2.4.3
    qtshim: 1.2
    RandomWords: 0.4.0
    referencing: 0.37.0
    requests: 2.32.5
    roman-numerals: 4.1.0
    roman-numerals-py: 4.1.0
    rpds-py: 0.30.0
    scipy: 1.16.3
    scipy: 1.14.0
    setuptools: 80.9.0
    sfftk-rw: 0.8.1
    six: 1.17.0
    snowballstemmer: 3.0.1
    sortedcontainers: 2.4.0
    soupsieve: 2.8.1
    Sphinx: 8.2.3
    sphinx-autodoc-typehints: 3.2.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
    sse-starlette: 3.1.1
    stack-data: 0.6.3
    starlette: 0.50.0
    superqt: 0.7.6
    tables: 3.10.2
    tcia_utils: 1.5.1
    tifffile: 2025.3.13
    tinyarray: 1.2.5
    tornado: 6.5.4
    traitlets: 5.14.3
    typing-inspection: 0.4.2
    typing_extensions: 4.15.0
    tzdata: 2025.3
    urllib3: 2.6.2
    uvicorn: 0.40.0
    wcwidth: 0.2.14
    webcolors: 24.11.1
    wheel: 0.45.1
    wheel-filename: 1.4.2
    widgetsnbextension: 4.0.15
    yarl: 1.22.0

Change History (4)

comment:1 by Tom Goddard, 7 days ago

Component: UnassignedStructure Prediction
Platform: all
Project: ChimeraX
Summary: ChimeraX bug report submissionWhat happens if Boltz server closes the connection on a submitted job with no reply?

Several students from today's class (possibly all!) got this error message trying to run a prediction on different RunPod VMs they had set up. It appears the server closed the socket connection without returning any message. I am baffled. Maybe socket.close() does not flush the write buffer?

comment:2 by Tom Goddard, 7 days ago

I see the server code was using socket.send(msg) which is not guaranteed to send the data and returns the number of bytes send. socket.sendall(msg) sends all the data and is what is needed. I changed the code to use that.

Still hard to imagine I never saw socket.send() fail to send before but in class 3 people reported it and it sounded like everyone got it!

comment:3 by Tom Goddard, 7 days ago

The class tickets reporting this error are #19698, #19699, #19701. There VMs were the following

serverHost 213.173.111.145 serverPort 14526 (romania)
serverHost 157.157.221.29 serverPort 31556 (iceland)
serverHost 213.173.109.9 serverPort 11329 (romania)

My current testing VM (RTX 5090) that does not have the problem

82.221.170.234 (iceland)

Last edited 7 days ago by Tom Goddard (previous) (diff)

comment:4 by Tom Goddard, 7 days ago

This post suggests that if the server closes the connection before the client finishes reading the response then data may be lost.

https://stackoverflow.com/questions/17667901/how-to-handle-socket-read-in-c-when-the-remote-server-closes-socket-possibly-bef

And this reply seems to explain a methodology to avoid the loss:

The host to send the last message should do a half-close: shutdown(s, SHUT_WR) and then loop on calling recv() for a reasonable amount of time until it returns an error or 0 indicating that the remote host has either gone away or closed the connection. –
selbie

Commented Jul 16, 2013 at 6:27

Note: See TracTickets for help on using tickets.