cwlviewer
cwlviewer copied to clipboard
error messages should state version of cwltool being used
Example: https://view.commonwl.org/workflows/github.com/MG-RAST/amplicon/blob/735a989b6923e9207baace2702be4554d70c92d7/CWL/Workflows/tap.euk.workflow.cwl
@stain I think error message is already showing the version of cwltool being used according to the implementation but it doesn't work. Am i correct ? https://github.com/common-workflow-language/cwlviewer/blob/bce46b15884d3710b3aa68860ca3dbdc0261bb20/src/main/resources/templates/loading.html#L53
Correct, the version is still not being shown
https://view.commonwl.org/workflows/github.com/common-workflow-language/cwl-v1.2/blob/main/tests/timelimit2-wf.cwl#
@mr-c:matrix.org and @tetron about issue #172, Over the weekend I was able to reproduce the error and made some efforts to discover why exactly the version doesn't display on error. So first of all I inspected the client side of the code and went further into Workflow controller, workflow service and finally down to the QueuedWorkflow class.
So far I think I traced the problem down to QueuedWorkflow class where I found out that the value of the cwltoolVersion is set to an empty string. Although I tried putting in a random value as the version and tried logging out the value of the version when that endpoint is called, but it still returns empty.
Although, I just created a toString() method on the QueuedWorkflow class and tried to log out the value of queued when the method below is called QueuedWorkflow queued = queuedWorkflowRepository.findByRetrievedFrom(githubInfo); and I found out that findByRetrievedFrom() returns the cwltoolVersion as an empty String. So I think the problem is probably from the database but I'm still looking
And I've looked at the database as well and the version of cwl tool is an empty string as well
Here is a sample of the db schema
{
"_id" : ObjectId("6071db9d08813b0001578a1a"),
"_class" : "org.commonwl.view.workflow.QueuedWorkflow",
"tempRepresentation" : {
"_id" : null,
"retrievedFrom" : {
"repoUrl" : "https://github.com/common-workflow-language/cwl-v1.2.git",
"branch" : "main",
"path" : "tests/timelimit2-wf.cwl"
},
"retrievedOn" : ISODate("2021-04-10T17:08:45.801Z"),
"lastCommit" : "ea9f8634e41824ac3f81c3dde698d5f0eef54f1b",
"label" : "timelimit2-wf.cwl",
"inputs" : {
"i" : {
"type" : "string?",
"sourceID" : [ ]
}
},
"outputs" : {
"o" : {
"type" : "string?",
"sourceID" : [
"step2"
]
}
},
"steps" : {
"step2" : {
"run" : "",
"sources" : {
"i" : {
"sourceID" : [
"step1"
]
}
}
},
"step1" : {
"run" : "",
"sources" : {
"i" : {
"sourceID" : [
"i"
]
}
}
}
},
"cwltoolVersion" : "1.0.20180525185854",
"visualisationDot" : "digraph workflow {\n graph [\n bgcolor = \"#eeeeee\"\n color = \"black\"\n fontsize = \"10\"\n labeljust = \"left\"\n clusterrank = \"local\"\n ranksep = \"0.22\"\n nodesep = \"0.05\"\n ]\n node [\n fontname = \"Helvetica\"\n fontsize = \"10\"\n fontcolor = \"black\"\n shape = \"record\"\n height = \"0\"\n width = \"0\"\n color = \"black\"\n fillcolor = \"lightgoldenrodyellow\"\n style = \"filled\"\n ];\n edge [\n fontname=\"Helvetica\"\n fontsize=\"8\"\n fontcolor=\"black\"\n color=\"black\"\n arrowsize=\"0.7\"\n ];\n subgraph cluster_inputs {\n rank = \"same\";\n style = \"dashed\";\n label = \"Workflow Inputs\";\n \"i\" [fillcolor=\"#94DDF4\"];\n }\n subgraph cluster_outputs {\n rank = \"same\";\n style = \"dashed\";\n label = \"Workflow Outputs\";\n \"o\" [fillcolor=\"#94DDF4\"];\n }\n \"step2\";\n \"step1\";\n \"step2\" -> \"o\";\n \"step1\" -> \"step2\";\n \"i\" -> \"step1\";\n\n // Invisible links to force outputs to be at lowest rank\n \"step2\" -> \"o\" [style=invis];\n \"step1\" -> \"o\" [style=invis];\n}\n",
"permaLinkBase" : "https://w3id.org/cwl/view"
},
"cwltoolStatus" : "ERROR",
"cwltoolVersion" : "",
"message" : "Whoops! Cwltool ran successfully, but an unexpected error occurred in CWLViewer!\nHelp us by reporting it on Gitter or a Github issue\n"
}
So the version exists and has valid value at first but the actual value returned to the db is an empty string
@oceenachi Are you able to run the application connected to a debugger?
No I didn't connect to a debugger. I was actually logging out the values at some points
No I didn't connect to a debugger. I was actually logging out the values at some points
@oceenachi I think getting a debugger connected will be vital to making progress on this issue
Maybe https://www.jetbrains.com/help/idea/run-and-debug-a-spring-boot-application-using-docker-compose.html or similar will help
Okay. I'll look at it
Hi @mr-c I've been having this error trying to create the remote debug config. Cannot retrieve debug connection: Debug mode is not supported for 'Docker-compose: cwlviewer
. Although I'm still looking into it but would appreciate help on it
@oceenachi Okay, I've made a new issue about documenting how to debug when using docker compose
; can you document your setup over at https://github.com/common-workflow-language/cwlviewer/issues/319 ?
Alright I will do that. 💃
@mr-c this debugging docs will be restricted to this application right?
@oceenachi Yes