Skip to content

Undetected Executables' path errors #24

@azzaea

Description

@azzaea

It seems the pipeline is unable to tell when the executable of one of the programs being called (say bwa) is non-existing. These checks were already in place in the bash version of the pipeline, but we skipped this part while building the Swift/T equivalent.

The tricky part is that the error messages resulting from erroneous usage are silently dropped, without alarming the user of the problem. To be more specific, the error message does get printed, but in place of the expected output; and since nothing gets produced (i.e., no exit code from the app function), the pipeline simply hangs, and the user stays in the dark.

Practical example when bwa path is erroneously specified in the runfile:

$ cat tmp_analysis/align/H3A_NextGen_assessment_set3.noDedups.sam
CAUGHT ERROR:^M
^M
error: c::sync_exec: Error executing command /home/apps/bwa/bwa-0.7.15: No such file or directory^M
^M
^M
    invoked from within^M
"c::sync_exec $stdin_src $stdout_dst $stderr_dst $cmd {*}$args"^M
    (procedure "turbine::exec_external" line 19)^M
    invoked from within^M
"turbine::exec_external ${v:bwaexe} [ dict create "stdout" ${v:__filename:output} "stderr" ${v:__filename:outLog} ] "mem" "-M" {*}${v:bwamemparams} "-t..."^M
    (procedure "bwa_mem-app-leaf1" line 35)^M
    invoked from within^M
"bwa_mem-app-leaf1 152.0 152.1 150.0 157 163 164 165 0 1 H3A_NextGen_assessment_set3 {H3A_NextGen_assessment_set3       ALL     BWAMEM start    1506715523^M
} {file 1..."^M
Turbine worker task error in: bwa_mem-app-leaf1 152.0 152.1 150.0 157 163 164 165 0 1 H3A_NextGen_assessment_set3 {H3A_NextGen_assessment_set3  ALL     BWAMEM start    1506715523^M
} {file 160 is_mapped 1} {file 150 is_mapped 1} 140 153 {file 161 is_mapped 1}^M
    invoked from within^M
"c::worker_loop $WORK_TYPE($mode) $keyword_args"^M
    (procedure "standard_worker" line 27)^M
    invoked from within^M
"standard_worker $rules $startup_cmd "^M
    (procedure "enter_mode_unchecked" line 5)^M
    invoked from within^M
"enter_mode_unchecked $rules $startup_cmd"^M
    (procedure "enter_mode" line 5)^M
    invoked from within^M
"enter_mode $rules $startup_cmd "^M
ADLB: ADLB_Abort(1) calling MPI_Abort(1)

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