# Process failing to retry on timeout

**URL:** <https://community.seqera.io/t/process-failing-to-retry-on-timeout/2298>\
**Category:** Ask for help\
**Tags:** nextflow, config\
**Created:** [July 22, 2025, 5:25pm UTC](https://community.seqera.io/t/process-failing-to-retry-on-timeout/2298 "2025-07-22T17:25:33Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![danross](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/danross/32/1923_2.png) [@danross](https://community.seqera.io/u/danross)\
**Post date:** [July 22, 2025, 5:25pm UTC](https://community.seqera.io/t/process-failing-to-retry-on-timeout/2298/1 "2025-07-22T17:25:33Z")

</div>

I’m newish to nextflow and trying to set dynamic resource allocations for my pipeline. However, when one of my processes finishes due to exceeding the given time limit, the Command exit status is ‘-’ and isn’t picked up by the errorStrategy {task.exitStatus in ((130..145) + 124) ? ‘retry’ : ‘finish’}. Is there something I’m missing?

---

<div class="post-metadata">

**Author:** ![bentsherman](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/bentsherman/32/52_2.png) [@bentsherman](https://community.seqera.io/u/bentsherman)\
**Post date:** [July 23, 2025, 1:54pm UTC](https://community.seqera.io/t/process-failing-to-retry-on-timeout/2298/2 "2025-07-23T13:54:12Z")

</div>

Which executor are you using? Different executors enforce limits in different ways. I think most HPC schedulers give a 143 for exceeding walltime, but your scheduler might be killing the job without returning an exit code.

---

<div class="post-metadata">

**Author:** ![danross](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/danross/32/1923_2.png) [@danross](https://community.seqera.io/u/danross)\
**Post date:** [July 23, 2025, 2:43pm UTC](https://community.seqera.io/t/process-failing-to-retry-on-timeout/2298/3 "2025-07-23T14:43:41Z")

</div>

Thanks! I’m just running it on a local drive for now. I am getting 143 in the .exitcode file, but I don’t understand why that’s not registering as the exit status.

---

<div class="post-metadata">

**Author:** ![bentsherman](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/bentsherman/32/52_2.png) [@bentsherman](https://community.seqera.io/u/bentsherman)\
**Post date:** [July 23, 2025, 4:55pm UTC](https://community.seqera.io/t/process-failing-to-retry-on-timeout/2298/4 "2025-07-23T16:55:27Z")

</div>

Well, if the exitcode file is being written then Nextflow should pick it up. It may be that the exitcode file was written too late and Nextflow simply marked the task as failed with no exit code. Especially with network filesystems. The `.nextflow.log` might be able to provide some insights if something like this happened.

See also `executor.exitReadTimeout` in the [docs](https://nextflow.io/docs/latest/reference/config.html#executor).

---

<div class="post-metadata">

**Author:** ![danross](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/danross/32/1923_2.png) [@danross](https://community.seqera.io/u/danross)\
**Post date:** [July 23, 2025, 5:43pm UTC](https://community.seqera.io/t/process-failing-to-retry-on-timeout/2298/5 "2025-07-23T17:43:25Z")

</div>

> [@bentsherman](#):
>
> executor.exitReadTimeout

I’ll have a closer look through the log to see if I can figure out the problem. Thanks for the suggestion!

---

<div class="post-metadata">

**Author:** ![danross](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/danross/32/1923_2.png) [@danross](https://community.seqera.io/u/danross)\
**Post date:** [July 23, 2025, 7:08pm UTC](https://community.seqera.io/t/process-failing-to-retry-on-timeout/2298/6 "2025-07-23T19:08:57Z")

</div>

In the end I can’t find anything in the log to explain what’s going on. Does the following line mean anything to you?

\<[Task monitor] DEBUG nextflow.util.ThreadPoolBuilder - Creating thread pool ‘TaskFinalizer’ minSize=10; maxSize=48; workQueue=LinkedBlockingQueue[-1]; allowCoreThreadTimeout=false\>

Otherwise, the log entry for the processes look like :  
\<[Task monitor] DEBUG n.processor.TaskPollingMonitor - Task completed \> TaskHandler[id: 9; name: READ\_TAXONOMY:KRAKEN2 (sampleR2); status: COMPLETED; exit: -; error: nextflow.exception.ProcessException: Process exceeded running time limit (1s); workDir: /data/users/danross/MAG\_Pipeline/pipeline\_test/short\_only/work/3d/f8f6d5f77ecb78228acbf89b102c01]\>  
\<[TaskFinalizer-2] DEBUG nextflow.processor.TaskProcessor - Handling unexpected condition for  
task: name=READ\_TAXONOMY:KRAKEN2 (sampleR2); work-dir=/data/users/danross/MAG\_Pipeline/pipeline\_test/short\_only/work/3d/f8f6d5f77ecb78228acbf89b102c01  
error [nextflow.exception.ProcessFailedException]: Process `READ_TAXONOMY:KRAKEN2 (sampleR2)` failed\>  
(I have the time limit set to 1sec just to figure out what’s happening)
