Skip to content

Bubble up some more errors #73

Description

@DLBPointon

Last week I ran into a situation where it would be nice to have some extra error handling.

Essentially I was running nf-test on a number of subworkflows and modules for our internal modules repo, at some point the nf-core modules cache (the .git database) got corrupted, potentially me spamming too many runs over too short a period of time.

After this, the runner would stop at Installing nf-core modules.... at one point I left this overnight (prior to realising the cache was corrupted) and it was still at the same point. It wouldn't properly die until I exit the program.

Running later on with nf-core to install a module resulted in a an error that better led to the issue and I understand now, that many of these commands are actually wrappers for an underlying nf-core tools command. Which has taken me to where I think the error comes from...

Ignore the inlines pointing to specific lines, I was trying to link to the whole function.

// Spit out nf-core tools stderr if install fails
if (result.exitCode != 0) {
System.err.println("Error installing module " + name + ": exit code " + result.exitCode + "\n");
System.out.println("Installation command: \n" + command.toString());
System.err.println("nf-core tools output: \n");
System.err.println(result.stderr);
} else {
System.out.println("Successfully installed module: " + name);
// Write state file to mark module as installed
writeModuleStateFile(stateFile);
}

The error of nf-core crashing due to a corrupted nf-core-modules repo seems to fall outside of the current error catching.

I'll try and re-create the situation for more details.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions