SIGSEGV error during reference based motion correction, just after refmotion_hyperparameters

Dear Cryosparc Team,

We are running cryosparc on a HPC resource for a multi-user environment. Currently we have 5.0.7+260921 installed, but the error already occurred with a previous 4.7.0 installation – and was the reason for us doing a fresh install with the most recent version .

Independent of the dataset, user and compute node architecture we consistently get a SIGSEGV error during reference based motion correction jobs. This error apparently occurs after calculation of hyperparameters (as we do get a downloadable refmotion_hyperparameters output file) but before doseweights are calculated (the download link leads to a blank). Interestingly, other job types run without problem s

What did we already tr y:

Environment we are using:

Both the A100 and the H100 nodes are running on driver 615.71.10 with CUDA 13.4 (as reported by nvidia-smi and confirmed by logfile during worker installation).

On a worker node (A100 type):

ramses31907 15:46:05 /projects/strubitem/software/cryosparc-5.0.7/cryosparc_worker [0]$ eval $(./bin/cryosparcw env)
ramses31907 15:47:36 /projects/strubitem/software/cryosparc-5.0.7/cryosparc_worker [0]$ env | grep PATH
__MODULES_SHARE_MODULEPATH=/projects/strubitem/modules/3DEM:2
MANPATH=/usr/share/man:
__MODULES_SHARE_MANPATH=:1
CRYOSPARC_DB_PATH=/projects/strubitem/databases/v2027
PYTHONPATH=/projects/strubitem/software/cryosparc-5.0.7/cryosparc_worker
MODULES_RUN_QUARANTINE=LD_LIBRARY_PATH LD_PRELOAD
NUMBA_CUDA_INCLUDE_PATH=/projects/strubitem/software/cryosparc-5.0.7/cryosparc_worker/.pixi/envs/worker/include
DEBUGINFOD_IMA_CERT_PATH=/etc/keys/ima:
PATH=/projects/strubitem/software/cryosparc-5.0.7/cryosparc_worker/.pixi/envs/worker/bin:/projects/sw/eb/bin:/projects/sw/eb/bin:/projects/strubitem/software/cryosparc-5.0.7/cryosparc_master/deps/external/mongodb/bin:/projects/strubitem/software/cryosparc-5.0.7/cryosparc_master/bin:/projects/strubitem/software/cryosparc-5.0.7/cryosparc_master/.pixi/envs/master/bin:/projects/strubitem/software/cryosparc-current/cryosparc_master/bin:/home/ebehrman/.local/bin:/home/ebehrman/bin:/projects/sw/eb/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
MODULEPATH=/etc/scl/modulefiles:/etc/scl/modulefiles:/projects/sw/eb/arch/zen4/modules/ai:/projects/sw/eb/arch/zen4/modules/bio:/projects/sw/eb/arch/zen4/modules/cae:/projects/sw/eb/arch/zen4/modules/chem:/projects/sw/eb/arch/zen4/modules/compiler:/projects/sw/eb/arch/zen4/modules/data:/projects/sw/eb/arch/zen4/modules/devel:/projects/sw/eb/arch/zen4/modules/geo:/projects/sw/eb/arch/zen4/modules/lang:/projects/sw/eb/arch/zen4/modules/lib:/projects/sw/eb/arch/zen4/modules/math:/projects/sw/eb/arch/zen4/modules/mpi:/projects/sw/eb/arch/zen4/modules/numlib:/projects/sw/eb/arch/zen4/modules/perf:/projects/sw/eb/arch/zen4/modules/phys:/projects/sw/eb/arch/zen4/modules/system:/projects/sw/eb/arch/zen4/modules/tobedone:/projects/sw/eb/arch/zen4/modules/toolchain:/projects/sw/eb/arch/zen4/modules/tools:/projects/sw/eb/arch/zen4/modules/vis:/etc/scl/modulefiles:/projects/sw/noeb/arch/zen4/modules:/projects/ramses-software/modules:/usr/share/Modules/modulefiles:/etc/modulefiles:/usr/share/modulefiles:/projects/strubitem/modules/3DEM
ramses31907 15:47:44 /projects/strubitem/software/cryosparc-5.0.7/cryosparc_worker [0]$ uname -a
Linux ramses31907 5.14.0-570.150.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Oct 19 09:39:38 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux
ramses31907 15:47:50 /projects/strubitem/software/cryosparc-5.0.7/cryosparc_worker [0]$ free -g
               total        used        free      shared  buff/cache   available
