Skip to content

[BUG] FSL BET fails when bet actually did run successfully #1818

Open
@oesteban

Description

@oesteban

Summary

FSL BET interface fails if anything is written to the standard error.

Actual behavior

warnings can be written to the stderr, so any warning will make nipype understand that bet failed, although it didn't. The expected outputs are generated and in place.

170214-22:12:01,269 workflow ERROR:
         [u'Node fsl_bet.a0 failed to run on host c549-404.stampede.tacc.utexas.edu.']
170214-22:12:01,270 workflow INFO:
         Saving crash info to crash-20170214-221201-oesteban-fsl_bet.a0-a7591f3c-02ed-4605-81a6-5dd66896e05a.pklz
170214-22:12:01,270 workflow INFO:
         Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python2.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 52, in run_node
    result['result'] = node.run(updatehash=updatehash)
  File "/usr/local/miniconda/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 366, in run
    self._run_interface()
  File "/usr/local/miniconda/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 476, in _run_interface
    self._result = self._run_command(execute)
  File "/usr/local/miniconda/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 607, in _run_command
    result = self._interface.run()
  File "/usr/local/miniconda/lib/python2.7/site-packages/nipype/interfaces/base.py", line 1085, in run
    runtime = self._run_wrapper(runtime)
  File "/usr/local/miniconda/lib/python2.7/site-packages/nipype/interfaces/base.py", line 1728, in _run_wrapper
    runtime = self._run_interface(runtime)
  File "/usr/local/miniconda/lib/python2.7/site-packages/nipype/interfaces/fsl/preprocess.py", line 144, in _run_interface
    self.raise_exception(runtime)
  File "/usr/local/miniconda/lib/python2.7/site-packages/nipype/interfaces/base.py", line 1686, in raise_exception
    **runtime.dictcopy()))
RuntimeError: Command:
bet sub-S0576VBM_run-1_T1w_conformed_corrected.nii.gz sub-S0576VBM_run-1_T1w_conformed_corrected_brain.nii.gz -A
Standard output:

Standard error:
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

Return code: 0
Interface BET failed to run. 

Expected behavior

Successful exit if bet actually run

How to replicate the behavior

Hard to say, I'm working with the poldracklab/mriqc docker image, converted to singularity container. I haven't

Platform details:

singularity exec $CRNENV_SINGULARITY_IMAGES/poldracklab_mriqc_0.9.0-0-2017-02-06-610bfaf4e52d.img python -c "import nipype; print(nipype.get_info())"
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
{'nibabel_version': '2.1.0', 'networkx_version': '1.11', 'numpy_version': '1.12.0', 'sys_platform': 'linux2', 'sys_version': '2.7.12 |Continuum Analytics, Inc.| (default, Jul  2 2016, 17:42:40) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]', 'commit_source': u'(none found)', 'commit_hash': u'<not found>', 'pkg_path': '/usr/local/miniconda/lib/python2.7/site-packages/nipype', 'sys_executable': '/usr/local/miniconda/bin/python', 'traits_version': '4.6.0', 'scipy_version': '0.18.1'}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions