vgteam / vg

tools for working with genome variation graphs
https://biostars.org/tag/vg/
Other
1.13k stars 195 forks source link

vg sift -1: Segmentation fault if multithreaded #2199

Open evanbiederstedt opened 5 years ago

evanbiederstedt commented 5 years ago

I was fiddling with vg sift, using the option -1 whereby

-1 / --calc-insert        Calculate and print the insert size mean / sd every 1000 reads.

It looks like this works by default or if -t 1, but if users try more than one thread, there's a Segmentation Fault. That's somewhat reasonable, as the options state:

 -t / --threads  <MTHRDS>    number of OMP threads (not all algorithms are parallelized).

Perhaps this is something to polish at some point (I could consider a PR if there's time).

Here's an example, whereby file1.gam is approx. 45GB:

$ vg sift -t 2 -1 /path/file1.gam

Filtering /path/file1.gam

ERROR: Signal 11 occurred. VG has crashed. Run 'vg bugs --new' to report a bug.
Stack trace path: /tmp/vg_crash_SN6StQ/stacktrace.txt
Segmentation fault

and then

$ cat /tmp/vg_crash_SN6StQ/stacktrace.txt
Crash report for vg v1.14.0-206-gc9ba0364 "Quadrelle"
Stack trace (most recent call last):
#9    Object "", at 0xffffffffffffffff, in 
#8    Object "", at 0x7efe808bcd0e, in 
#7    Object "", at 0x7efe8585e4a3, in 
#6    Object "", at 0x7efe80da06b5, in 
#5    Object "", at 0x56303e9b6260, in 
#4    Object "", at 0x7efe80da2f1b, in 
#3    Object "", at 0x7efe80d9a4ae, in 
#2    Object "", at 0x56303e9b5cae, in 
#1    Object "", at 0x56303e9b5a07, in 
#0    Object "", at 0x56303e911c4d, in 

Similar behavior if -t N s.t. N>1, but never if N==1.

edawson commented 5 years ago

Thanks for catching this! I'll see what I can do about cleaning it up.