Mem:             503          21         483           0           2         481
Swap:              3           0           3
ramses31907 15:47:55 /projects/strubitem/software/cryosparc-5.0.7/cryosparc_worker [0]$ nvidia-smi
Thu Nov  5 15:48:01 2026       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 615.71.10              KMD Version: 615.71.10     CUDA UMD Version: 13.4     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A100-PCIE-40GB          On  |   00000000:81:00.0 Off |                   On |
| N/A   28C    P0             32W /  250W |     203MiB /  40960MiB |     N/A      Default |
|                                         |                        |              Enabled |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| MIG devices:                                                                            |
+------------------+----------------------------------+-----------+-----------------------+
| GPU  GI  CI  MIG |              Shared Memory-Usage |        Vol|        Shared         |
|      ID  ID  Dev |                Shared BAR1-Usage | SM     Unc| CE ENC  DEC  OFA  JPG |
|                  |                                  |        ECC|                       |
|==================+==================================+===========+=======================|
|  0    1   0   0  |             102MiB / 20096MiB    | 42      0 |  3   0    2    0    0 |
|                  |               0MiB / 12196MiB    |           |                       |
+------------------+----------------------------------+-----------+-----------------------+
|  0    2   0   1  |             102MiB / 20096MiB    | 42      0 |  3   0    2    0    0 |
|                  |               0MiB / 12196MiB    |           |                       |
+------------------+----------------------------------+-----------+-----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

Representative job log:

