Summary of what happened:
I submit a batch of subjects on SLURM, one of the subject failed with the node fmap_rpt, other are working fine
Command used (and if a helper script was used, a link to the helper script or the command generated):
module load Apptainer/1.3.5 && \
unset PYTHONPATH && \
export PYTHONDONTWRITEBYTECODE=1 && \
singularity run \
--cleanenv \
--no-home \
--writable-tmpfs \
-B /data/tlei/VOTCLOC/BIDS_new:/bids \
-B /scratch/tlei/VOTCLOC/derivatives_new/fmriprep-25.1.4_main:/output \
-B /scratch/tlei/VOTCLOC/code:/code \
-B /scratch/tlei/fmriprep_tmps_25.1.4_main/.cache/templateflow:/templateflow \
-B /scratch/tlei/fmriprep_tmps_25.1.4_main/.cache/fmriprep:/work \
-B /scratch/tlei/VOTCLOC/BIDS/derivatives/freesurfer-with_t2:/fsdir \
/scratch/tlei/containers/fmriprep_25.1.4.sif \
/bids \
/output \
participant \
--participant-label 10 \
-w /work/ \
-vv \
--fs-license-file /bids/.license \
--omp-nthreads 10 \
--nthreads 20 \
--mem_mb 50000 \
--skip-bids-validation \
--fs-subjects-dir /fsdir \
--stop-on-first-crash \
--force bbr \
--bold2anat-init t2w \
--output-spaces T1w func MNI152NLin2009cAsym fsnative fsaverage
Version:
25.1.4
Environment (Docker, Singularity / Apptainer, custom installation):
Singularity run by Apptainer/1.3.5
Data formatted according to a validatable standard? Please provide the output of the validator:
I wasn't run bids-validator, my dataset success for a couple of previous runs so I don't think the problem will be due to BIDS format
Relevant log outputs (up to 20 lines):
Traceback:
Traceback (most recent call last):
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nipype/interfaces/base/core.py", line 402, in run
runtime = self._post_run_hook(runtime)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nipype/interfaces/mixins/reporting.py", line 49, in _post_run_hook
self._generate_report()
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/sdcflows/interfaces/reportlets.py", line 121, in _generate_report
plot_registration(
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/sdcflows/viz/utils.py", line 87, in plot_registration
svg = extract_svg(display, compress=compress)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nireports/reportlets/utils.py", line 247, in extract_svg
image_svg = svg2str(display_object, dpi)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nireports/reportlets/utils.py", line 178, in svg2str
figure.savefig(image_buf, dpi=dpi, format="svg", facecolor="k", edgecolor="k")
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/figure.py", line 3490, in savefig
self.canvas.print_figure(fname, **kwargs)
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/backend_bases.py", line 2184, in print_figure
result = print_method(
^^^^^^^^^^^^^
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/backend_bases.py", line 2040, in <lambda>
print_method = functools.wraps(meth)(lambda *args, **kwargs: meth(
^^^^^
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/backends/backend_svg.py", line 1351, in print_svg
self.figure.draw(renderer)
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/artist.py", line 94, in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
return draw(artist, renderer)
^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/figure.py", line 3246, in draw
artists = self._get_draw_artists(renderer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/matplotlib/figure.py", line 166, in _get_draw_artists
ax.apply_aspect(locator(ax, renderer) if locator else None)
^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/fmriprep/lib/python3.12/site-packages/nilearn/plotting/displays/_slicers.py", line 1586, in _locator
[[left_dict[axes], y0], [left_dict[axes] + width_dict[axes], y1]]
~~~~~~~~~^^^^^^
KeyError: <Axes: >
Screenshots / relevant information:
I pass the flag --stop-on-first-crash, I know that this error is a rendering problem of the fmap, can I not pass this flag and simply run the jobs? This won’t influence the final result right? Or it is because that the fmap estimation is bad and it makes it hard to render the result?