Skip to content

Traceback for errors is not included in calls to _clean_queue in plugins/base.py  #2570

Closed
@achetverikov

Description

@achetverikov

Summary

In several places in plugins/base.py calls to _clean_queue() following exceptions do not include the result object. As a consequence:

  1. traceback is not included
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions