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.

Access to optional variables in conditionals broken for WDL 1.0 (works w draft-2)

See original GitHub issue

I’ve attached two workflows that are essentially the same, one that conforms to draft-2 and the other that conforms to 1.0. The former runs fine (Cromwell v40), the latter one fails. It looks like there’s a regression in handling the following situation:

task bar {
  input {
    Array[Array[String]]? baz
  }
  command <<<
  echo ~{ if defined(baz) then write_tsv(baz) else 'no file' }
  >>>
  ...
}

Error:

```java
Failed to process task definition 'bar' (reason 1 of 1): Failed to process expression 'if defined(baz) then write_tsv(baz) else ""' (reason 1 of 1): Invalid parameter 'IdentifierLookup(baz)'. Expected 'Array[Array[String]]' but got 'Array[Array[String]]?'
        at cromwell.engine.workflow.lifecycle.materialization.MaterializeWorkflowDescriptorActor.cromwell$engine$workflow$lifecycle$materialization$MaterializeWorkflowDescriptorActor$$workflowInitializationFailed(MaterializeWorkflowDescriptorActor.scala:215)
        at cromwell.engine.workflow.lifecycle.materialization.MaterializeWorkflowDescriptorActor$$anonfun$2.applyOrElse(MaterializeWorkflowDescriptorActor.scala:185)
        at cromwell.engine.workflow.lifecycle.materialization.MaterializeWorkflowDescriptorActor$$anonfun$2.applyOrElse(MaterializeWorkflowDescriptorActor.scala:180)
        at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:34)
        at akka.actor.FSM.processEvent(FSM.scala:684)
        at akka.actor.FSM.processEvent$(FSM.scala:681)
        at cromwell.engine.workflow.lifecycle.materialization.MaterializeWorkflowDescriptorActor.akka$actor$LoggingFSM$$super$processEvent(MaterializeWorkflowDescriptorActor.scala:136)
        at akka.actor.LoggingFSM.processEvent(FSM.scala:820)
        at akka.actor.LoggingFSM.processEvent$(FSM.scala:802)
        at cromwell.engine.workflow.lifecycle.materialization.MaterializeWorkflowDescriptorActor.processEvent(MaterializeWorkflowDescriptorActor.scala:136)
        at akka.actor.FSM.akka$actor$FSM$$processMsg(FSM.scala:678)
        at akka.actor.FSM$$anonfun$receive$1.applyOrElse(FSM.scala:672)
        at akka.actor.Actor.aroundReceive(Actor.scala:517)
        at akka.actor.Actor.aroundReceive$(Actor.scala:515)
        at cromwell.engine.workflow.lifecycle.materialization.MaterializeWorkflowDescriptorActor.aroundReceive(MaterializeWorkflowDescriptorActor.scala:136)
        at akka.actor.ActorCell.receiveMessage(ActorCell.scala:588)
        at akka.actor.ActorCell.invoke(ActorCell.scala:557)
        at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)
        at akka.dispatch.Mailbox.run(Mailbox.scala:225)
        at akka.dispatch.Mailbox.exec(Mailbox.scala:235)
        at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)


Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:16 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
jdidioncommented, Jul 10, 2019

It works now, thank you. I’m going to remove my email address from the previous comment.

0reactions
gemmalamcommented, Jul 10, 2019

@jdidion I’ve added you. Let me know if you still need help with access.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Incorrect parsing of wdl - Terra Support
So draft-2 is the previous version of WDL that ignored default values as inputs and Version 1.0 recognizes them as optional parameters?
Read more >
tibanna Documentation - Read the Docs
The commands to run your pipeline must be written in either Common Workflow Language (CWL) (recom- mended), Workflow Description Language ...
Read more >
13015thA~ - City of Renton
a daily newspaper, which newspaper is a legal newspaper of general circulation and is now and has been for more than six months...
Read more >
National Pollutant Discharge Elimination System State ...
Authority to Issue General Permits [optional]. State law provides the authority to issue and enforce general permits in accordance with the federal general ......
Read more >
Untitled
She thanked PARCS, staff and the design team for working with them. ... to Mayoral Veto Page 10 August 27, 2020City Council Meeting...
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