Summary of what happened:
Hello - I’m trying to run xcp-d using my laptop (4 cores, 16GB RAM) on an fMRIprep directory living on an external hard drive. Running into a BrokenProcessPool error during regress_and_filter_bold
. From my limited reading this may be a memory error so I tried limiting RAM and using low memory flag but it did not help. Would appreciate any suggestions!
Command used (and if a helper script was used, a link to the helper script or the command generated):
#!/bin/bash
set -euxo pipefail
export FREESURFER_HOME=/Applications/freesurfer/7.2.0
export HOME_DIR=/Volumes/Seagate/
docker run --rm -it \
-v ${HOME_DIR}BIDS/derivatives:/fmriprep:ro \
-v ${HOME_DIR}work_xcp:/work:rw \
-v ${HOME_DIR}BIDS/derivatives/xcp_d:/out:rw \
-v ${FREESURFER_HOME}/license.txt:/out/fs_license:rw \
pennlinc/xcp_d:latest \
/fmriprep /out participant \
--despike -w /work --smoothing 6 --fs-license-file /out/fs_license --mem-gb 15 --low-mem```
Version:
0.7.5
Environment (Docker, Singularity / Apptainer, custom installation):
Docker
Data formatted according to a validatable standard? Please provide the output of the validator:
NA but it's valid from the fMRIprep run.
Relevant log outputs (up to 20 lines):
[Node] Executing "regress_and_filter_bold" <xcp_d.interfaces.nilearn.DenoiseNifti>
exception calling callback for <Future at 0x7fa6c7629e10 state=finished raised BrokenProcessPool>
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 342, in _invoke_callbacks
callback(self)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 159, in _async_callback
result = args.result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 451, in result
return self.__get_result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
exception calling callback for <Future at 0x7fa6c7628190 state=finished raised BrokenProcessPool>
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 342, in _invoke_callbacks
callback(self)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 159, in _async_callback
result = args.result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 451, in result
return self.__get_result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 342, in _invoke_callbacks
callback(self)
File "/usr/local/miniconda/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 159, in _async_callback
result = args.result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 451, in result
return self.__get_result()
File "/usr/local/miniconda/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
^C^C