================= CRYOSPARC =================
Project P1 Job J38
Master ramses4.host Port 61000
===========================================================================
MAIN PROCESS PID 644996
2026-11-05 02:46:49,330 core                 monitor          INFO   | MONITOR PROCESS PID 645006
2026-11-05 02:46:49,330 core                 monitor          INFO   | ========= monitor process now waiting for main process
2026-11-05 02:46:49,330 core                 heartbeat        INFO   | ========= Updating heartbeat
================= CRYOSPARC =================
Project P1 Job J38
Master ramses4.host Port 61000
===========================================================================
MAIN PROCESS PID 644996
========= updating job startup information at 2026-11-05 02:46:49.953626
========= now starting main process at 2026-11-05 02:46:51.158363
2026-11-05 02:46:51,621 core                 run              INFO   | Running job J38 of type reference_motion_correction
2026-11-05 02:46:51,621 core                 run              INFO   | Running job on hostname ramses_gpus
2026-11-05 02:46:51,626 core                 run              INFO   | Allocated Resources: lane='ramses_gpus' lane_type='cluster' hostname='ramses_gpus' target=SchedulerTarget(cache_path='/local/', cache_reserve_mb=10000, cache_quota_mb=None, lane='ramses_gpus', name='ramses_gpus', title='ramses_gpus', desc=None, hostname='ramses_gpus', worker_bin_path='/projects/strubitem/software/cryosparc-current/cryosparc_worker/bin/cryosparcw', config=Cluster(send_cmd_tpl='{{ command }}', qsub_cmd_tpl='sbatch {{ script_path_abs }}', qstat_cmd_tpl='squeue -j {{ cluster_job_id }}', qdel_cmd_tpl='scancel {{ cluster_job_id }}', qinfo_cmd_tpl="sinfo --format='%.8N %.6D %.10P %.6T %.14C %.5c %.6z %.7m %.7G %.9d %20E'", type='cluster', script_tpl='#!/usr/bin/env bash\n#### cryoSPARC cluster submission script template for SLURM\n## Available variables:\n## {{ run_cmd }}            - the complete command string to run the job\n## {{ num_cpu }}            - the number of CPUs needed\n## {{ num_gpu }}            - the number of GPUs needed.\n##                            Note: the code will use this many GPUs starting from dev id 0\n##                                  the cluster scheduler or this script have the responsibility\n##                                  of setting CUDA_VISIBLE_DEVICES so that the job code ends up\n##                                  using the correct cluster-allocated GPUs.\n## {{ ram_gb }}             - the amount of RAM needed in GB\n## {{ job_dir_abs }}        - absolute path to the job directory\n## {{ project_dir_abs }}    - absolute path to the project dir\n## {{ job_log_path_abs }}   - absolute path to the log file for the job\n## {{ worker_bin_path }}    - absolute path to the cryosparc worker command\n## {{ run_args }}           - arguments to be passed to cryosparcw run\n## {{ project_uid }}        - uid of the project\n## {{ job_uid }}            - uid of the job\n## {{ job_creator }}        - name of the user that created the job (may contain spaces)\n## {{ cryosparc_username }} - cryosparc username of the user that created the job (usually an email)\n##\n## What follows is a simple SLURM script:\n\n#SBATCH --job-name cryosparc_{{ project_uid }}_{{ job_uid }}\n#SBATCH --time={{ (wallhours|default(48))|int }}:00:00\n#SBATCH --partition=gpu\n\n#SBATCH --output={{ job_log_path_abs }}\n#SBATCH --error={{ job_log_path_abs }}\n\n#SBATCH --nodes=1\n#SBATCH --ntasks-per-node=1\n#SBATCH --cpus-per-task={{ num_cpu }}\n#SBATCH --mem={{ (ram_gb|float * (ram_multiplier|default(2))|float)|int}}G\n\n#SBATCH --gres localtmp:{{ (ssd_space|default(100))|int}}g\n#SBATCH --gpus=h100_2g.24gb:{{ num_gpu }}\n#SBATCH --gres-flags=enforce-binding\n\nmodule load cryosparc-current\nexport CUSTOM_DYNAMIC_SSD_PATH="/local/${SLURM_JOB_USER}.${SLURM_JOB_ID}"\n\n{{ run_cmd }}\n', custom_vars={'ram_multiplier': '3', 'ssd_space': '150', 'wallhours': '48'}, tpl_vars=['run_cmd', 'job_dir_abs', 'ram_gb', 'num_gpu', 'worker_bin_path', 'ram_multiplier', 'run_args', 'command', 'wallhours', 'job_log_path_abs', 'job_uid', 'cluster_job_id', 'num_cpu', 'project_dir_abs', 'cryosparc_username', 'project_uid', 'job_creator', 'ssd_space'], custom_var_names=['ram_multiplier', 'wallhours', 'ssd_space'])) slots=ResourceSlots(CPU=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], GPU=[0, 1, 2], RAM=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) fixed=FixedResourceSlots(SSD=False) licenses_acquired=3
2026-11-05 02:46:59,980 core                 heartbeat        INFO   | ========= Updating heartbeat
Transparent hugepages setting: [always] madvise never

