Troubleshooting basics
These are the recommended steps for troubleshooting a pipeline.
Check Nextflow is definitely working
Before using the pipeline with your own data and parameters, make sure to run a test in a separate directory using:
If Docker is not installed, you can replace docker
with singularity
or conda
, see
the Getting Started tutorial for further information. If a test fails, it might indicate that
there is an issue with the installation or configuration of Nextflow or software management tool, rather than a pipeline error.
You might also want to check the following:
- Nextflow is up to date. Use
nextflow self-update
to update a typical installation orconda update nextflow
for a Bioconda installation. - There is enough disk space, this will avoid running out of space while you are running the pipeline.
- Docker daemon is running (if you are using Docker to manage dependencies).
Categorize the type of error
For this step you try to identify when the error occurs:
-
Before the first process: errors that occur before the first process might be related to an outdated version of Nextflow, updating to the newest version could help solving the issue. An example error is:
-
During the first process: when an error appears during the first process it might indicate an issue with software dependencies, to specify how Nextflow should handle dependencies you need to select a configuration profile. This type of error might also be related to a missing command required to run the pipeline. Example error:
-
During run: for errors that occur while a pipeline is running or generating outputs it might be helpful to check log files as explained below.
-
While generating outputs: if an expected process output is missing, Nextflow will fail with the message
Missing output file(s)
. Then the error message of that tool will be displayed. Example error:
Read the log and check the work directory
Checking the log files can help you to identify the type of error and where the error occurred.
The first log file to look at is .nextflow.log
that is placed in you executed nextflow run
.
This reports all logging information from the overarching pipeline run.
Note this can be overwhelming! If so, proceed to the next step.
In order to search the output related to the error we need to understand the anatomy of the work directory. The work directory is reported at the end of the error message:
And contains:
command.out
STDOUT from tool.command.err
STDERR from tool.command.log
contains both STDOUT and STDERR from tool.command.begin
created as soon as the job launches.exitcode
created when the job ends, with exit code.command.trace
logs of compute resource usage.command.run
wrapper script used to run the job.command.sh
process command used for this task.
If you checked the files and identified the type of error and where it occurred but were unable to solve it you can always ask for help.
Asking for help
If you still have an issue with running the pipeline then feel free to contact us via the Slack channel. Please, consider the following guidelines:
- Pick the correct Slack channel to post in.
- Provide as much information as you can.
- As a minimum the command and configs you used.
- Use a Slack thread under your message if in doubt.
- Use markdown code blocks.
- Narrow the issue down as much as possible before asking.
- Explain the steps to reproduce if possible.
You can also open an issue in the respective pipeline repository on GitHub asking for help. In order to open the issue:
- Narrow the issue down as much as possible before opening the issue.
- Fill in the bug issue template.
- Explain the steps to reproduce.
- If you think you know the solution, please say so.
- If you think you can fix the problem, please make a pull request.
If you have problems that are directly related to Nextflow and not our pipelines or the nf-core framework tools then check out the Nextflow Slack Channel.