Patch 250814 is available for CryoSPARC v4.7.1

Release Notes

Includes all release notes from previous patch 250811

Fixed

  • Subset Particles by Statistic job no longer fails when manual thresholds are specified in the job builder (previously only included in v4.7.1-cuda12+250811 patch)

Installation

See installation instructions here (CryoSPARC v4.7.1):

2 Likes

This patch fails to install on my master, while the worker was patched correctly the first time. I’ve tried downloading the file first and then installing it, and I’ve tried the --force flag, but still no success. The output doesn’t indicate any problem:

$ cryosparcm patch --force

A cryoSPARC patch is available

    Current Version: v4.7.1
    Current Patch: None
    New Patch: 250814
    Released On: 2025-08-14 20:14:16
    Requires Restart: Yes
    Patch Notes:
	- Fixed: Ab-Initio Reconstruction no longer fails with a NaN error when one or more densities become completely empty.
	- Fixed: Subset Particles by Statistic job no longer fails when manual thresholds are specified in the job builder.
	- Fixed: Select Volume job now produces passthrough outputs consistently based on input connections.

Install patch? (y/n): y
Downloading...
Downloading cryosparc_master_patch.tar.gz...
Downloading cryosparc_worker_patch.tar.gz...
Patching... checking versions
Done.
Gathering worker info...
Patch worker xxx? (y/n): n
Skipped worker patch.
To patch workers:
  1. Upload the worker patch cryosparc_master/cryosparc_worker_patch.tar.gz onto each worker node
  2. Log into each worker node and run "cryosparcw patch"

e.g.,

    cp -f cryosparc_worker_patch.tar.gz /opt/bioxray/programs/cryosparc2/cryosparc2_worker/cryosparc_worker_patch.tar.gz
    /opt/programs/cryosparc2/cryosparc2_worker/bin/cryosparcw patch

Finishing...
Done.
Patch v4.7.1+250814 applied!
To complete installation, restart cryoSPARC with the following command:

    cryosparcm restart

I see the “version” file in the master installation folder, but a “patch” file isn’t generated. It is there in the worker installation folder. I have restarted the cryosparcm service. I’ve also tried to launch a job, which fails with the error that the master and worker isn’t the same version.
Any ideas for how to fix this?

@boggild Please can you post the outputs of these commands, which should help rule out some possible causes of the issue:

which cryosparcm
type cryosparcm
ls -al $(dirname $(which cryosparcm))
/opt/cryosparc2/cryosparc2_master/bin/cryosparcm
cryosparcm is /opt/cryosparc2/cryosparc2_master/bin/cryosparcm
total 100
drwxr-xr-x  3 anbog anbog  4096 Jun 19 16:12 .
drwxrwx--- 15 anbog anbog  4096 Aug 19 13:28 ..
-rwxr-xr-x  1 anbog anbog 76613 Jun 19 16:12 cryosparcm
-rwxr-xr-x  1 anbog anbog   761 Jun 19 16:12 gitmulti
-rw-r--r--  1 anbog anbog  2065 Jun 19 16:12 minicurl.py
drwxrwxr-x  2 anbog anbog  4096 Jun 20 15:44 __pycache__
-rw-r--r--  1 anbog anbog  2511 Jun 19 16:12 watch_restart_command.py

The installation has gone through patches and updates successfully many times before.
I’ve just tried downgrading to 4.7.0, then updating and finally patching again, but I still end up with only the worker patched and the master stuck at 4.7.1.

Thanks @boggild for posting the command outputs. Please can you also post the output of the commands

ls -l /opt/cryosparc2/cryosparc2_master/cryosparc_tools/
ls -l /opt/cryosparc2/cryosparc2_master/
ls -l /opt/cryosparc2/cryosparc2_master/cryosparc_tools/
total 36
drwxr-xr-x 4 anbog anbog 4096 Aug 20 12:53 cryosparc
-rw-r--r-- 1 anbog anbog 1488 Jun 19 16:12 LICENSE
-rw-r--r-- 1 anbog anbog  285 Jun 19 16:12 MANIFEST.in
-rw-r--r-- 1 anbog anbog 1676 Jun 19 16:12 pyproject.toml
-rw-r--r-- 1 anbog anbog  206 Jun 19 16:12 pyrightconfig.json
-rw-r--r-- 1 anbog anbog   41 Jun 19 16:12 revision
-rw-r--r-- 1 anbog anbog 1574 Jun 19 16:12 setup.py
drwxr-xr-x 3 anbog anbog 4096 Jun 19 16:12 typings
-rw-r--r-- 1 anbog anbog  153 Jun 19 16:12 vercel.json

and

