Skip to content

forks not cleaned up when -x passed file that does not exist #384

@wholtz

Description

@wholtz

Passing the -x option to hisat2 with a filename that does not exist results in an error and the process exits as expected:

$ hisat2 -x DOES_NOT_EXIST -U input.fq.gz
(ERR): "DOES_NOT_EXIST" does not exist
Exiting now ...
$

But if this same command is the input to a pipe, then the process hangs:

$ hisat2 -x DOES_NOT_EXIST -U input.fq.gz | wc 
(ERR): "DOES_NOT_EXIST" does not exist
Exiting now ...

This is due to forks() not being cleaned up. I have PR that I will be submitting very shortly....

Version information:

$ hisat2 --version
/global/cfs/cdirs/m342/USA/wjholtz/conda/envs/hisat2/bin/hisat2-align-s version 2.2.1
64-bit
Built on fv-az212-765
Wed Feb 23 05:52:46 UTC 2022
Compiler: collect2: error: ld returned 1 exit status
Options: -O3 -m64 -msse2 -funroll-loops -g3 -DPOPCNT_CAPABILITY -std=c++11
Sizeof {int, long, long long, void*, size_t, off_t}: {4, 8, 8, 8, 8, 8}
$ uname -a
Linux myhostname 5.3.18-150200.24.115-default #1 SMP Wed Jun 8 08:43:53 UTC 2022 (5da3dca) x86_64 x86_64 x86_64 GNU/Linux 

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