Bug #11681
Updated by Peter Amstutz over 7 years ago
arvados-cwl-runner crashes on Python 2.7 since merging Python 3 compatability:
<pre>
2017-05-11 13:46:02 arvados.cwl-runner ERROR: Execution failed: unorderable types: str() and <type 'str'>
Traceback (most recent call last):
File "build/bdist.linux-x86_64/egg/arvados_cwl/__init__.py", line 464, in arv_executor
runnable.run(**kwargs)
File "build/bdist.linux-x86_64/egg/arvados_cwl/arvcontainer.py", line 70, in run
rf.sort(key=lambda k: k.resolved)
File "/home/peter/work/scripts/venv/lib/python2.7/site-packages/future/types/newstr.py", line 306, in __lt__
raise TypeError(self.unorderable_err.format(type(other)))
TypeError: unorderable types: str() and <type 'str'>
</pre>
I added logging to print out the types that were being compared (the string contents are all keep references):
<pre>
[<type 'str'>,
<class 'future.types.newstr.newstr'>,
<type 'str'>,
<type 'str'>,
<type 'unicode'>,
<type 'str'>,
<type 'str'>]
</pre>
So the problem is that @str@ is comparable to @unicode@, @unicode@ is comparable to @newstr@, but @newstr@ is not comparable to @str@.
Tentatively it looks like @KeepLocator.__str__@ might be where the @newstr@ is coming from, but I haven't established that definitively.
It seems that @KeepLocator.__str__@ or something similar previously used to return @str@ and is now returning @newstr@.