Closed
Description
Summary
In several places in plugins/base.py calls to _clean_queue() following exceptions do not include the result object. As a consequence:
- traceback is not included
- another exception occurs in clean_queue, for example:
File "~/conda_env/nipype_v1x/lib/python3.5/site-packages/nipype/pipeline/plugins/base.py", line 322, in _send_procs_to_workers
self._clean_queue(jobid, graph)
File "~/conda_env/nipype_v1x/lib/python3.5/site-packages/nipype/pipeline/plugins/base.py", line 227, in _clean_queue
raise RuntimeError("".join(result['traceback']))
TypeError: 'NoneType' object is not subscriptable
I guess to fix it one would need to add the code like the one around line 160 in base.py to calls to _clean_queue, like this:
self._clean_queue(
jobid,
graph,
result={
'result': None,
'traceback': '\n'.join(format_exception(*sys.exc_info()))
}))
Or perhaps it's possible to modify clean_queue so that it would check if the results is None, and then add the exception info.
Platform details:
{'pkg_path': '/project/3019005.02/conda_env/nipype_v1x/lib/python3.5/site-packages/nipype', 'scipy_version': '1.1.0', 'sys_version': '3.5.5 | packaged by conda-forge | (default, Apr 6 2018, 13:41:05) \n[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)]', 'networkx_version': '2.1', 'numpy_version': '1.14.3', 'nibabel_version': '2.2.1', 'nipype_version': '1.0.3', 'sys_platform': 'linux', 'commit_hash': '%h', 'commit_source': 'archive substitution', 'traits_version': '4.6.0', 'sys_executable': '/project/3019005.02/conda_env/nipype_v1x/bin/python'}
1.0.3