I am trying to run my pipeline on a cluster that uses HTConder scheduler.
To do that I tried the Condor plugin (model.run(plugin='Condor')), but all jobs that were started crashed right away with the error message:
TraitError: Input ignore_exception in interface CommandLine is deprecated. Will be removed or raise an error as of release 1.0.0
I am using nipype version 1.0.2 and haven’t set the input ignore_exception anywhere.
To try out things, I then used the CondorDAGMan plugin and this one seems to work, which is good. But I was wondering, is that behaviour normal, or is there some problem that I should try to fix? Is there a reason to prefer one plugin over the other?
As an unrelated question, Even though I specify a working directory for my workflow, and also a crashdump directory in the configuration, Nipype still writes the crashfiles into my root directory from which I call the python script.
metaflow = pe.Workflow(name='metaflow')
metaflow.base_dir = workDir # set working directory
metaflow.config = {
"execution": {"crashdump_dir": op.abspath(op.join(workDir,'nipype/crashdumps'))}}
The directories all exist. Does anyone have an idea what might be going on?
Well, I suppose you mean Condor, then yes. This is the plugin I receive the error with. I tried running it without any plugins, with the multiprocessing plugin (both of which worked just fine), and also the CondorDAGMan pluging, which is still running but seems to work fine.
I don’t have any experience with this plugin Someone who has might be better to help you, but I can try to just search the code. Can you paste entire error message, there is nothing more there?
180420-13:17:17,669 workflow ERROR:
Saving crash info to /home/data/foraging/crash-20180420-131717-ort-selectSubs.a00-1953519a-d4f4-47a7-82b4-853386fb8c56.pklz
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/nipype/pipeline/plugins/base.py", line 154, in run
result = self._get_result(taskid)
File "/usr/lib/python2.7/dist-packages/nipype/pipeline/plugins/base.py", line 465, in _get_result
if self._is_pending(taskid):
File "/usr/lib/python2.7/dist-packages/nipype/pipeline/plugins/condor.py", line 57, in _is_pending
result = cmd.run(ignore_exception=True)
File "/usr/lib/python2.7/dist-packages/nipype/interfaces/base/core.py", line 475, in run
self.inputs.trait_set(**inputs)
File "/usr/lib/python2.7/dist-packages/traits/has_traits.py", line 1544, in trait_set
setattr( self, name, value )
File "/usr/lib/python2.7/dist-packages/traits/trait_notifiers.py", line 474, in __call__
self.notify_listener( self, object, trait_name, old, new )
File "/usr/lib/python2.7/dist-packages/traits/trait_notifiers.py", line 545, in _notify_method_listener
listener )
File "/usr/lib/python2.7/dist-packages/traits/trait_notifiers.py", line 526, in _dispatch_change_event
handle_exception( object, trait_name, old, new )
File "/usr/lib/python2.7/dist-packages/traits/trait_notifiers.py", line 519, in _dispatch_change_event
self.dispatch( handler, *args )
File "/usr/lib/python2.7/dist-packages/traits/trait_notifiers.py", line 482, in dispatch
handler( *args )
File "/usr/lib/python2.7/dist-packages/nipype/interfaces/base/specs.py", line 140, in _deprecated_warn
raise TraitError(msg)
TraitError: Input ignore_exception in interface CommandLine is deprecated. Will be removed or raise an error as of release 1.0.0
fyi: I’ve created an issue at nipype repo. It looks like Condor plugin is using some traits (e.g. ignore_exception) that were set as deprecated in version 1.0.0