marbl / canu

A single molecule sequence assembler for genomes large and small.
http://canu.readthedocs.io/
654 stars 179 forks source link

canu-1.8/bin/ovStoreStats: Segmentation fault #1223

Closed mmokrejs closed 5 years ago

mmokrejs commented 5 years ago

Hi, I have only about 10x coverage for a 1.3Gb genome from MiniION R9.4. I tried some error-correction alone and here I tried to continue with assembly. Somehow, this step is crashing and it seems similar to https://github.com/marbl/canu/issues/1159:

/scratch/work/project/bio/canu-1.8/Linux-amd64/bin/canu -p tt_16D1C3L12 -d tt_16D1C3L12__OxNano_passed_and_failed__assembly genomeSize=1.3g 'gridOptions=-A OPEN-13-42 -q qlong' 'gridEngineThreadsOption=-l select=1:ncpus=THREADS,walltime=144:00:00 -l select=1:mem=125g' useGrid=False stopOnLowCoverage=3 correctedErrorRate=0.3 utgGraphDeviation=50 -nanopore-corrected tt_16D1C3L12__OxNano_passed_and_failed_iteration_1/tt_16D1C3L12.correctedReads.fasta.gz
-- Canu 1.8
--
-- CITATIONS
--
-- Koren S, Walenz BP, Berlin K, Miller JR, Phillippy AM.
-- Canu: scalable and accurate long-read assembly via adaptive k-mer weighting and repeat separation.
-- Genome Res. 2017 May;27(5):722-736.
-- http://doi.org/10.1101/gr.215087.116
-- 
-- Koren S, Rhie A, Walenz BP, Dilthey AT, Bickhart DM, Kingan SB, Hiendleder S, Williams JL, Smith TPL, Phillippy AM.
-- De novo assembly of haplotype-resolved genomes with trio binning.
-- Nat Biotechnol. 2018
-- https//doi.org/10.1038/nbt.4277
-- 
-- Read and contig alignments during correction, consensus and GFA building use:
--   Šošic M, Šikic M.
--   Edlib: a C/C ++ library for fast, exact sequence alignment using edit distance.
--   Bioinformatics. 2017 May 1;33(9):1394-1395.
--   http://doi.org/10.1093/bioinformatics/btw753
-- 
-- Overlaps are generated using:
--   Berlin K, et al.
--   Assembling large genomes with single-molecule sequencing and locality-sensitive hashing.
--   Nat Biotechnol. 2015 Jun;33(6):623-30.
--   http://doi.org/10.1038/nbt.3238
-- 
--   Myers EW, et al.
--   A Whole-Genome Assembly of Drosophila.
--   Science. 2000 Mar 24;287(5461):2196-204.
--   http://doi.org/10.1126/science.287.5461.2196
-- 
-- Corrected read consensus sequences are generated using an algorithm derived from FALCON-sense:
--   Chin CS, et al.
--   Phased diploid genome assembly with single-molecule real-time sequencing.
--   Nat Methods. 2016 Dec;13(12):1050-1054.
--   http://doi.org/10.1038/nmeth.4035
-- 
-- Contig consensus sequences are generated using an algorithm derived from pbdagcon:
--   Chin CS, et al.
--   Nonhybrid, finished microbial genome assemblies from long-read SMRT sequencing data.
--   Nat Methods. 2013 Jun;10(6):563-9
--   http://doi.org/10.1038/nmeth.2474
-- 
-- CONFIGURE CANU
--
-- Detected Java(TM) Runtime Environment '1.8.0_181' (from '/home/mmokrejs/.gentoo/apps/gentoo/java-config-2/current-user-vm/bin/java') with -d64 support.
-- Detected gnuplot version '5.2 patchlevel 5a (Gentoo revision r0)   ' (from 'gnuplot') and image format 'png'.
-- Detected 24 CPUs and 126 gigabytes of memory.
-- Detected PBSPro 'PBSPro_13.1.1.162303' with 'pbsnodes' binary in /opt/pbs/default/bin/pbsnodes.
-- Grid engine disabled per useGrid=false option.
--
--                            (tag)Concurrency
--                     (tag)Threads          |
--            (tag)Memory         |          |
--        (tag)         |         |          |     total usage     algorithm
--        -------  ------  --------   --------  -----------------  -----------------------------
-- Local: meryl     42 GB    8 CPUs x   3 jobs   126 GB   24 CPUs  (k-mer counting)
-- Local: hap       16 GB   24 CPUs x   1 job     16 GB   24 CPUs  (read-to-haplotype assignment)
-- Local: cormhap   32 GB   12 CPUs x   2 jobs    64 GB   24 CPUs  (overlap detection with mhap)
-- Local: obtovl    16 GB   12 CPUs x   2 jobs    32 GB   24 CPUs  (overlap detection)
-- Local: utgovl    16 GB   12 CPUs x   2 jobs    32 GB   24 CPUs  (overlap detection)
-- Local: ovb        4 GB    1 CPU  x  24 jobs    96 GB   24 CPUs  (overlap store bucketizer)
-- Local: ovs       32 GB    1 CPU  x   3 jobs    96 GB    3 CPUs  (overlap store sorting)
-- Local: red       12 GB    8 CPUs x   3 jobs    36 GB   24 CPUs  (read error detection)
-- Local: oea        4 GB    1 CPU  x  24 jobs    96 GB   24 CPUs  (overlap error adjustment)
-- Local: bat      126 GB   16 CPUs x   1 job    126 GB   16 CPUs  (contig construction with bogart)
-- Local: gfa       16 GB   16 CPUs x   1 job     16 GB   16 CPUs  (GFA alignment and processing)
--
-- In 'tt_16D1C3L12.seqStore', found Nanopore reads:
--   Raw:        0
--   Corrected:  885412
--   Trimmed:    669651
--
-- Generating assembly 'tt_16D1C3L12' in '/scratch/work/project/bio/open-13-42/assemblies/canu/tt_16D1C3L12__OxNano_passed_and_failed__assembly'
--
-- Parameters:
--
--  genomeSize        1300000000
--
--  Overlap Generation Limits:
--    corOvlErrorRate 0.3200 ( 32.00%)
--    obtOvlErrorRate 0.3000 ( 30.00%)
--    utgOvlErrorRate 0.3000 ( 30.00%)
--
--  Overlap Processing Limits:
--    corErrorRate    0.5000 ( 50.00%)
--    obtErrorRate    0.3000 ( 30.00%)
--    utgErrorRate    0.3000 ( 30.00%)
--    cnsErrorRate    0.3000 ( 30.00%)
--
--
-- BEGIN ASSEMBLY
--
--
-- Running jobs.  First attempt out of 2.
----------------------------------------
-- Starting 'utgovl' concurrent execution on Fri Jan 18 21:13:49 2019 with 235052.034 GB free disk space (4 processes; 2 concurrently)

    cd unitigging/1-overlapper
    ./overlap.sh 16 > ./overlap.000016.out 2>&1
    ./overlap.sh 17 > ./overlap.000017.out 2>&1
    ./overlap.sh 18 > ./overlap.000018.out 2>&1
    ./overlap.sh 19 > ./overlap.000019.out 2>&1

