galaxyproject / galaxyproject/gxformat2
tool_id can be null, passes linter, but crashes Cytoscape
- Dominant language
- Python
- Stars
- 14
- Forks
- 7
- Avg merge
- 2h 49m
- Merged PRs (30d)
- 8
Description
Demonstrated in https://github.com/galaxyproject/dockstore-galaxy-interface/pull/35
If I understand correctly, for *.ga workflows:
* https://github.com/galaxyproject/gxformat2/blob/0.17.0/schema/common/common.yml#L61-L64 indicates that the tool_id can be null or a String
* the linter doesn't check whether whether tool_id is a String (it checks for step_key) https://github.com/galaxyproject/gxformat2/blob/0.17.0/java/src/main/java/org/galaxyproject/gxformat2/NativeLinter.java#L24
* as a result, a workflow can pass the linter but crash Cytoscape since it assumes a string for the field https://github.com/galaxyproject/gxformat2/blob/0.17.0/java/src/main/java/org/galaxyproject/gxformat2/Cytoscape.java#L42
Contributor guide
Research direction
Start with the linked schema and the checks in java/src/main/java/org/galaxyproject/gxformat2/NativeLinter.java, then inspect java/src/main/java/org/galaxyproject/gxformat2/Cytoscape.java at the referenced line. Reproduce the behavior with a .ga workflow whose tool_id is null and verify that linting and Cytoscape conversion handle the valid input without a crash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100