Running job on hostname %s ramses_gpus
Allocated Resources :  lane='ramses_gpus' lane_type='cluster' hostname='ramses_gpus' target=SchedulerTarget(cache_path='/local/', cache_reserve_mb=10000, cache_quota_mb=None, lane='ramses_gpus', name='ramses_gpus', title='ramses_gpus', desc=None, hostname='ramses_gpus', worker_bin_path='/projects/strubitem/software/cryosparc-current/cryosparc_worker/bin/cryosparcw', config=Cluster(send_cmd_tpl='{{ command }}', qsub_cmd_tpl='sbatch {{ script_path_abs }}', qstat_cmd_tpl='squeue -j {{ cluster_job_id }}', qdel_cmd_tpl='scancel {{ cluster_job_id }}', qinfo_cmd_tpl="sinfo --format='%.8N %.6D %.10P %.6T %.14C %.5c %.6z %.7m %.7G %.9d %20E'", type='cluster', script_tpl='#!/usr/bin/env bash\n#### cryoSPARC cluster submission script template for SLURM\n## Available variables:\n## {{ run_cmd }}            - the complete command string to run the job\n## {{ num_cpu }}            - the number of CPUs needed\n## {{ num_gpu }}            - the number of GPUs needed.\n##                            Note: the code will use this many GPUs starting from dev id 0\n##                                  the cluster scheduler or this script have the responsibility\n##                                  of setting CUDA_VISIBLE_DEVICES so that the job code ends up\n##                                  using the correct cluster-allocated GPUs.\n## {{ ram_gb }}             - the amount of RAM needed in GB\n## {{ job_dir_abs }}        - absolute path to the job directory\n## {{ project_dir_abs }}    - absolute path to the project dir\n## {{ job_log_path_abs }}   - absolute path to the log file for the job\n## {{ worker_bin_path }}    - absolute path to the cryosparc worker command\n## {{ run_args }}           - arguments to be passed to cryosparcw run\n## {{ project_uid }}        - uid of the project\n## {{ job_uid }}            - uid of the job\n## {{ job_creator }}        - name of the user that created the job (may contain spaces)\n## {{ cryosparc_username }} - cryosparc username of the user that created the job (usually an email)\n##\n## What follows is a simple SLURM script:\n\n#SBATCH --job-name cryosparc_{{ project_uid }}_{{ job_uid }}\n#SBATCH --time={{ (wallhours|default(48))|int }}:00:00\n#SBATCH --partition=gpu\n\n#SBATCH --output={{ job_log_path_abs }}\n#SBATCH --error={{ job_log_path_abs }}\n\n#SBATCH --nodes=1\n#SBATCH --ntasks-per-node=1\n#SBATCH --cpus-per-task={{ num_cpu }}\n#SBATCH --mem={{ (ram_gb|float * (ram_multiplier|default(2))|float)|int}}G\n\n#SBATCH --gres localtmp:{{ (ssd_space|default(100))|int}}g\n#SBATCH --gpus=h100_2g.24gb:{{ num_gpu }}\n#SBATCH --gres-flags=enforce-binding\n\nmodule load cryosparc-current\nexport CUSTOM_DYNAMIC_SSD_PATH="/local/${SLURM_JOB_USER}.${SLURM_JOB_ID}"\n\n{{ run_cmd }}\n', custom_vars={'ram_multiplier': '3', 'ssd_space': '150', 'wallhours': '48'}, tpl_vars=['run_cmd', 'job_dir_abs', 'ram_gb', 'num_gpu', 'worker_bin_path', 'ram_multiplier', 'run_args', 'command', 'wallhours', 'job_log_path_abs', 'job_uid', 'cluster_job_id', 'num_cpu', 'project_dir_abs', 'cryosparc_username', 'project_uid', 'job_creator', 'ssd_space'], custom_var_names=['ram_multiplier', 'wallhours', 'ssd_space'])) slots=ResourceSlots(CPU=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], GPU=[0, 1, 2], RAM=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) fixed=FixedResourceSlots(SSD=False) licenses_acquired=3
FSC No-Mask...         0.143 at 92.929 radwn. 0.5 at 78.132 radwn. Took 0.344s.
FSC With Mask...      0.143 at 98.500 radwn. 0.5 at 97.680 radwn. Took 0.146s.
2026-11-05 02:47:10,040 core                 heartbeat        INFO   | ========= Updating heartbeat
gpufft: creating new cufft plan (plan id 0   pid 644996) 
	gpu_id  0 
	ndims   3 
	dims    200 200 200 
	inembed 200 200 202 
	istride 1 
	idist   8080000 
	onembed 200 200 101 
	ostride 1 
	odist   4040000 
	batch   1 
	type    R2C 
	wkspc   automatic 
	Python traceback:

/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/lib/python3.12/site-packages/numba/cuda/cudadrv/nvrtc.py:257: UserWarning: NVRTC log messages whilst compiling kernel:

kernel(963): warning #177-D: variable "Nb2p1" was declared but never referenced
      int Nb2p1 = Nb2 + 1;
          ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"


  warnings.warn(msg)
WARNING: io_uring support disabled (not supported by kernel), I/O performance may degrade

refmotion worker 4 (NVIDIA H100 MIG 2g.24gb)
scale (alpha):        6.831359
noise model (sigma2): 140.951462
     TIME (s)  SECTION
  0.000022440  sanity
  0.389275663  read movie
  0.000002340  get gain, defects
  0.087467881  read bg
  0.001379703  read rigid
  0.359411989  prep_movie
  0.477621511  extract from frames
  0.000312858  extract from refs
  0.000000270  adj
  0.000000020  bfactor
  0.003718332  rigid motion correct
  0.000174479  get noise, scale
  1.319387488  --- TOTAL ---

