Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

select_first() does not work with an empty array (cromwell-36 only) #4318

Closed
leepc12 opened this issue Oct 26, 2018 · 3 comments
Closed

select_first() does not work with an empty array (cromwell-36 only) #4318

leepc12 opened this issue Oct 26, 2018 · 3 comments
Labels

Comments

@leepc12
Copy link

leepc12 commented Oct 26, 2018

I tested it on a local backend. If you use a non-empty array then it works fine with cromwell-36. But with an empty array it fails.

workflow:

workflow test_opt_array {
        #Array[File] arr1 = ["0.txt","1.txt","2.txt","3.txt","4.txt"]
        Array[File] arr1 = []

        Boolean go = true
        if ( go ) {
                scatter( i in range(5) ) {
                        call t1 {input: i=i}
                }
        }
        Array[File] arr2 = select_first([t1.out, arr1])
}


task t1 {
        Int i
        command {
                echo ${i} > out.txt
        }
        output {
                File out = 'out.txt'
        }
}

This workflow worked fine with cromwell-34.

$ java -jar ~/cromwell-34.jar run test_opt_array.wdl
Picked up _JAVA_OPTIONS: -Xms256M -Xmx1024M -XX:ParallelGCThreads=1
[2018-10-25 21:20:58,35] [info] Running with database db.url = jdbc:hsqldb:mem:a975ddc6-f298-4393-b1f0-e93250d3cca8;shutdown=false;hsqldb.tx=mvcc
[2018-10-25 21:21:07,82] [info] Running migration RenameWorkflowOptionsInMetadata with a read batch size of 100000 and a write batch size of 100000
[2018-10-25 21:21:07,84] [info] [RenameWorkflowOptionsInMetadata] 100%
[2018-10-25 21:21:07,95] [info] Running with database db.url = jdbc:hsqldb:mem:d98689d1-c87b-486c-aa55-626823fb3bb1;shutdown=false;hsqldb.tx=mvcc
[2018-10-25 21:21:08,32] [info] Slf4jLogger started
[2018-10-25 21:21:08,56] [info] Workflow heartbeat configuration:
{
  "cromwellId" : "cromid-fcf9c1d",
  "heartbeatInterval" : "2 minutes",
  "ttl" : "10 minutes",
  "writeBatchSize" : 10000,
  "writeThreshold" : 10000
}
[2018-10-25 21:21:08,59] [info] Metadata summary refreshing every 2 seconds.
[2018-10-25 21:21:08,63] [info] KvWriteActor configured to flush with batch size 200 and process rate 5 seconds.
[2018-10-25 21:21:08,64] [info] CallCacheWriteActor configured to flush with batch size 100 and process rate 3 seconds.
[2018-10-25 21:21:08,64] [info] WriteMetadataActor configured to flush with batch size 200 and process rate 5 seconds.
[2018-10-25 21:21:09,79] [info] JobExecutionTokenDispenser - Distribution rate: 50 per 1 seconds.
[2018-10-25 21:21:09,81] [info] SingleWorkflowRunnerActor: Version 34
[2018-10-25 21:21:09,82] [info] SingleWorkflowRunnerActor: Submitting workflow
[2018-10-25 21:21:09,86] [info] Unspecified type (Unspecified version) workflow 0bb77c74-4c5c-4314-8463-072e7055ee7c submitted
[2018-10-25 21:21:09,90] [info] SingleWorkflowRunnerActor: Workflow submitted 0bb77c74-4c5c-4314-8463-072e7055ee7c
[2018-10-25 21:21:09,91] [info] 1 new workflows fetched
[2018-10-25 21:21:09,91] [info] WorkflowManagerActor Starting workflow 0bb77c74-4c5c-4314-8463-072e7055ee7c
[2018-10-25 21:21:09,91] [warn] SingleWorkflowRunnerActor: received unexpected message: Done in state RunningSwraData
[2018-10-25 21:21:09,92] [warn] Couldn't find a suitable DSN, defaulting to a Noop one.
[2018-10-25 21:21:09,92] [info] Using noop to send events.
[2018-10-25 21:21:09,93] [info] WorkflowManagerActor Successfully started WorkflowActor-0bb77c74-4c5c-4314-8463-072e7055ee7c
[2018-10-25 21:21:09,93] [info] Retrieved 1 workflows from the WorkflowStoreActor
[2018-10-25 21:21:09,93] [info] WorkflowStoreHeartbeatWriteActor configured to flush with batch size 10000 and process rate 2 minutes.
[2018-10-25 21:21:09,96] [info] MaterializeWorkflowDescriptorActor [0bb77c74]: Parsing workflow as WDL draft-2
[2018-10-25 21:21:10,57] [info] MaterializeWorkflowDescriptorActor [0bb77c74]: Call-to-Backend assignments: test_opt_array.t1 -> Local
[2018-10-25 21:21:12,86] [info] WorkflowExecutionActor-0bb77c74-4c5c-4314-8463-072e7055ee7c [0bb77c74]: Condition met: 'go'. Running conditional section
[2018-10-25 21:21:16,98] [info] WorkflowExecutionActor-0bb77c74-4c5c-4314-8463-072e7055ee7c [0bb77c74]: Starting test_opt_array.t1 (5 shards)
[2018-10-25 21:21:19,02] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:2:1]: echo 2 > out.txt
[2018-10-25 21:21:19,02] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:4:1]: echo 4 > out.txt
[2018-10-25 21:21:19,02] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:3:1]: echo 3 > out.txt
[2018-10-25 21:21:19,02] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:0:1]: echo 0 > out.txt
[2018-10-25 21:21:19,02] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:1:1]: echo 1 > out.txt
[2018-10-25 21:21:19,04] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:2:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-2/execution/script
[2018-10-25 21:21:19,04] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:1:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-1/execution/script
[2018-10-25 21:21:19,05] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:3:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-3/execution/script
[2018-10-25 21:21:19,05] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:4:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-4/execution/script
[2018-10-25 21:21:19,05] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:0:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-0/execution/script
[2018-10-25 21:21:23,66] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:1:1]: job id: 9154
[2018-10-25 21:21:23,66] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:3:1]: job id: 9150
[2018-10-25 21:21:23,66] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:4:1]: job id: 9153
[2018-10-25 21:21:23,66] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:2:1]: job id: 9149
[2018-10-25 21:21:23,67] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:0:1]: job id: 9151
[2018-10-25 21:21:23,67] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:3:1]: Status change from - to WaitingForReturnCodeFile
[2018-10-25 21:21:23,67] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:4:1]: Status change from - to WaitingForReturnCodeFile
[2018-10-25 21:21:23,67] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:2:1]: Status change from - to Done
[2018-10-25 21:21:23,67] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:0:1]: Status change from - to WaitingForReturnCodeFile
[2018-10-25 21:21:23,67] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:1:1]: Status change from - to WaitingForReturnCodeFile
[2018-10-25 21:21:25,08] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:4:1]: Status change from WaitingForReturnCodeFile to Done
[2018-10-25 21:21:28,03] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:1:1]: Status change from WaitingForReturnCodeFile to Done
[2018-10-25 21:21:30,25] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:0:1]: Status change from WaitingForReturnCodeFile to Done
[2018-10-25 21:21:32,52] [info] BackgroundConfigAsyncJobExecutionActor [0bb77c74test_opt_array.t1:3:1]: Status change from WaitingForReturnCodeFile to Done
[2018-10-25 21:21:36,22] [info] WorkflowExecutionActor-0bb77c74-4c5c-4314-8463-072e7055ee7c [0bb77c74]: Workflow test_opt_array complete. Final Outputs:
{
  "test_opt_array.t1.out": ["/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-0/execution/out.txt", "/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-1/execution/out.txt", "/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-2/execution/out.txt", "/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-3/execution/out.txt", "/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-4/execution/out.txt"]
}
[2018-10-25 21:21:36,25] [info] WorkflowManagerActor WorkflowActor-0bb77c74-4c5c-4314-8463-072e7055ee7c is in a terminal state: WorkflowSucceededState
[2018-10-25 21:21:44,66] [info] SingleWorkflowRunnerActor workflow finished with status 'Succeeded'.
{
  "outputs": {
    "test_opt_array.t1.out": ["/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-0/execution/out.txt", "/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-1/execution/out.txt", "/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-2/execution/out.txt", "/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-3/execution/out.txt", "/users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/0bb77c74-4c5c-4314-8463-072e7055ee7c/call-t1/shard-4/execution/out.txt"]
  },
  "id": "0bb77c74-4c5c-4314-8463-072e7055ee7c"
}

