2021年3月31日星期三

Missing 'stdout' file when using Slurm and Singularity

I want to use Nextflow for creating pipelines of singularity components which will be executed by Slurm job scheduler. I created a simple job to run just a single task:

#!/usr/bin/env nextflow    process createGroups {      executor = 'slurm'    queue = 'upgrade'    memory = '10 GB'    time = '30 min'    cpus = 8    clusterOptions = '--workdir /path/to/the/singularity/image'      """      singularity run ...      """  }  

The job executes successfully and gives exit status 0, but Nextflow arises "Missing 'stdout' file" error. There is the full output:

Error executing process > 'createGroups'    Caused by:    Missing 'stdout' file: .../work/89/449f849ffc77a967be91ed994da860/.command.out for process > createGroups    Command executed:  executor >  slurm (1)  [89/449f84] process > createGroups [100%] 1 of 1, failed: 1 ✘  Error executing process > 'createGroups'    Caused by:    Missing 'stdout' file: .../work/89/449f849ffc77a967be91ed994da860/.command.out for process > createGroups    Command executed:      singularity run ...    Command exit status:    0    Command output:    (empty)    Work dir:    .../work/89/449f849ffc77a967be91ed994da860    Tip: when you have fixed the problem you can continue the execution adding the option `-resume` to the run command line  

I couldn't find any solution to fix this error :(

Update: Using the slurm's --workdir parameter caused that error. I simply used "cd" command to change the path and it solved my problem.

https://stackoverflow.com/questions/66858401/missing-stdout-file-when-using-slurm-and-singularity March 30, 2021 at 12:57AM

没有评论:

发表评论