[….]

refmotion worker 5 (NVIDIA H100 MIG 2g.24gb)
Min BFGS iterations:  241
Max BFGS iterations:  675
 AVG TIME (s)  SECTION
  0.000000000  Cache IO
  0.128127276  Optimize trajectories
  0.009243391  Compute cross-validation
  0.001075238  Save trajectory
  0.138445905  --- TOTAL (Cros-Val) ---


refmotion worker 5 (NVIDIA H100 MIG 2g.24gb)
Min BFGS iterations:  382
Max BFGS iterations:  549
 AVG TIME (s)  SECTION
  0.000000000  Cache IO
  0.283514511  Optimize trajectories
  0.022660346  Compute cross-validation
  0.001888914  Save trajectory
  0.308063771  --- TOTAL (Cros-Val) ---

Received SIGSEGV (addr=0000000000000000)
/projects/strubitem/software/cryosparc-current/cryosparc_worker/core/ioengine/core.so(traceback_signal_handler+0x113)[0x7fb785fb4873]
/lib64/libc.so.6(+0x3ebf0)[0x7fb79f63ebf0]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/compute/jobs/motion_correction/bin_motion.so(+0x11520)[0x7fb7500fe520]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/core/ioengine/../../lib/libgomp.so.1(GOMP_parallel+0x43)[0x7fb78d0d0c42]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/compute/jobs/motion_correction/bin_motion.so(fspace_herm_rot_sum_real_AconjB+0x1d4)[0x7fb75011e164]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/compute/jobs/motion_correction/bin_motion.so(read_movie_reconstruct_particles+0x2611)[0x7fb750125fb1]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/compute/jobs/motion_correction/bin_motion.so(refmotion_pipeline_worker+0x4b6)[0x7fb750128016]
/lib64/libc.so.6(+0x8a19a)[0x7fb79f68a19a]
/lib64/libc.so.6(+0x10f100)[0x7fb79f70f100]
rax 0000000000000000  rbx 0000000000000000  rcx 0000000000000000  rdx 00007e307fb5ae00  
rsi 0000000000007da0  rdi 00007faed000ee84  rbp 00007fb6d5ff9da0  rsp 00007fb6d5ff9ce0  
r8  0000000000000190  r9  0000000000000027  r10 00000000000000c9  r11 0000000000000212  
r12 0000000000001f67  r13 0000000000000004  r14 0000000000001f68  r15 00007fb6d5ff9e60  
8b 0c c1 49 83 fc 02 0f 86 53 03 00 00 48 8d 71 04 48 89 d0 48 29 f0 48 83 f8 18 0f 86
3f 03 00 00 49 83 fc 06 0f 86 b4 03 00 00 48 8b 74 24 78 31 c0 48 c1 e6 05 66 2e 0f 1f
84 00 00 00 00 00
-->   c5 fc 10 04 01 c5 fc 58 04 02 c5 fc 11 04 02 48 83 c0 20 48 39 f0 75 e8 48 8b 44
24 70 48 89 c6 41 f6 c6 07 0f 84 6d 03 00 00 48 83 7c 24 58 02 48 8b 7c 24 60 0f 86 70
03 00 00 c5 f8 77 4c 8d


Thanks for the report @doesnotdiffract .
Please can you post the output of this command

for item in version, type, status, started_at; do cryosparcm cli "api.jobs.find_one('P51', 'J2').$item"; done

Sure @wtempel . I’ve changed project and job number to match the job in the logfile above:

ramses31907 07:53:40 /projects/strubitem/scripts/cryosparc/ [0]$ for item in version, type, status, started_at; do cryosparcm cli “api.jobs.find_one(‘P1’, ‘J38’).$item”; done
[“v5.0.7+260921”]
[“reference_motion_correction”]
[“failed”]
“2026-11-05T01:46:50.023000+00:00”

After the update to 5.0.7 also Patch Motion jobs seem to be affected (this was not an issue with our 4.7.0 installation), and reports a SIGABRT. Refinements, Ab-Initios, 2D classification, etc work fine.

