galaxyproject / galaxyproject/gxformat2

tool_id can be null, passes linter, but crashes Cytoscape

Open
#87 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.