TraitError for Condor Plugin

Hi,

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?

Thanks!

Eduard

Are you saying that you have this error only with Concord plugin? Have you tried running without this plugin?

Can you please paste the entire error message.

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.

Yes, I guess I meant Condor :wink:

I don’t have any experience with this plugin :frowning: 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?

sure. There you go:

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 

Thanks!

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

This should be fixed in the current master. The fix will be part of version 1.0.3.

1 Like

Thanks! That’s great support!