DaehwanKimLab / hisat2

Graph-based alignment (Hierarchical Graph FM index)
GNU General Public License v3.0
464 stars 112 forks source link

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

Open wholtz opened 1 year ago

wholtz commented 1 year ago

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