-- Finished on Thu Jan 24 13:26:09 2019 (490340 seconds, better late than never) with 266231.29 GB free disk space
----------------------------------------
-- Found 19 overlapInCore output files.
--
-- overlapInCore compute 'unitigging/1-overlapper':
--   kmer hits
--     with no overlap       4149469011  105.842105 +- 118685238.842
--     with an overlap        475375614  69.1578947 +- 13047311.792
--
--   overlaps                 475375614  69.1578947 +- 13047311.792
--     contained              230686739  07.3157895 +- 6443133.904
--     dovetail               244688875  61.8421053 +- 6736159.009
--
--   overlaps rejected
--     multiple per pair              0           0 +- 0
--     bad short window               0           0 +- 0
--     bad long window                0           0 +- 0
-- Finished stage 'utg-overlapCheck', reset canuIteration.
----------------------------------------
-- Starting command on Thu Jan 24 13:26:16 2019 with 266229.648 GB free disk space

    cd unitigging
    /scratch/work/project/bio/canu-1.8/Linux-amd64/bin/ovStoreConfig \
     -S ../tt_16D1C3L12.seqStore \
     -M 16-32 \
     -L ./1-overlapper/ovljob.files \
     -create ./tt_16D1C3L12.ovlStore.config \
     > ./tt_16D1C3L12.ovlStore.config.txt \
    2> ./tt_16D1C3L12.ovlStore.config.err

