Actions
Bug #17300
openarray of array of File causes 'NoneType' object has no attribute 'resolved'
Story points:
-
Release:
Release relationship:
Auto
Description
When running an ExpressionTool which has an output of the following type:
outputs:
subject_images:
type:
type: array # subjects
items:
type: array # timepoints
items: File
I receive the following error:
ERROR Unhandled error:
'NoneType' object has no attribute 'resolved'
Traceback (most recent call last):
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/cwltool/main.py", line 833, in main
logger=_logger)
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/arvados_cwl/executor.py", line 767, in arv_executor
self.final_output, self.final_output_collection = self.make_output_collection(self.output_name, storage_classes, self.output_tags, self.final_output)
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/arvados_cwl/executor.py", line 467, in make_output_collection
adjustFileObjs(outputObj, rewrite)
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/cwltool/pathmapper.py", line 48, in adjustFileObjs
visit_class(rec, ("File",), op)
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/cwltool/utils.py", line 221, in visit_class
visit_class(rec[d], cls, op)
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/cwltool/utils.py", line 224, in visit_class
visit_class(d, cls, op)
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/cwltool/utils.py", line 224, in visit_class
visit_class(d, cls, op)
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/cwltool/utils.py", line 219, in visit_class
op(rec)
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/arvados_cwl/executor.py", line 461, in rewrite
fileobj["location"] = generatemapper.mapper(fileobj["location"]).target
File "/usr/share/python2.7/dist/python-arvados-cwl-runner/lib/python2.7/site-packages/arvados_cwl/pathmapper.py", line 332, in mapper
return MapperEnt(v.resolved, v.target + src[i:], v.type, v.staged)
AttributeError: 'NoneType' object has no attribute 'resolved'
If I replace type: File with type: string and store locations instead of File objects the request finishes successfully and returns the expected list of locations.
Actions