BenLangmead / bowtie

An ultrafast memory-efficient short read aligner
Other
260 stars 77 forks source link

bowtie-build --debug --sanity crashes #111

Open BenLangmead opened 4 years ago

BenLangmead commented 4 years ago

It seems that specifying --debug --sanity causes bowtie-build to hang, or it least it does for every example I just tried, including simple examples. This seems to be the case in both the master and bug_fixes branches.

$ cat test.fa
>0
TCACGTTGGACGTGTTAGCAACATGCAG
$ ./bowtie-build --debug --sanity test.fa .tmp
Settings:
  Output files: ".tmp.*.ebwt"
  Line rate: 6 (line is 64 bytes)
  Lines per side: 1 (side is 64 bytes)
  Offset rate: 5 (one in 32)
  FTable chars: 10
  Strings: unpacked
  Max bucket size: default
  Max bucket size, sqrt multiplier: default
  Max bucket size, len divisor: 4
  Difference-cover sample period: 1024
  Endianness: little
  Actual local endianness: little
  Sanity checking: enabled
  Assertions: enabled
  Random seed: 0
  Sizeofs: void*:8, int:4, long:8, size_t:8
Input files DNA, FASTA:
  test.fa
Reading reference sizes
  Time reading reference sizes: 00:00:00
Calculating joined length
Writing header
Reserving space for joined string
Joining reference sequences
  Time to join reference sequences: 00:00:00
bmax according to bmaxDivN setting: 7
Using parameters --bmax 6 --dcv 1024
  Doing ahead-of-time memory usage test
  Passed!  Constructing with these parameters: --bmax 6 --dcv 1024
Constructing suffix-array element generator
Building DifferenceCoverSample
  Building sPrime
  Building sPrimeOrder
  V-Sorting samples
  V-Sorting samples time: 00:00:00
  Allocating rank array
  Ranking v-sort output
  Ranking v-sort output time: 00:00:00
  Invoking Larsson-Sadakane on ranks
  Invoking Larsson-Sadakane on ranks time: 00:00:00
  Sanity-checking and returning
  Doing sanity check
Building samples
Reserving space for 12 sample suffixes
Generating random suffixes
QSorting 12 sample offsets, eliminating duplicates
Multikey QSorting 9 samples
  (Using difference cover)
  Multikey QSorting samples time: 00:00:00
QSorting sample offsets, eliminating duplicates time: 00:00:00
Calculating bucket sizes
Splitting and merging
  Splitting and merging time: 00:00:00
Split 1, merged 4; iterating...
Splitting and merging
  Splitting and merging time: 00:00:00
Avg bucket size: 3.14286 (target: 5)
Converting suffix-array elements to index image
Allocating ftab, absorbFtab
Entering Ebwt loop
Getting block 1 of 7
  Reserving size (6) for bucket 1
  Calculating Z arrays for bucket 1
  Entering block accumulator loop for bucket 1:
  bucket 1: 10%
  bucket 1: 20%
  bucket 1: 30%
  bucket 1: 40%
  bucket 1: 50%
  bucket 1: 60%
  bucket 1: 70%
  bucket 1: 80%
  bucket 1: 90%
  bucket 1: 100%
  Sorting block of length 3 for bucket 1
  (Using difference cover)
  Sorting block time: 00:00:00
Returning block of 4 for bucket 1
Getting block 2 of 7
  Reserving size (6) for bucket 2
  Calculating Z arrays for bucket 2
  Entering block accumulator loop for bucket 2:
  bucket 2: 10%
  bucket 2: 20%
  bucket 2: 30%
  bucket 2: 40%
  bucket 2: 50%
  bucket 2: 60%
  bucket 2: 70%
  bucket 2: 80%
  bucket 2: 90%
  bucket 2: 100%
  Sorting block of length 5 for bucket 2
  (Using difference cover)
  Sorting block time: 00:00:00
Returning block of 6 for bucket 2
Getting block 3 of 7
  Reserving size (6) for bucket 3
  Calculating Z arrays for bucket 3
  Entering block accumulator loop for bucket 3:
  bucket 3: 10%
  bucket 3: 20%
  bucket 3: 30%
  bucket 3: 40%
  bucket 3: 50%
  bucket 3: 60%
  bucket 3: 70%
  bucket 3: 80%
  bucket 3: 90%
  bucket 3: 100%
  Sorting block of length 3 for bucket 3
  (Using difference cover)
  Sorting block time: 00:00:00
Returning block of 4 for bucket 3
Getting block 4 of 7
  Reserving size (6) for bucket 4
  Calculating Z arrays for bucket 4
  Entering block accumulator loop for bucket 4:
  bucket 4: 10%
  bucket 4: 20%
  bucket 4: 30%
  bucket 4: 40%
  bucket 4: 50%
  bucket 4: 60%
  bucket 4: 70%
  bucket 4: 80%
  bucket 4: 90%
  bucket 4: 100%
  Sorting block of length 2 for bucket 4
  (Using difference cover)
  Sorting block time: 00:00:00
Returning block of 3 for bucket 4
Getting block 5 of 7
  Reserving size (6) for bucket 5
  Calculating Z arrays for bucket 5
  Entering block accumulator loop for bucket 5:
  bucket 5: 10%
  bucket 5: 20%
  bucket 5: 30%
  bucket 5: 40%
  bucket 5: 50%
  bucket 5: 60%
  bucket 5: 70%
  bucket 5: 80%
  bucket 5: 90%
  bucket 5: 100%
  Sorting block of length 3 for bucket 5
  (Using difference cover)
  Sorting block time: 00:00:00
Returning block of 4 for bucket 5
Getting block 6 of 7
  Reserving size (6) for bucket 6
  Calculating Z arrays for bucket 6
  Entering block accumulator loop for bucket 6:
  bucket 6: 10%
  bucket 6: 20%
  bucket 6: 30%
  bucket 6: 40%
  bucket 6: 50%
  bucket 6: 60%
  bucket 6: 70%
  bucket 6: 80%
  bucket 6: 90%
  bucket 6: 100%
  Sorting block of length 2 for bucket 6
  (Using difference cover)
  Sorting block time: 00:00:00
Returning block of 3 for bucket 6
Getting block 7 of 7
  Reserving size (6) for bucket 7
  Calculating Z arrays for bucket 7
  Entering block accumulator loop for bucket 7:
  bucket 7: 10%
  bucket 7: 20%
  bucket 7: 30%
  bucket 7: 40%
  bucket 7: 50%
  bucket 7: 60%
  bucket 7: 70%
  bucket 7: 80%
  bucket 7: 90%
  bucket 7: 100%
  Sorting block of length 4 for bucket 7
  (Using difference cover)
  Sorting block time: 00:00:00
Returning block of 5 for bucket 7
Exited Ebwt loop
fchr[A]: 0
fchr[C]: 7
fchr[G]: 13
fchr[T]: 21
fchr[$]: 28
Exiting Ebwt::buildToDisk()
Returning from initFromVector
Wrote 4194603 bytes to primary EBWT file: .tmp.1.ebwt
Index is corrupt: File size for .tmp.1.ebwt should have been 4194603 but is actually 0.
Wrote -1 bytes to secondary EBWT file: .tmp.2.ebwt
Please check if there is a problem with the disk or if disk is full.
Total time for call to driver() for forward index: 00:00:00
Command: bowtie-build --wrapper basic-0 --sanity test.fa .tmp

(hang)