-- Finished on Thu Jan 24 13:26:18 2019 (2 seconds) with 266229.197 GB free disk space
----------------------------------------
--
-- Creating overlap store unitigging/tt_16D1C3L12.ovlStore using:
--      2 buckets
--      2 slices
--        using at most 22 GB memory each
-- Finished stage 'utg-overlapStoreConfigure', reset canuIteration.
--
-- Running jobs.  First attempt out of 2.
----------------------------------------
-- Starting 'ovB' concurrent execution on Thu Jan 24 13:26:18 2019 with 266229.197 GB free disk space (2 processes; 24 concurrently)

    cd unitigging/tt_16D1C3L12.ovlStore.BUILDING
    ./scripts/1-bucketize.sh 1 > ./logs/1-bucketize.000001.out 2>&1
    ./scripts/1-bucketize.sh 2 > ./logs/1-bucketize.000002.out 2>&1

-- Finished on Thu Jan 24 13:28:18 2019 (120 seconds) with 266186.508 GB free disk space
----------------------------------------
-- Overlap store bucketizer finished.
-- Finished stage 'utg-overlapStoreBucketizerCheck', reset canuIteration.
--
-- Running jobs.  First attempt out of 2.
----------------------------------------
-- Starting 'ovS' concurrent execution on Thu Jan 24 13:28:18 2019 with 266186.508 GB free disk space (2 processes; 3 concurrently)

    cd unitigging/tt_16D1C3L12.ovlStore.BUILDING
    ./scripts/2-sort.sh 1 > ./logs/2-sort.000001.out 2>&1
    ./scripts/2-sort.sh 2 > ./logs/2-sort.000002.out 2>&1

-- Finished on Thu Jan 24 13:34:23 2019 (365 seconds) with 266116.481 GB free disk space
----------------------------------------
-- Overlap store sorter finished.
-- Finished stage 'utg-overlapStoreSorterCheck', reset canuIteration.
----------------------------------------
-- Starting command on Thu Jan 24 13:34:23 2019 with 266116.481 GB free disk space

    cd unitigging
    /scratch/work/project/bio/canu-1.8/Linux-amd64/bin/ovStoreIndexer \
      -O  ./tt_16D1C3L12.ovlStore.BUILDING \
      -S ../tt_16D1C3L12.seqStore \
      -C  ./tt_16D1C3L12.ovlStore.config \
      -delete \
    > ./tt_16D1C3L12.ovlStore.BUILDING.index.err 2>&1

-- Finished on Thu Jan 24 13:34:28 2019 (5 seconds) with 266120.314 GB free disk space
----------------------------------------
-- Checking store.
----------------------------------------
-- Starting command on Thu Jan 24 13:34:28 2019 with 266120.314 GB free disk space

    cd unitigging
    /scratch/work/project/bio/canu-1.8/Linux-amd64/bin/ovStoreDump \
     -S ../tt_16D1C3L12.seqStore \
     -O  ./tt_16D1C3L12.ovlStore \
     -counts \
     > ./tt_16D1C3L12.ovlStore/counts.dat 2> ./tt_16D1C3L12.ovlStore/counts.err

-- Finished on Thu Jan 24 13:34:29 2019 (one second) with 266120.314 GB free disk space
----------------------------------------
--
-- Overlap store 'unitigging/tt_16D1C3L12.ovlStore' successfully constructed.
-- Found 950751228 overlaps for 666287 reads; 219125 reads have no overlaps.
--
--
-- Purged 8.19 GB in 57 overlap output files.
----------------------------------------
-- Starting command on Thu Jan 24 13:34:31 2019 with 266134.54 GB free disk space

    cd unitigging
    /scratch/work/project/bio/canu-1.8/Linux-amd64/bin/ovStoreStats \
     -C 4 \
     -S ../tt_16D1C3L12.seqStore \
     -O  ./tt_16D1C3L12.ovlStore \
     -o  ./tt_16D1C3L12.ovlStore \
     > ./tt_16D1C3L12.ovlStore.summary.err 2>&1
sh: line 5: 21515 Segmentation fault      /scratch/work/project/bio/canu-1.8/Linux-amd64/bin/ovStoreStats -C 4 -S ../tt_16D1C3L12.seqStore -O ./tt_16D1C3L12.ovlStore -o ./tt_16D1C3L12.ovlStore > ./tt_16D1C3L12.ovlStore.summary.err 2>&1