ls -l /opt/cryosparc2/cryosparc2_master/
total 4735808
drwxr-xr-x  3 anbog anbog       4096 Jun 19 16:12 bin
drwxrwxr-x  3 anbog anbog       4096 Aug 31  2023 build
-rwxr-xr-x  1 anbog anbog       5458 Jun 19 16:12 check_install_deps.sh
-rw-r-----  1 anbog anbog        641 Dec  8  2022 config.sh
drwxrwxr-x  5 anbog anbog       4096 Aug 20 12:53 cryosparc_app
drwxr-xr-x 11 anbog anbog       4096 Aug 20 12:53 cryosparc_command
drwxr-xr-x 15 anbog anbog       4096 Aug 20 12:53 cryosparc_compute
-rw-rw-r--  1 anbog anbog  661648812 Aug 20 12:47 cryosparc_master.tar.gz
drwxr-xr-x  4 anbog anbog       4096 Jun 19 16:16 cryosparc_tools
-rw-rw-r--  1 anbog anbog 4187660038 Aug 20 12:53 cryosparc_worker.tar.gz
drwxr-x---  4 anbog anbog       4096 Sep 11  2024 deps
drwxr-xr-x  4 anbog anbog       4096 Jun 19 16:30 deps_bundle
drwxr-xr-x  4 anbog anbog       4096 Jun 19 16:30 deps_bundle_hashes
drwxr-x---  4 anbog anbog       4096 May 27  2019 deps_hashes
-rw-rw-r--  1 anbog anbog       6170 Aug 31  2023 environment.yml
-rw-r--r--  1 anbog anbog        288 Jun 19 16:12 gunicorn.conf.py
-rw-r-----  1 anbog anbog       9053 May 27  2019 install-output.txt
-rw-r--r--  1 anbog anbog       3128 Jun 19 16:12 install.py
-rwxr-xr-x  1 anbog anbog      14290 Jun 19 16:12 install.sh
lrwxrwxrwx  1 anbog anbog         43 Jun 19 16:12 lib -> deps/anaconda/envs/cryosparc_master_env/lib
-rw-r--r--  1 anbog anbog      15621 Jun 19 16:12 patch.py
drwxrwxr-x  2 anbog anbog       4096 Aug 20 12:54 __pycache__
drwxr-x---  3 anbog anbog       4096 Aug 20 12:53 run
-rw-r--r--  1 anbog anbog       4072 Jun 19 16:12 setup_client_ipython.py
-rw-r--r--  1 anbog anbog       4294 Jun 19 16:12 supervisord.conf
drwxr-xr-x  2 anbog anbog       4096 Jun 19 16:12 systemd
-rw-r--r--  1 anbog anbog          7 Jun 19 16:30 version

Thanks @boggild . What about the outputs of these commands (some of which may fail, or produce no output):

ls -al /opt/bioxray/programs/cryosparc2/cryosparc2_master/
ps -eo user,pid,ppid,start,cmd | grep cryosparc_

Output for the last command:

ps -eo user,pid,ppid,start,cmd | grep cryosparc_
anbog     263055    2520   Aug 20 python /opt/cryosparc2/cryosparc2_master/deps/anaconda/envs/cryosparc_master_env/bin/supervisord -c /opt/cryosparc2/cryosparc2_master/supervisord.conf
anbog     263268  263055   Aug 20 python /opt/cryosparc2/cryosparc2_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn -n command_core -b 0.0.0.0:39002 cryosparc_command.command_core:start() -c /opt/cryosparc2/cryosparc2_master/gunicorn.conf.py
anbog     263270  263268   Aug 20 python /opt/cryosparc2/cryosparc2_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn -n command_core -b 0.0.0.0:39002 cryosparc_command.command_core:start() -c /opt/cryosparc2/cryosparc2_master/gunicorn.conf.py
anbog     263307  263055   Aug 20 python3.10 /opt/cryosparc2/cryosparc2_master/deps/anaconda/envs/cryosparc_master_env/bin/flask --app cryosparc_command.command_vis run -h 0.0.0.0 -p 39003 --with-threads
anbog     263342  263055   Aug 20 python /opt/cryosparc2/cryosparc2_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn cryosparc_command.command_rtp:start() -n command_rtp -b 0.0.0.0:39005 -c /opt/cryosparc2/cryosparc2_master/gunicorn.conf.py
anbog     263343  263342   Aug 20 python /opt/cryosparc2/cryosparc2_master/deps/anaconda/envs/cryosparc_master_env/bin/gunicorn cryosparc_command.command_rtp:start() -n command_rtp -b 0.0.0.0:39005 -c /opt/cryosparc2/cryosparc2_master/gunicorn.conf.py
anbog     263380  263055   Aug 20 /opt/cryosparc2/cryosparc2_master/cryosparc_app/nodejs/bin/node ./bundle/main.js
anbog     406641  406331 15:28:16 grep --color=auto cryosparc_

The second command points to a non-existing folder, but perhaps you meant one of the following?

