You can use `.map(...).orElse()` it would be more compact You can use `.map(...).orElse()` it would be more compact
Failing task with error handler in a DAG will hang forever leading to zombie execution
### Expected Behavior

_No response_

### Actual Behaviour

See https://demo.kestra.io/ui/executions/io.kestra.bmu/dag-test-error/2lJMuZsJdIvt7GqobvxeQR/gantt
It only happens if we add an error handler, without it a failing task will stop the execution properly

### Steps To Reproduce

_No response_

### Environment Information

- Kestra Version: 0.12.0-SNAPSHOT
- Operating System (OS / Docker / Kubernetes):
- Java Version (If not docker):


### Example flow

```
id: dag-test-error
namespace: io.kestra.bmu
tasks:
- id: dag
  type: io.kestra.core.tasks.flows.Dag
  tasks:
  - task:
      id: Log
      type: io.kestra.core.tasks.log.Log
      message: Some log
    dependsOn:
    - failing
  - task:
      id: failing
      type: io.kestra.core.tasks.executions.Fail
  errors:
  - id: error
    type: io.kestra.core.tasks.log.Log
    message: error handler
```
core/src/main/java/io/kestra/core/runners/FlowableUtils.java
core/src/main/java/io/kestra/core/runners/FlowableUtils.java
diff --git a/core/src/main/java/io/kestra/core/runners/FlowableUtils.java b/core/src/main/java/io/kestra/core/runners/FlowableUtils.java
index 9f50132f3b..419d5de819 100644
--- a/core/src/main/java/io/kestra/core/runners/FlowableUtils.java
+++ b/core/src/main/java/io/kestra/core/runners/FlowableUtils.java
@@ -15,7 +15,6 @@
 
 import java.util.*;
 import java.util.function.BiFunction;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -166,7 +165,8 @@ public static List<NextTaskRun> resolveDagNexts(
     ) {
         return resolveParallelNexts(
             execution,
-            tasks, errors,
+            tasks,
+            errors,
             parentTaskRun,
             concurrency,
             (nextTaskRunStream, taskRuns) -> nextTaskRunStream
@@ -180,8 +180,8 @@ public static List<NextTaskRun> resolveDagNexts(
                             .equals(task.getId())
                         )
                         .findFirst()
-                        .get()
-                        .getDependsOn();
+                        .map(Dag.DagTask::getDependsOn)
+                        .orElse(null);
 
                     // Check if have no dependencies OR all dependencies are terminated
                     return taskDependIds == null ||