================= CRYOSPARC =================
Project P1 Job J65
Master ramses4.host Port 61000
===========================================================================
MAIN PROCESS PID 1720741
2026-11-06 08:24:04,749 core                 monitor          INFO   | MONITOR PROCESS PID 1720750
2026-11-06 08:24:04,749 core                 monitor          INFO   | ========= monitor process now waiting for main process
2026-11-06 08:24:04,750 core                 heartbeat        INFO   | ========= Updating heartbeat
================= CRYOSPARC =================
Project P1 Job J65
Master ramses4.host Port 61000
===========================================================================
MAIN PROCESS PID 1720741
========= updating job startup information at 2026-11-06 08:24:05.491202
========= now starting main process at 2026-11-06 08:24:06.405740
2026-11-06 08:24:07,184 core                 run              INFO   | Running job J65 of type patch_motion_correction_multi
2026-11-06 08:24:07,185 core                 run              INFO   | Running job on hostname stubitem_gpus
2026-11-06 08:24:07,190 core                 run              INFO   | Allocated Resources: lane='stubitem_gpus' lane_type='cluster' hostname='stubitem_gpus' target=SchedulerTarget(cache_path='/local/', cache_reserve_mb=10000, cache_quota_mb=None, lane='stubitem_gpus', name='stubitem_gpus', title='strubitem_gpus', desc=None, hostname='stubitem_gpus', worker_bin_path='/projects/strubitem/software/cryosparc-current/cryosparc_worker/bin/cryosparcw', config=Cluster(send_cmd_tpl='{{ command }}', qsub_cmd_tpl='sbatch {{ script_path_abs }}', qstat_cmd_tpl='squeue -j {{ cluster_job_id }}', qdel_cmd_tpl='scancel {{ cluster_job_id }}', qinfo_cmd_tpl="sinfo --format='%.8N %.6D %.10P %.6T %.14C %.5c %.6z %.7m %.7G %.9d %20E'", type='cluster', script_tpl='#!/usr/bin/env bash\n#### cryoSPARC cluster submission script template for SLURM\n## Available variables:\n## {{ run_cmd }}            - the complete command string to run the job\n## {{ num_cpu }}            - the number of CPUs needed\n## {{ num_gpu }}            - the number of GPUs needed.\n##                            Note: the code will use this many GPUs starting from dev id 0\n##                                  the cluster scheduler or this script have the responsibility\n##                                  of setting CUDA_VISIBLE_DEVICES so that the job code ends up\n##                                  using the correct cluster-allocated GPUs.\n## {{ ram_gb }}             - the amount of RAM needed in GB\n## {{ job_dir_abs }}        - absolute path to the job directory\n## {{ project_dir_abs }}    - absolute path to the project dir\n## {{ job_log_path_abs }}   - absolute path to the log file for the job\n## {{ worker_bin_path }}    - absolute path to the cryosparc worker command\n## {{ run_args }}           - arguments to be passed to cryosparcw run\n## {{ project_uid }}        - uid of the project\n## {{ job_uid }}            - uid of the job\n## {{ job_creator }}        - name of the user that created the job (may contain spaces)\n## {{ cryosparc_username }} - cryosparc username of the user that created the job (usually an email)\n##\n## What follows is a simple SLURM script:\n\n#SBATCH --job-name cryosparc_{{ project_uid }}_{{ job_uid }}\n#SBATCH --time={{ (wallhours|default(48))|int }}:00:00\n#SBATCH --partition=strubitem-exclusive\n\n#SBATCH --output={{ job_log_path_abs }}\n#SBATCH --error={{ job_log_path_abs }}\n\n#SBATCH --nodes=1\n#SBATCH --ntasks-per-node=1\n#SBATCH --cpus-per-task={{ num_cpu }}\n#SBATCH --mem={{ (ram_gb|float * (ram_multiplier|default(2))|float)|int}}G\n\n#SBATCH --gres localtmp:{{ (ssd_space|default(100))|int}}g\n#SBATCH --gpus=a100_3g.20gb:{{ num_gpu }}\n#SBATCH --gres-flags=enforce-binding\n\nmodule use -a /projects/strubitem/modules/3DEM\nmodule load cryosparc/current\nexport CUSTOM_DYNAMIC_SSD_PATH="/local/${SLURM_JOB_USER}.${SLURM_JOB_ID}"\n\n{{ run_cmd }}\n', custom_vars={}, tpl_vars=['ssd_space', 'cryosparc_username', 'run_args', 'cluster_job_id', 'wallhours', 'run_cmd', 'job_uid', 'worker_bin_path', 'project_uid', 'ram_gb', 'job_creator', 'ram_multiplier', 'project_dir_abs', 'num_gpu', 'num_cpu', 'job_log_path_abs', 'job_dir_abs', 'command'], custom_var_names=['ssd_space', 'wallhours', 'ram_multiplier'])) slots=ResourceSlots(CPU=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], GPU=[0, 1], RAM=[0, 1, 2, 3]) fixed=FixedResourceSlots(SSD=False) licenses_acquired=2
2026-11-06 08:24:15,512 core                 heartbeat        INFO   | ========= Updating heartbeat
Transparent hugepages setting: always [madvise] never

