fMRIPrep_25.1.3 Node_conf failed to run on host

Summary of what happened:

I am running fMRIPrep 25.1.3 on one subject with multiple sessions.
Processing works fine for sessions 01–07, but when it reaches session 08, I get an error stating:

conf_plot failed to run on the host

I previously ran the same batch successfully with slightly different parameters:

  • Earlier run: used only T1w images (no T2w) and did not pass the --dummy-scans flag to fMRIPrep.
  • Current run:
    • Use a BIDS filter JSON to instruct fMRIPrep to use both T1w and T2w images from ses-01 for the FreeSurfer recon-all step.
    • Added the flag --dummy-scans 5.

From the logs, it appears that the problem happens when computing the confounds, as the carpet plot output is missing from the figures directory for session 08.

Command used (and if a helper script was used, a link to the helper script or the command generated):

 module load Apptainer/1.2.4 && unset PYTHONPATH && singularity run --cleanenv --no-home --writable-tmpfs -B /scratch/tlei/VOTCLOC/BIDS:/base -B /scratch/tlei/VOTCLOC/code:/code -B /scratch/tlei/fmriprep_tmps_one_ses_anat_T1_T2_dummyscans5/.cache/templateflow:/templateflow -B /scratch/tlei/fmriprep_tmps_one_ses_anat_T1_T2_dummyscans5/.cache/fmriprep:/work /scratch/tlei/containers/fmriprep_25.1.3.sif /base /base/derivatives/fmriprep-25.1.3_one_ses_anat_T1_T2_dummyscans5 participant --participant-label 02 -w /work/ -vv --fs-license-file /base/.license --omp-nthreads 10 --nthreads 20 --mem_mb 50000 --skip-bids-validation --fs-subjects-dir /base/derivatives/freesurfer --dummy-scans 5 --stop-on-first-crash --bids-filter-file /code/fmriprep/bids_filter_sub-02.json --output-spaces T1w func MNI152NLin2009cAsym fsnative fsaverage



{
   "t1w":{"datatype":"anat","suffix":"T1w", "session":["01"]},
   "bold":{"datatype":"func","suffix":"bold", "session":["01","02","03","04","05","06","07","08","09","10"]},
   "fmap": {"datatype": "fmap", "session":["01","02","03","04","05","06","07","08","09","10"]},
   "sbref": {"datatype": "func", "suffix": "sbref", "session":["01","02","03","04","05","06","07","08","09","10"]}

Version:

25.1.3

Environment (Docker, Singularity / Apptainer, custom installation):

Apptainer

Relevant log outputs (up to 20 lines):

250808-07:06:53,741 nipype.workflow INFO:
	 [Node] Executing "ds_confounds" <fmriprep.interfaces.DerivativesDataSink>
250808-07:06:53,752 nipype.workflow INFO:
	 [Node] Finished "ds_confounds", elapsed time 0.009869s.
250808-07:06:53,757 nipype.workflow INFO:
	 [Job 29078] Completed (fmriprep_25_1_wf.sub_02_wf.bold_ses_07_task_retRW_run_02_wf.ds_confounds).
250808-07:06:55,561 nipype.workflow INFO:
	 [Node] Setting-up "_sampler0" in "/work/fmriprep_25_1_wf/sub_02_wf/bold_ses_03_task_fLoc_run_05_wf/bold_surf_wf/_target_fsnative/sampler/mapflow/_sampler0".
250808-07:06:55,563 nipype.workflow INFO:
	 [Node] Setting-up "_sampler1" in "/work/fmriprep_25_1_wf/sub_02_wf/bold_ses_03_task_fLoc_run_05_wf/bold_surf_wf/_target_fsnative/sampler/mapflow/_sampler1".
250808-07:06:55,566 nipype.workflow INFO:
	 [Node] Setting-up "_acc_msk_bin1" in "/work/fmriprep_25_1_wf/sub_02_wf/bold_ses_08_task_fLoc_run_08_wf/bold_confounds_wf/acc_msk_bin/mapflow/_acc_msk_bin1".
250808-07:06:55,574 nipype.workflow INFO:
	 [Node] Executing "_sampler1" <nipype.interfaces.freesurfer.utils.SampleToSurface>
250808-07:06:55,577 nipype.workflow INFO:
	 [Node] Executing "_sampler0" <nipype.interfaces.freesurfer.utils.SampleToSurface>
250808-07:06:55,585 nipype.workflow INFO:
	 [Node] Executing "_acc_msk_bin1" <niworkflows.interfaces.nibabel.Binarize>
250808-07:06:55,590 nipype.workflow ERROR:
	 Node conf_plot failed to run on host hyperion-289.
250808-07:06:55,598 nipype.workflow ERROR:
	 Saving crash info to /base/derivatives/fmriprep-25.1.3_one_ses_anat_T1_T2_dummyscans5/sub-02/log/20250807-191932_6494025d-0865-4b16-b017-7342dfb776fb/crash-20250808-070655-tlei-conf_plot-238d45d3-e733-4069-8e4e-9026c2e30c3a.txt
Traceback (most recent call last):
  File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nipype/pipeline/engine/nodes.py", line 525, in run
    result = self._run_interface(execute=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nipype/pipeline/engine/nodes.py", line 643, in _run_interface
    return self._run_command(execute)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nipype/pipeline/engine/nodes.py", line 769, in _run_command
    raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node conf_plot.

Traceback:
	Traceback (most recent call last):
	  File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nipype/interfaces/base/core.py", line 401, in run
	    runtime = self._run_interface(runtime)
	              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	  File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/fmriprep/interfaces/confounds.py", line 591, in _run_interface
	    ).plot()
	      ^^^^^^
	  File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nireports/reportlets/modality/func.py", line 105, in plot
	    figure = plt.figure(figsize=(19.2, sum(height_ratios)))
	             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	  File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/pyplot.py", line 1033, in figure
	    _api.warn_external(
	  File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/_api/__init__.py", line 391, in warn_external
	    warnings.warn(message, category, **kwargs)
	TypeError: _warn() got an unexpected keyword argument 'skip_file_prefixes'

Screenshots / relevant information:


This is fixed in 25.1.4.

OK! I will try it! Many thanks!