fmriprep: --nthreads 1 --omp-nthreads 1 apparently leading to deadlock

From https://github.com/poldracklab/fmriprep/issues/1738#issuecomment-528358469:

In my limited testing so far, this does seem to prevent the error from popping up, but also seems to cause fmriprep to just stall at [Node] Running "raw_sources" ("nipype.interfaces.utility.wrappers.Function") for about 18 hours now.

From https://github.com/poldracklab/fmriprep/issues/1738#issuecomment-528382919:

Okay, my fault. I still had --nthreads 1 --omp-nthreads 1 in my command when testing that and it seems to interact poorly. Now with that removed it does seem to run and does get past the previous error location. I’m going to run it a few more times to ensure that it continues getting past that portion of the processing each time.

This function is found here:

def _bids_relative(in_files, bids_root):
    from pathlib import Path
    if not isinstance(in_files, (list, tuple)):
        in_files = [in_files]
    in_files = [str(Path(p).relative_to(bids_root)) for p in in_files]
    return in_files

Which should not cause a stall.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 29 (14 by maintainers)

Most upvoted comments

If the task terminates and you have an HTML report that reports no errors, then you’re set. But I agree, we should print a clear completion message.

singularity run /tmp/fmriprep-1.4.1.simg $PWD --fs-license-file=/home/slab/license.txt --participant-label=sub-NDARINVZZZNB0XC --nthreads 1 --omp-nthreads 1 -vvvv --use-plugin /tmp/fmriprep/workaround.yml output participant

where the workaround.yml file is what was suggested in the other issue thread.