ls -al /opt/cryosparc2/cryosparc2_master/
total 4735816
drwxrwx--- 15 anbog anbog       4096 Aug 20 12:53 .
drwxr-x---  7 anbog anbog       4096 Aug 12  2024 ..
drwxr-xr-x  3 anbog anbog       4096 Jun 19 16:12 bin
drwxrwxr-x  3 anbog anbog       4096 Aug 31  2023 build
-rwxr-xr-x  1 anbog anbog       5458 Jun 19 16:12 check_install_deps.sh
-rw-r-----  1 anbog anbog        641 Dec  8  2022 config.sh
drwxrwxr-x  5 anbog anbog       4096 Aug 20 12:53 cryosparc_app
drwxr-xr-x 11 anbog anbog       4096 Aug 20 12:53 cryosparc_command
drwxr-xr-x 15 anbog anbog       4096 Aug 20 12:53 cryosparc_compute
-rw-rw-r--  1 anbog anbog  661648812 Aug 20 12:47 cryosparc_master.tar.gz
drwxr-xr-x  4 anbog anbog       4096 Jun 19 16:16 cryosparc_tools
-rw-rw-r--  1 anbog anbog 4187660038 Aug 20 12:53 cryosparc_worker.tar.gz
drwxr-x---  4 anbog anbog       4096 Sep 11  2024 deps
drwxr-xr-x  4 anbog anbog       4096 Jun 19 16:30 deps_bundle
drwxr-xr-x  4 anbog anbog       4096 Jun 19 16:30 deps_bundle_hashes
drwxr-x---  4 anbog anbog       4096 May 27  2019 deps_hashes
-rw-rw-r--  1 anbog anbog       6170 Aug 31  2023 environment.yml
-rw-r--r--  1 anbog anbog        288 Jun 19 16:12 gunicorn.conf.py
-rw-r-----  1 anbog anbog       9053 May 27  2019 install-output.txt
-rw-r--r--  1 anbog anbog       3128 Jun 19 16:12 install.py
-rwxr-xr-x  1 anbog anbog      14290 Jun 19 16:12 install.sh
lrwxrwxrwx  1 anbog anbog         43 Jun 19 16:12 lib -> deps/anaconda/envs/cryosparc_master_env/lib
-rw-r--r--  1 anbog anbog      15621 Jun 19 16:12 patch.py
drwxrwxr-x  2 anbog anbog       4096 Aug 20 12:54 __pycache__
drwxr-x---  3 anbog anbog       4096 Aug 20 12:53 run
-rw-r--r--  1 anbog anbog       4072 Jun 19 16:12 setup_client_ipython.py
-rw-r--r--  1 anbog anbog       4294 Jun 19 16:12 supervisord.conf
drwxr-xr-x  2 anbog anbog       4096 Jun 19 16:12 systemd
-rw-r--r--  1 anbog anbog          7 Jun 19 16:30 version

or

ls -al /opt/bioxray/programs/cryosparc2/cryosparc2_worker/
total 68
drwxrwxr-x  9 anbog      anbog      4096 Aug 20 12:54 .
drwxr-xr-x  3 cryosparc2 cryosparc2 4096 Dec  9  2022 ..
drwxr-xr-x  2 anbog      anbog      4096 Jun 19 16:12 bin
-rwxr-xr-x  1 anbog      anbog      5437 Jun 19 16:12 check_install_deps.sh
-rw-r--r--  1 anbog      anbog       283 Nov  8  2023 config.sh
drwxrwxr-x 15 anbog      anbog      4096 Aug 20 13:08 cryosparc_compute
drwxrwxr-x  4 anbog      anbog      4096 Aug 20 12:54 cryosparc_tools
drwxr-xr-x  4 anbog      anbog      4096 Sep 11  2024 deps
drwxr-xr-x  4 anbog      anbog      4096 Jun 19 16:30 deps_bundle
drwxr-xr-x  4 anbog      anbog      4096 Jun 19 16:30 deps_bundle_hashes
drwxr-xr-x  4 anbog      anbog      4096 Dec 10  2020 deps_hashes
-rw-rw-r--  1 anbog      anbog      7122 Aug 31  2023 environment.yml
-rwxr-xr-x  1 anbog      anbog      4859 Jun 19 16:12 install.sh
lrwxrwxrwx  1 anbog      anbog        43 Jun 19 16:12 lib -> deps/anaconda/envs/cryosparc_worker_env/lib
-rw-r--r--  1 anbog      anbog         7 Jun 19 16:30 version

Thanks for posting these outputs. I am unfortunately still not able to tell what is causing the problems during patching.
Please can you run the following commands

csm="/opt/cryosparc2/cryosparc2_master/bin/cryosparcm"
cd $(mktemp -d)
(
$csm patch --download
ls -l $(dirname $(dirname $csm))/cryosparc_master_patch.tar.gz
bash -x $csm patch --install
$csm status
) 2>patch.err | tee patch.out
pwd # note path to retrieve out an err files

and email us the patch.out and patch.err files.

I manage an instance running the CUDA12 branch (v4.7.1-cuda12) and by mistake I patched it with patch 250814, but now I saw that I should have applied patch 250811 instead. What should I do now?

@daniel.s.d.larsson If you used the standard the standard CryoSPARC patch procedure, there is no harm in applying the (-cuda12-specific) 250814 patch to a v4.7.1-cuda12 installation.

1 Like