question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Bug or null handling during rewrite of json

See original GitHub issue

Describe the bug

I’m getting the following error when testing the dockstore interaction with cwltool for updates to an existing tool (new arguments). Files are pulled from FTP addresses before this error occurs, the error also occur if json file references local files:

10:25:35.810 [main] ERROR io.dockstore.client.cli.ArgumentUtility - null
10:25:35.813 [main] ERROR io.dockstore.client.cli.ArgumentUtility - java.lang.NullPointerException
	at io.github.collaboratory.cwl.CWLClient.createUpdatedInputsAndOutputsJson(CWLClient.java:963)
	at io.github.collaboratory.cwl.CWLClient.provisionInputFiles(CWLClient.java:244)
	at io.dockstore.client.cli.nested.BaseLanguageClient.launchPipeline(BaseLanguageClient.java:164)
	at io.github.collaboratory.cwl.CWLClient.launch(CWLClient.java:289)
	at io.dockstore.client.cli.nested.AbstractEntryClient.launchCwl(AbstractEntryClient.java:1185)
	at io.dockstore.client.cli.nested.AbstractEntryClient.checkEntryFile(AbstractEntryClient.java:815)
	at io.dockstore.client.cli.nested.AbstractEntryClient.launch(AbstractEntryClient.java:1132)
	at io.dockstore.client.cli.nested.AbstractEntryClient.processEntryCommands(AbstractEntryClient.java:278)
	at io.dockstore.client.cli.Client.run(Client.java:715)
	at io.dockstore.client.cli.Client.main(Client.java:614)

Runs cleanly via cwltool if files are made local in advance.

To Reproduce

curl points to head of feature/dockstoreLayerOnly of dockstore-cgpmap at time of writing:

curl -L https://github.com/cancerit/dockstore-cgpmap/archive/352e2fd7371fee01c555992ff813452a303d23f0.tar.gz | tar zx
cd dockstore-cgpmap*
docker build -t quay.io/wtsicgp/dockstore-cgpmap:3.2.0 .
dockstore tool --script launch --local-entry cwls/cgpmap-bamBaiOut.cwl --json examples/cgpmap/bamBaiOut/bam_in.json

Expected behavior

No error, workflow runs.

Screenshots NA

Desktop (please complete the following information):

  • OS: NA
  • Browser: NA
  • Version:

Built following quick-start on 2020-09-03 (cwltool is very old in that document)

$ dockstore --version
Dockstore version 1.9.0
You are running the latest stable version...
If you wish to upgrade to the latest unstable version, please use the following command:
   dockstore --upgrade-unstable
$ java --version
openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
$ cwltool --version
/home/ubuntu/.local/bin/cwltool 1.0.20190621234233

┆Issue is synchronized with this Jira Story ┆Fix Versions: Dockstore 1.9.X ┆Issue Number: DOCK-1563 ┆Sprint: Sprint 44- Sea Horse ┆Issue Type: Story

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
keiranmrainecommented, Sep 18, 2020

I can confirm that all 6 CWL routes through the code work if the nulls are replaced by values.

1reaction
garyluucommented, Sep 11, 2020

yup, it’s not necessary to use OpenStack for this

Read more comments on GitHub >

github_iconTop Results From Across the Web

Why is one way of json to object working and the other ...
Your problem with null-safety seems to be a missing understanding about the feature. I will recommend you to read through the documentation ...
Read more >
Value throws on null string #1163 - nlohmann/json - GitHub
I see. I fear this is a conceptual issue: the default value is only returned if the key is not present. If the...
Read more >
Handling JSON null and empty arrays and objects - IBM
Handling null and empty arrays and objects used in JSON data is described. JSON data has the concept of null and empty arrays...
Read more >
Power Automate: PARSE JSON action with value or null
In my schema all values are optional. It doesn't mean they will always be nulls but it's bad enough to get a Power...
Read more >
JSON Query Rewrite To Use a Materialized View Over ...
If some of your JSON data lacks a given projected field, using NULL ON EMPTY allows that field to nevertheless be picked up...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found