But I got the following error when I tried with 36.

$ java -jar ~/cromwell-36.jar run test_opt_array.wdl
Picked up _JAVA_OPTIONS: -Xms256M -Xmx1024M -XX:ParallelGCThreads=1
[2018-10-25 21:17:04,83] [info] Running with database db.url = jdbc:hsqldb:mem:bb200ed8-7db5-49a0-a250-ca46b3332697;shutdown=false;hsqldb.tx=mvcc
[2018-10-25 21:17:12,03] [info] Running migration RenameWorkflowOptionsInMetadata with a read batch size of 100000 and a write batch size of 100000
[2018-10-25 21:17:12,04] [info] [RenameWorkflowOptionsInMetadata] 100%
[2018-10-25 21:17:12,13] [info] Running with database db.url = jdbc:hsqldb:mem:c7a7ec22-dec6-4fae-a53b-6c9933402fa9;shutdown=false;hsqldb.tx=mvcc
[2018-10-25 21:17:12,59] [info] Slf4jLogger started
[2018-10-25 21:17:12,88] [info] Workflow heartbeat configuration:
{
  "cromwellId" : "cromid-f5ccf1c",
  "heartbeatInterval" : "2 minutes",
  "ttl" : "10 minutes",
  "writeBatchSize" : 10000,
  "writeThreshold" : 10000
}
[2018-10-25 21:17:12,90] [info] Metadata summary refreshing every 2 seconds.
[2018-10-25 21:17:12,98] [info] KvWriteActor configured to flush with batch size 200 and process rate 5 seconds.
[2018-10-25 21:17:12,98] [info] CallCacheWriteActor configured to flush with batch size 100 and process rate 3 seconds.
[2018-10-25 21:17:12,98] [info] WriteMetadataActor configured to flush with batch size 200 and process rate 5 seconds.
[2018-10-25 21:17:13,79] [info] JobExecutionTokenDispenser - Distribution rate: 50 per 1 seconds.
[2018-10-25 21:17:13,80] [info] SingleWorkflowRunnerActor: Version 36
[2018-10-25 21:17:13,81] [info] SingleWorkflowRunnerActor: Submitting workflow
[2018-10-25 21:17:13,84] [info] Unspecified type (Unspecified version) workflow e22c6324-5aec-4694-8750-f62160e2ca81 submitted
[2018-10-25 21:17:13,85] [info] SingleWorkflowRunnerActor: Workflow submitted e22c6324-5aec-4694-8750-f62160e2ca81
[2018-10-25 21:17:13,85] [info] 1 new workflows fetched
[2018-10-25 21:17:13,85] [info] WorkflowManagerActor Starting workflow e22c6324-5aec-4694-8750-f62160e2ca81
[2018-10-25 21:17:13,86] [info] WorkflowManagerActor Successfully started WorkflowActor-e22c6324-5aec-4694-8750-f62160e2ca81
[2018-10-25 21:17:13,86] [info] Retrieved 1 workflows from the WorkflowStoreActor
[2018-10-25 21:17:13,86] [warn] SingleWorkflowRunnerActor: received unexpected message: Done in state RunningSwraData
[2018-10-25 21:17:13,87] [info] WorkflowStoreHeartbeatWriteActor configured to flush with batch size 10000 and process rate 2 minutes.
[2018-10-25 21:17:13,95] [info] MaterializeWorkflowDescriptorActor [e22c6324]: Parsing workflow as WDL draft-2
[2018-10-25 21:17:14,52] [info] MaterializeWorkflowDescriptorActor [e22c6324]: Call-to-Backend assignments: test_opt_array.t1 -> Local
[2018-10-25 21:17:20,89] [info] WorkflowExecutionActor-e22c6324-5aec-4694-8750-f62160e2ca81 [e22c6324]: Starting test_opt_array.t1 (5 shards)
[2018-10-25 21:17:22,98] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:0:1]: echo 0 > out.txt
[2018-10-25 21:17:22,98] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:4:1]: echo 4 > out.txt
[2018-10-25 21:17:22,98] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:1:1]: echo 1 > out.txt
[2018-10-25 21:17:22,98] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:3:1]: echo 3 > out.txt
[2018-10-25 21:17:22,98] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:2:1]: echo 2 > out.txt
[2018-10-25 21:17:23,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:2:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/e22c6324-5aec-4694-8750-f62160e2ca81/call-t1/shard-2/execution/script
[2018-10-25 21:17:23,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:1:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/e22c6324-5aec-4694-8750-f62160e2ca81/call-t1/shard-1/execution/script
[2018-10-25 21:17:23,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:0:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/e22c6324-5aec-4694-8750-f62160e2ca81/call-t1/shard-0/execution/script
[2018-10-25 21:17:23,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:4:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/e22c6324-5aec-4694-8750-f62160e2ca81/call-t1/shard-4/execution/script
[2018-10-25 21:17:23,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:3:1]: executing: /bin/bash /users/leepc12/code/test_wdl/cromwell-executions/test_opt_array/e22c6324-5aec-4694-8750-f62160e2ca81/call-t1/shard-3/execution/script
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:0:1]: job id: 8811
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:4:1]: job id: 8806
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:2:1]: job id: 8807
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:3:1]: job id: 8808
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:1:1]: job id: 8804
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:3:1]: Status change from - to WaitingForReturnCode
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:1:1]: Status change from - to WaitingForReturnCode
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:0:1]: Status change from - to WaitingForReturnCode
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:4:1]: Status change from - to Done
[2018-10-25 21:17:28,01] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:2:1]: Status change from - to Done
[2018-10-25 21:17:30,83] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:3:1]: Status change from WaitingForReturnCode to Done
[2018-10-25 21:17:34,04] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:0:1]: Status change from WaitingForReturnCode to Done
[2018-10-25 21:17:34,39] [info] BackgroundConfigAsyncJobExecutionActor [e22c6324test_opt_array.t1:1:1]: Status change from WaitingForReturnCode to Done
[2018-10-25 21:17:38,14] [error] WorkflowManagerActor Workflow e22c6324-5aec-4694-8750-f62160e2ca81 failed (during ExecutingWorkflowState): java.lang.RuntimeException: Failed to evaluate 'test_opt_array.arr2' (reason 1 of 1): Evaluating select_first([t1.out, arr1]) failed: assertion failed: base member type WomMaybeEmptyArrayType(WomAnyType) and womtype WomMaybeEmptyArrayType(WomSingleFileType) are not compatible
        at cromwell.engine.workflow.lifecycle.execution.keys.ExpressionKey.processRunnable(ExpressionKey.scala:29)
        at cromwell.engine.workflow.lifecycle.execution.WorkflowExecutionActor.$anonfun$startRunnableNodes$7(WorkflowExecutionActor.scala:510)
        at cats.instances.ListInstances$$anon$1.$anonfun$traverse$2(list.scala:73)
        at cats.instances.ListInstances$$anon$1.loop$2(list.scala:63)
        at cats.instances.ListInstances$$anon$1.$anonfun$foldRight$1(list.scala:63)
        at cats.Eval$$anon$11.$anonfun$start$3(Eval.scala:276)
        at cats.Eval$.loop$1(Eval.scala:338)
        at cats.Eval$.cats$Eval$$evaluate(Eval.scala:372)
        at cats.Eval$Defer.value(Eval.scala:258)
        at cats.instances.ListInstances$$anon$1.traverse(list.scala:72)
        at cats.instances.ListInstances$$anon$1.traverse(list.scala:12)
        at cats.Traverse$Ops.traverse(Traverse.scala:19)
        at cats.Traverse$Ops.traverse$(Traverse.scala:19)
        at cats.Traverse$ToTraverseOps$$anon$3.traverse(Traverse.scala:19)
        at cromwell.engine.workflow.lifecycle.execution.WorkflowExecutionActor.cromwell$engine$workflow$lifecycle$execution$WorkflowExecutionActor$$startRunnableNodes(WorkflowExecutionActor.scala:504)
        at cromwell.engine.workflow.lifecycle.execution.WorkflowExecutionActor$$anonfun$5.applyOrElse(WorkflowExecutionActor.scala:186)
        at cromwell.engine.workflow.lifecycle.execution.WorkflowExecutionActor$$anonfun$5.applyOrElse(WorkflowExecutionActor.scala:184)
        at scala.PartialFunction$OrElse.apply(PartialFunction.scala:168)
        at akka.actor.FSM.processEvent(FSM.scala:687)
        at akka.actor.FSM.processEvent$(FSM.scala:681)
        at cromwell.engine.workflow.lifecycle.execution.WorkflowExecutionActor.akka$actor$LoggingFSM$$super$processEvent(WorkflowExecutionActor.scala:49)
        at akka.actor.LoggingFSM.processEvent(FSM.scala:820)
        at akka.actor.LoggingFSM.processEvent$(FSM.scala:802)
        at cromwell.engine.workflow.lifecycle.execution.WorkflowExecutionActor.processEvent(WorkflowExecutionActor.scala:49)
        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.execution.WorkflowExecutionActor.akka$actor$Timers$$super$aroundReceive(WorkflowExecutionActor.scala:49)
        at akka.actor.Timers.aroundReceive(Timers.scala:51)
        at akka.actor.Timers.aroundReceive$(Timers.scala:40)
        at cromwell.engine.workflow.lifecycle.execution.WorkflowExecutionActor.aroundReceive(WorkflowExecutionActor.scala:49)
        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)