-- Finished on Thu Jan 24 13:38:45 2019 (254 seconds) with 266113.554 GB free disk space
----------------------------------------

ERROR:
ERROR:  Failed with exit code 139.  (rc=35584)
ERROR:
--
-- WARNING: failed to generate statistics for the overlap store; no summary will appear in report.
--
----------------------------------------
-- Finished stage 'utg-createOverlapStore', reset canuIteration.
--
-- Loading read lengths.
-- Loading number of overlaps per read.
--
-- Configure RED for 12gb memory.
--                   Batches of at most (unlimited) reads.
--                                      500000000 bases.
--                   Expecting evidence of at most 536870912 bases per iteration.
--
--           Total                                               Reads                 Olaps Evidence
--    Job   Memory      Read Range         Reads        Bases   Memory        Olaps   Memory   Memory  (Memory in MB)
--   ---- -------- ------------------- --------- ------------ -------- ------------ -------- --------
--      1  9930.80         1-85753         78892    500018150  5724.74     99096214  1134.07  1024.00
--      2  9798.66     85754-138373        49432    500002223  5723.63     87646453  1003.03  1024.00
--      3  9729.21    138374-189117        49102    500005844  5723.66     81575425   933.56  1024.00
--      4  9691.05    189118-235238        44601    500000077  5723.45     78258708   895.60  1024.00
--      5  9760.80    235239-286727        49599    500051026  5724.19     84288486   964.61  1024.00
--      6  9650.03    286728-342250        51913    500006040  5723.75     74648010   854.28  1024.00
--      7  9803.17    342251-395168        50138    500001929  5723.65     88038953  1007.53  1024.00
--      8  9797.21    395169-448529        50745    500009766  5723.75     87508212  1001.45  1024.00
--      9  9793.62    448530-512308        58988    500002012  5723.93     87179547   997.69  1024.00
--     10  9548.56    512309-671747        73796    500010536  5724.49     65716847   752.07  1024.00
--     11  9532.95    671748-789829        61278    500002596  5724.00     64395324   736.95  1024.00
--     12  8161.13    789830-885412        51167    392154927  4489.47     52399049   599.66  1024.00
--   ---- -------- ------------------- --------- ------------ -------- ------------ -------- --------
--                                                 5892265126             950751228
-- Finished stage 'readErrorDetectionConfigure', reset canuIteration.
--
-- Running jobs.  First attempt out of 2.
----------------------------------------
-- Starting 'red' concurrent execution on Thu Jan 24 13:38:52 2019 with 266112.716 GB free disk space (12 processes; 3 concurrently)

    cd unitigging/3-overlapErrorAdjustment
    ./red.sh 1 > ./red.000001.out 2>&1
    ./red.sh 2 > ./red.000002.out 2>&1
    ./red.sh 3 > ./red.000003.out 2>&1
...

I retried later to run just the crashing command but I am getting same error:

$ /scratch/work/project/bio/canu-1.8/Linux-amd64-uv1_dbg/bin/ovStoreStats -C 4 -S ../tt_16D1C3L12.seqStore -O  ./tt_16D1C3L12.ovlStore -o  ./tt_16D1C3L12.ovlStore > ./tt_16D1C3L12.ovlStore.summary.err 2>&1
Segmentation fault (core dumped)
$ cat tt_16D1C3L12.ovlStore.summary.err