/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/lib/python3.12/site-packages/pymongo/_csot.py:119: UserWarning: MongoClient opened before fork. May not be entirely fork-safe, proceed with caution. See PyMongo's documentation for details: https://www.mongodb.com/docs/languages/python/pymongo-driver/current/faq/#is-pymongo-fork-safe-
  return func(self, *args, **kwargs)
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/lib/python3.12/site-packages/pymongo/_csot.py:119: UserWarning: MongoClient opened before fork. May not be entirely fork-safe, proceed with caution. See PyMongo's documentation for details: https://www.mongodb.com/docs/languages/python/pymongo-driver/current/faq/#is-pymongo-fork-safe-
  return func(self, *args, **kwargs)
WARNING: io_uring support disabled (not supported by kernel), I/O performance may degrade
WARNING: io_uring support disabled (not supported by kernel), I/O performance may degrade
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/lib/python3.12/site-packages/numba/cuda/dispatcher.py:536: NumbaPerformanceWarning: Grid size 4 will likely result in GPU under-utilization due to low occupancy.
  warn(NumbaPerformanceWarning(msg))
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/lib/python3.12/site-packages/numba/cuda/dispatcher.py:536: NumbaPerformanceWarning: Grid size 4 will likely result in GPU under-utilization due to low occupancy.
  warn(NumbaPerformanceWarning(msg))
gpufft: creating new cufft plan (plan id 0   pid 1720861) 
	gpu_id  1 
	ndims   2 
	dims    640 640 0 
	inembed 640 642 0 
	istride 1 
	idist   410880 
	onembed 640 321 0 
	ostride 1 
	odist   205440 
	batch   64 
	type    R2C 
	wkspc   automatic 
	Python traceback:

gpufft: creating new cufft plan (plan id 0   pid 1720858) 
	gpu_id  0 
	ndims   2 
	dims    640 640 0 
	inembed 640 642 0 
	istride 1 
	idist   410880 
	onembed 640 321 0 
	ostride 1 
	odist   205440 
	batch   64 
	type    R2C 
	wkspc   automatic 
	Python traceback:

2026-11-06 08:24:25,526 core                 heartbeat        INFO   | ========= Updating heartbeat
python: compute/sigproc.c:209: spline_diff_3d: Assertion `(char*)p + 4*total_floats_scratch_needed == (char*)a' failed.
Received SIGABRT (addr=0004ceb1001a421a)
/projects/strubitem/software/cryosparc-current/cryosparc_worker/core/ioengine/core.so(traceback_signal_handler+0x113)[0x7f848c1ed873]
/lib64/libc.so.6(+0x3ebf0)[0x7f84a063ebf0]
/lib64/libc.so.6(+0x8bedc)[0x7f84a068bedc]
/lib64/libc.so.6(raise+0x16)[0x7f84a063eb46]
/lib64/libc.so.6(abort+0xd3)[0x7f84a0628833]
/lib64/libc.so.6(+0x2875b)[0x7f84a062875b]
/lib64/libc.so.6(+0x37886)[0x7f84a0637886]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/core/ioengine/core.so(+0x3ef22)[0x7f848c20ff22]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/core/ioengine/core.so(wrap_spline_diff_3d+0x1bd)[0x7f848c21d75d]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x21bc08)[0x559ad4fd1c08]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(_PyObject_MakeTpCall+0x2cc)[0x559ad4fb517c]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x112b23)[0x559ad4ec8b23]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/compute/jobs/motion_correction/patchmotion.cpython-312-x86_64-linux-gnu.so(+0x26034)[0x7f8444144034]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/compute/jobs/motion_correction/patchmotion.cpython-312-x86_64-linux-gnu.so(+0x4c3a4)[0x7f844416a3a4]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/compute/jobs/motion_correction/patchmotion.cpython-312-x86_64-linux-gnu.so(+0x7ee11)[0x7f844419ce11]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(PyObject_Vectorcall+0x2e)[0x559ad4fc7dde]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/compute/jobs/motion_correction/run_patch.cpython-312-x86_64-linux-gnu.so(+0x48f19)[0x7f848c173f19]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/compute/jobs/motion_correction/run_patch.cpython-312-x86_64-linux-gnu.so(+0x58da3)[0x7f848c183da3]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(PyObject_Vectorcall+0x2e)[0x559ad4fc7dde]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x112b23)[0x559ad4ec8b23]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x24523c)[0x559ad4ffb23c]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x244dd0)[0x559ad4ffadd0]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/cli/run.cpython-312-x86_64-linux-gnu.so(+0x1641a)[0x7f849e47641a]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(_PyObject_MakeTpCall+0x2cc)[0x559ad4fb517c]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x112b23)[0x559ad4ec8b23]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x24523c)[0x559ad4ffb23c]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x244dd0)[0x559ad4ffadd0]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x323612)[0x559ad50d9612]
/projects/strubitem/software/cryosparc-current/cryosparc_worker/.pixi/envs/worker/bin/python(+0x3235c4)[0x559ad50d95c4]
/lib64/libc.so.6(+0x8a19a)[0x7f84a068a19a]
/lib64/libc.so.6(+0x10f100)[0x7f84a070f100]
rax 0000000000000000  rbx 00007f846a7fc640  rcx 00007f84a068bedc  rdx 0000000000000006  
rsi 00000000001a4229  rdi 00000000001a421a  rbp 00000000001a4229  rsp 00007f846a7fa1f0  
r8  00007f846a7fa2c0  r9  000a2e64656c6961  r10 0000000000000008  r11 0000000000000246  
r12 0000000000000006  r13 00007f848c226a50  r14 00000000000000d1  r15 00007f84a07b7198  
89 e2 89 c7 89 ee b8 ea 00 00 00 0f 05 89 c5 31 d2 f7 dd 3d 00 f0 ff ff 0f 46 ea e9 7c
ff ff ff 0f 1f 40 00 b8 ba 00 00 00 0f 05 89 c5 e8 42 e9 04 00 44 89 e2 89 ee 89 c7 b8
ea 00 00 00 0f 05
-->   89 c5 f7 dd 3d 00 f0 ff ff b8 00 00 00 00 0f 47 c5 e9 70 ff ff ff 66 0f 1f 44 00
00 4c 89 ef e8 30 b5 ff ff e9 44 ff ff ff 0f 1f 00 4c 89 ef e8 50 b4 ff ff e9 1a ff ff
ff e8 16 12 09 00 66 0f

@wtempel After some discussions with our IT team we might have identified the cause of the RBMC SIGSEGV error. We initially had a 4.7.0 cryosparc installation that was running RBMC without any problems. This had been installed with diver version 560.35.03 and CUDA 12.6.

About at the same time we started noticing RBMC-related issues in our 4.7.0 installation (exact data is hard to trace as we initially believed this to be a dataset-specific problem) our IT team had updated the nodes to driver 615.71.10 with CUDA 13.4. Could there be an incompatiblility of this diver/CUDA combination with code unique to RBMC (and potentially Patch Motion Correction)? Note however that 5.0.7 was installed freshly against the already updated driver/CUDA combination. Might moving to cryosparc 5.1 be a possible solution with the canges to RBMC?