Fmriprep v.21.0.2 and 21.0.1 crash in norm and unifize

Are you there, God? It’s me, Ivan.

I have been encountering issues during preprocessing in the following nodes:

  • fmriprep_wf.single_subject_201_wf.func_preproc_task_spatialmemory_run_11_wf.initial_boldref_wf.enhance_and_skullstrip_bold_wf.unifize
  • fmriprep_wf.single_subject_201_wf.anat_preproc_wf.brain_extraction_wf.norm

I originally ran this on version 21.0.2 and 21.0.1. No dice. I have attached the full crash reports here.

One possible culprit is not including some path after the -B flag in singularity, but I’m a little clueless. Here is the singularity call:

singularity run --cleanenv -B /tmp,/data/p_SoftwareServiceLinux_sc/fmriprep/21.0.2/1,/data/pt_02577/fmriprep_work/,/data/pt_02577/BIDS_dataset/inputs/,/data/pt_02577/BIDS_dataset/derivatives/,/afs/cbs/software/freesurfer/:/afs/cbs/software/freesurfer/licensekeys /data/p_SoftwareServiceLinux_sc/fmriprep/21.0.2/1 /data/pt_02577/BIDS_dataset/inputs/ /data/pt_02577/BIDS_dataset/derivatives/ --n_cpus 2 participant --participant-label 201 --work-dir /data/pt_02577/fmriprep_work/ --fs-license-file /afs/ --verbose --output-layout legacy --resource-monitor --fs-no-reconall --skip_bids_validation

crash-20220623-093928-krasovec-norm-62aa8e50-14bf-40d8-9597-4977d85f66b8.txt (3.9 KB)
crash-20220623-085257-krasovec-unifize-009f794a-26df-418e-8838-8d64c54cf61a.txt (2.3 KB)


1 Like


A few suggestions:

  1. It is not clear why there are so many things being bound to the container. It seems like you could get away just binding /data and /afs.
  2. You have an argument --fs-license-file /afs/ That sounds like the name of a directory, and not a FS lincense txt file. Make sure that whatever goes there points to a valid FS license.
  3. --fs-no-reconall is discouraged. See here.
  4. Can you confirm that the container was built properly?

So, try something like this:

singularity run --cleanenv -B /data,/afs /data/p_SoftwareServiceLinux_sc/fmriprep/21.0.2/1 \
 /data/pt_02577/BIDS_dataset/inputs/ /data/pt_02577/BIDS_dataset/derivatives/ \ 
--n_cpus 2 participant --participant-label 201 --work-dir /data/pt_02577/fmriprep_work/ \ 
--fs-license-file /afs/ \
 --verbose --output-layout legacy --resource-monitor --skip_bids_validation


Thank you for your response!

  1. I agree with the minimal approach. Singularity and fmriprep were happy to eat the simplified command, and the complaint regarding the python path was resolved.
  2. The –fs-license-file path points to the license file for our institution. It otherwise works and I do not get a license error.
  3. I incurred Talairach errors in the past and, until I manually correct those, I am working on getting the code running without reconall more as a proof of concept and to debug any other errors that pop up (and good heavens, there are many). Overall though, I do agree with keeping reconall.
  4. Since correcting the command, I’ll leave the container alone for now.

Thank you again for your input. I also wanted to mention that I see that there is a lot of activity and discussions on Neurostars and GitHub and you all are really wonderful about giving in-depth and informative answers. You guys do good work!


1 Like