Failed with 'Segmentation fault'; backtrace (libbacktrace):
utility/system-stackTrace.C::89 in _Z17AS_UTL_catchCrashiP9siginfo_tPv()
(null)::0 in (null)()
(null)::0 in (null)()
stores/ovStoreStats.C::544 in main()
(null)::0 in (null)()
(null)::0 in (null)()
(null)::0 in (null)()
$ gdb /scratch/work/project/bio/canu-1.8/Linux-amd64-uv1_dbg/bin/ovStoreStats /scratch/work/project/bio/open-13-42/assemblies/canu/tt_16D1C3L12__OxNano_passed_and_failed__assembly/unitigging/core.106786 
GNU gdb (Gentoo 8.2 p1) 8.2
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /scratch/work/project/bio/canu-1.8/Linux-amd64-uv1_dbg/bin/ovStoreStats...done.
[New LWP 106786]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/apps/gentoo/lib64/libthread_db.so.1".
Core was generated by `/scratch/work/project/bio/canu-1.8/Linux-amd64-uv1_dbg/bin/ovStoreStats -C 4 -S'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00002aaaaaab26c8 in histogramStatistics::finalizeData (this=0x2aaaaad28960) at utility/stddev.H:486
486       maddata[mad] += _histogram[ii];
(gdb) where
#0  0x00002aaaaaab26c8 in histogramStatistics::finalizeData (this=0x2aaaaad28960) at utility/stddev.H:486
#1  0x00002aaaaaab0623 in main (argc=9, argv=0x7fffffffda68) at stores/ovStoreStats.C:544
(gdb) bt full
#0  0x00002aaaaaab26c8 in histogramStatistics::finalizeData (this=0x2aaaaad28960) at utility/stddev.H:486
        mad = 6614635
        ii = 0
        maddata = 0x2aab31b88010
#1  0x00002aaaaaab0623 in main (argc=9, argv=0x7fffffffda68) at stores/ovStoreStats.C:544
        seqName = 0x7fffffffdda6 "../tt_16D1C3L12.seqStore"
        ovlName = 0x7fffffffddc2 "./tt_16D1C3L12.ovlStore"
        outPrefix = 0x7fffffffdddd "./tt_16D1C3L12.ovlStore"
        bgnID = 0
        endID = 885412
        ovlSelect = 255
        ovlAtMost = 4095
        ovlAtLeast = 0
        expectedMean = 4
        toFile = true
        beVerbose = false
        arg = 9
        err = 0
        seqStore = 0x2aaaaad21d20
        ovlStore = 0x2aaaaad23f70
        readNoOlaps = 0x2aaaaad28300
        readHole = 0x2aaaaad28360
        readHump = 0x2aaaaad283c0
        readNo5 = 0x2aaaaad28420
        readNo3 = 0x2aaaaad28480
        olapHole = 0x2aaaaad284e0
        olapHump = 0x2aaaaad28540
        olapNo5 = 0x2aaaaad285a0
        olapNo3 = 0x2aaaaad28600
        readLowCov = 0x2aaaaad28660
        readUnique = 0x2aaaaad286c0
        readRepeatCont = 0x2aaaaad28720
        readRepeatDove = 0x2aaaaad28780
        readSpanRepeat = 0x2aaaaad287e0
        readUniqRepeatCont = 0x2aaaaad28840
        readUniqRepeatDove = 0x2aaaaad288a0
        readUniqAnchor = 0x2aaaaad28900
        covrLowCov = 0x2aaaaad28960
        covrUnique = 0x2aaaaad289c0
        covrRepeatCont = 0x2aaaaad28a20
        covrRepeatDove = 0x2aaaaad28a80
        covrSpanRepeat = 0x2aaaaad28ae0
        covrUniqRepeatCont = 0x2aaaaad28b40
        covrUniqRepeatDove = 0x2aaaaad28ba0
        covrUniqAnchor = 0x2aaaaad28c00
        olapLowCov = 0x2aaaaad28c60
        olapUnique = 0x2aaaaad28cc0
        olapRepeatCont = 0x2aaaaad28d20
        olapRepeatDove = 0x2aaaaad28d80
        olapSpanRepeat = 0x2aaaaad28de0
        olapUniqRepeatCont = 0x2aaaaad28e40
        olapUniqRepeatDove = 0x2aaaaad28ea0
        olapUniqAnchor = 0x2aaaaad28f00
        LOGname = "./tt_16D1C3L12.ovlStore.per-read.log", '\000' <repeats 2996 times>...
        LOG = 0x0
        overlapsMax = 65536
        overlaps = 0x2aab316e7018
        C = {static _spinr = {0x2aaaaaadbba8 "[|]", 0x2aaaaaadbbac "[/]", 0x2aaaaaadbbb0 "[-]", 0x2aaaaaadbbb4 "[\\]"}, static _liner = <same as static member of an already seen type>, _count = 0, _draws = 0, _unit = 1, _freq = 127, 
--Type <RET> for more, q to quit, c to continue without paging--
          _startTime = 1548699227.0831499, _fmt = 0x2aaaaaadaa50 "  %9.0f reads (%6.1f reads/sec)\r", _spin = false, _line = false, _enabled = false}
        __PRETTY_FUNCTION__ = "int main(int, char**)"
        nReads = 0
(gdb) quit
$ 
brianwalenz commented 5 years ago

Awesome, thanks for the stack trace.

It's generating a diagnostic report on how useful the overlaps look for assembly. The report isn't used by Canu, and so the crash here is ignored and Canu continues running.

For what it's worth, its crashing when computing statistics on overlap depth for reads with low coverage.

mmokrejs commented 5 years ago

Thank you, yes it seemed it is not really needed. If you need the tt_16D1C3L12.ovlStore.per-read.log file or some other please let me know. Or I can test some patches.

brianwalenz commented 5 years ago

Should be fixed, but I wasn't able to reproduce exactly the failure. I'd appreciate testing with the github latest code; ovStoreStats won't interfere with any existing canu run.

mmokrejs commented 5 years ago

Unfortunately it did not help:

$ gdb /scratch/work/project/bio/canu/Linux-amd64-uv1_dbg/bin/ovStoreStats /scratch/work/project/bio/open-13-42/assemblies/canu/tt_16D1C3L12__OxNano_passed_and_failed__assembly/unitigging/core.106887
GNU gdb (Gentoo 8.2 p1) 8.2
...

Reading symbols from /scratch/work/project/bio/canu/Linux-amd64-uv1_dbg/bin/ovStoreStats...done.
[New LWP 106887]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/apps/gentoo/lib64/libthread_db.so.1".
Core was generated by `ovStoreStats -C 4 -S ../tt_16D1C3L12.seqStore -O ./tt_16D1C3L12.ovlStore -o ./t'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007ffff7dc76cc in histogramStatistics::finalizeData (this=0x7ffff8017960) at utility/stddev.H:486
486       maddata[mad] += _histogram[ii];
(gdb) where
#0  0x00007ffff7dc76cc in histogramStatistics::finalizeData (this=0x7ffff8017960) at utility/stddev.H:486
#1  0x00007ffff7dc5623 in main (argc=9, argv=0x7fffffffda38) at stores/ovStoreStats.C:544
(gdb) bt full
#0  0x00007ffff7dc76cc in histogramStatistics::finalizeData (this=0x7ffff8017960) at utility/stddev.H:486
        mad = 6614635
        ii = 0
        maddata = 0x7ffff8017f60
#1  0x00007ffff7dc5623 in main (argc=9, argv=0x7fffffffda38) at stores/ovStoreStats.C:544
        seqName = 0x7fffffffdd44 "../tt_16D1C3L12.seqStore"
        ovlName = 0x7fffffffdd60 "./tt_16D1C3L12.ovlStore"
        outPrefix = 0x7fffffffdd7b "./tt_16D1C3L12.ovlStore"
        bgnID = 0
        endID = 885412
        ovlSelect = 255
        ovlAtMost = 4095
        ovlAtLeast = 0
        expectedMean = 4
        toFile = true
        beVerbose = false
        arg = 9
        err = 0
        seqStore = 0x7ffff8010d20
        ovlStore = 0x7ffff8012f70
        readNoOlaps = 0x7ffff8017300
        readHole = 0x7ffff8017360
        readHump = 0x7ffff80173c0
        readNo5 = 0x7ffff8017420
        readNo3 = 0x7ffff8017480
        olapHole = 0x7ffff80174e0
        olapHump = 0x7ffff8017540
        olapNo5 = 0x7ffff80175a0
        olapNo3 = 0x7ffff8017600
        readLowCov = 0x7ffff8017660
        readUnique = 0x7ffff80176c0
        readRepeatCont = 0x7ffff8017720
        readRepeatDove = 0x7ffff8017780
        readSpanRepeat = 0x7ffff80177e0
        readUniqRepeatCont = 0x7ffff8017840
        readUniqRepeatDove = 0x7ffff80178a0
        readUniqAnchor = 0x7ffff8017900
        covrLowCov = 0x7ffff8017960
        covrUnique = 0x7ffff80179c0
        covrRepeatCont = 0x7ffff8017a20
        covrRepeatDove = 0x7ffff8017a80
        covrSpanRepeat = 0x7ffff8017ae0
        covrUniqRepeatCont = 0x7ffff8017b40
        covrUniqRepeatDove = 0x7ffff8017ba0
        covrUniqAnchor = 0x7ffff8017c00
        olapLowCov = 0x7ffff8017c60
        olapUnique = 0x7ffff8017cc0
        olapRepeatCont = 0x7ffff8017d20
        olapRepeatDove = 0x7ffff8017d80
        olapSpanRepeat = 0x7ffff8017de0
        olapUniqRepeatCont = 0x7ffff8017e40
        olapUniqRepeatDove = 0x7ffff8017ea0
        olapUniqAnchor = 0x7ffff8017f00
        LOGname = "./tt_16D1C3L12.ovlStore.per-read.log", '\000' <repeats 2996 times>...
        LOG = 0x0
        overlapsMax = 65536
        overlaps = 0x7fff71348018
        C = {static _spinr = {0x7ffff7df0c08 "[|]", 0x7ffff7df0c0c "[/]", 0x7ffff7df0c10 "[-]", 0x7ffff7df0c14 "[\\]"}, static _liner = <same as static member of an already seen type>, _count = 0, _draws = 0, _unit = 1, 
          _freq = 127, _startTime = 1549290819.8606889, _fmt = 0x7ffff7defa50 "  %9.0f reads (%6.1f reads/sec)\r", _spin = false, _line = false, _enabled = false}
--Type <RET> for more, q to quit, c to continue without paging--
        __PRETTY_FUNCTION__ = "int main(int, char**)"
        nReads = 0
(gdb)
mmokrejs commented 5 years ago

If you give me some copy&paste commands I can execute them within the gdb session for you.

brianwalenz commented 5 years ago

OK, now I think I've got it fixed. Reopen if you happen to test and it fails.

mmokrejs commented 5 years ago

So I tested the 490b517a0..83c539e66 changes

$ make
Building for 'Linux' '3.10.0-957.5.1.el7.x86_64' as 'amd64' into '/scratch/work/project/bio/canu/Linux-amd64/{bin,obj}'.
Using '/apps/gentoo/usr/x86_64-pc-linux-gnu/gcc-bin/8.2.0/c++' version '8.2.0'.

Building snapshot v1.8 +125 changes (r9335 83c539e663be24be1eee22d5e2f9d974ba5344c9) (sync'd with guthub)
...

The guthub is a typo somewhere?

Anyway, it seems to work now:

category            reads     %          read length        feature size or coverage  analysis
----------------  -------  -------  ----------------------  ------------------------  --------------------
middle-missing       5345    0.80    12263.38 +- 10693.88      1240.07 +- 1578.59    (bad trimming)
middle-hump          2324    0.35     8991.05 +- 8870.64        703.47 +- 1211.24    (bad trimming)
no-5-prime          12330    1.84    12612.22 +- 11219.66       387.39 +- 841.17     (bad trimming)
no-3-prime          13043    1.95    12529.12 +- 11346.99       407.90 +- 857.84     (bad trimming)

low-coverage         3023    0.45     2188.10 +- 1391.91          1.00 +- 0.00       (easy to assemble, potential for lower quality consensus)
unique              65822    9.83     3914.31 +- 3471.64          3.94 +- 1.18       (easy to assemble, perfect, yay)
repeat-cont        245593   36.67     5393.85 +- 4924.16       1950.25 +- 3547.52    (potential for consensus errors, no impact on assembly)
repeat-dove          7069    1.06    14546.78 +- 11628.63       815.37 +- 1750.08    (hard to assemble, likely won't assemble correctly or even at all)

span-repeat         49299    7.36    13288.81 +- 9440.20       6585.27 +- 8265.17    (read spans a large repeat, usually easy to assemble)
uniq-repeat-cont   141887   21.19     8571.22 +- 6383.85                             (should be uniquely placed, low potential for consensus errors, no impact on assembly)
uniq-repeat-dove    41936    6.26    18335.75 +- 12485.79                            (will end contigs, potential to misassemble)
uniq-anchor         78616   11.74    14608.19 +- 10426.85      7364.40 +- 8674.17    (repeat read, with unique section, probable bad read)

Thank you.

brianwalenz commented 5 years ago

Ha! I wish I could say I put that there on purpose, but...

Thanks for confirming it works!