diff --git a/nipype/pipeline/plugins/base.py b/nipype/pipeline/plugins/base.py index ff84937bc6..c41a4a07ce 100644 --- a/nipype/pipeline/plugins/base.py +++ b/nipype/pipeline/plugins/base.py @@ -154,13 +154,7 @@ def run(self, graph, config, updatehash=False): result = self._get_result(taskid) except Exception: notrun.append( - self._clean_queue( - jobid, - graph, - result={ - 'result': None, - 'traceback': '\n'.join(format_exception(*sys.exc_info())) - })) + self._clean_queue(jobid, graph)) else: if result: if result['traceback']: @@ -222,6 +216,9 @@ def _clean_queue(self, jobid, graph, result=None): if self._status_callback: self._status_callback(self.procs[jobid], 'exception') + if result is None: + result = {'result': None, + 'traceback': '\n'.join(format_exception(*sys.exc_info()))} if str2bool(self._config['execution']['stop_on_first_crash']): raise RuntimeError("".join(result['traceback']))