@leepc12 leepc12 changed the title select_first does not work with an empty array (cromwell-36 only) select_first() does not work with an empty array (cromwell-36 only) Oct 26, 2018
@gemmalam gemmalam added the Needs Triage Ticket needs further investigation and refinement prior to moving to milestones label Oct 26, 2018
@aednichols
Copy link
Collaborator

Thank you for reporting.

I found that reverting this PR (commit b1572bedf3b38f3ae8f6a518049e66bd6e884aa6) fixes the issue, so we have a pretty solid clue about where to investigate.

@aednichols
Copy link
Collaborator

Before:

homogeneousTypeFromValues(
	WomOptionalType(WomMaybeEmptyArrayType(WomSingleFileType)),
	WomMaybeEmptyArrayType(WomNothingType)
) = WomOptionalType(WomMaybeEmptyArrayType(WomSingleFileType))

After:

homogeneousTypeFromValues(
	WomOptionalType(WomMaybeEmptyArrayType(WomSingleFileType)),
	WomMaybeEmptyArrayType(WomNothingType)
) = WomOptionalType(WomMaybeEmptyArrayType(WomAnyType))

@gemmalam gemmalam removed the Needs Triage Ticket needs further investigation and refinement prior to moving to milestones label Oct 30, 2018
@aednichols
Copy link
Collaborator

A fix for this just landed on develop and will be in the next release of Cromwell.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants