Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spaln crashes with FORTIFY_SOURCE=3 #71

Open
LocutusOfBorg opened this issue Sep 10, 2024 · 5 comments
Open

spaln crashes with FORTIFY_SOURCE=3 #71

LocutusOfBorg opened this issue Sep 10, 2024 · 5 comments

Comments

@LocutusOfBorg
Copy link

Hello, I found spaln crashing on this command, when -D_FORTIFY_SOURCE=3 is used during build

345s autopkgtest [20:14:46]: test run-unit-test: [-----------------------
346s Gd:187913 No:71174 My:3057 MS:157 Mb:188 Tw:2331733 Tl:33850852 71.68 1.17 27.15
347s #Segs 6630, TabSize 262144, Words: 2331733, GenomeSize 33928503, GIDs 6
354s Gd:4336377 No:59650673 My:12950 MS:365 Mb:69 Tw:6664558 Tl:44608849 6.78 0.02 93.20
356s #Segs 6630, TabSize 64000000, Words: 6664558, GenomeSize 33928503, GIDs 6
358s *** buffer overflow detected ***: terminated
372s /tmp/autopkgtest.xYGgJE/build.dZa/src/debian/tests/run-unit-test: line 23: 2420 Aborted (core dumped) spaln -Q7 -d dictdisc_g -T dictdisc dictdisc.faa.gz > /dev/null
372s autopkgtest [20:15:13]: test run-unit-test: -----------------------]
379s run-unit-test FAIL non-zero exit status 134

this is the testsuite content

#!/bin/bash
set -e

pkg=spaln

export LC_ALL=C.UTF-8
if [ "${AUTOPKGTEST_TMP}" = "" ] ; then
  AUTOPKGTEST_TMP=$(mktemp -d /tmp/${pkg}-test.XXXXXX)
  trap "rm -rf ${AUTOPKGTEST_TMP}" 0 INT QUIT ABRT PIPE TERM
fi

cp -a /usr/share/${pkg}/seqdb/* "${AUTOPKGTEST_TMP}"

cd "${AUTOPKGTEST_TMP}"

#export ALN_DBS="${AUTOPKGTEST_TMP}"
NCPUS=`grep '^cpu cores' /proc/cpuinfo | head -n 1 | sed 's/cpu cores[[:space:]:]\+//'`

# Avoid using makeidx.pl (see https://github.com/ogotoh/spaln/issues/46#issuecomment-1025331901)
#perl makeidx.pl -v -inp dictdisc_g.gf.gz
spaln -W -KD -t${NCPUS} dictdisc_g.gf.gz >/dev/null
spaln -W -KP -t${NCPUS} dictdisc_g.gf.gz > /dev/null
spaln -Q7 -d dictdisc_g -T dictdisc dictdisc.faa.gz > /dev/null
spaln -Q7 -d dictdisc_g -yS -T dictdisc -O12 -g dictdisc.cf.gz > /dev/null
sortgrcd -O15 -F2 dictdisc.cf.grd.gz > /dev/null

and this is how the package is built (Ubuntu enforces FORTIFY_SOURCE=3 by default)
https://launchpadlibrarian.net/748233307/buildlog_ubuntu-oracular-amd64.spaln_3.0.2+dfsg-2build2_BUILDING.txt.gz

x86_64-linux-gnu-g++ -g -O2 -Werror=implicit-function-declaration -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/<>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/<>=/usr/src/spaln-3.0.2+dfsg-2build2 -pedantic -Wdate-time -D_FORTIFY_SOURCE=3 -DM_THREAD=1 -c blksrc.cc
x86_64-linux-gnu-g++ -g -O2 -Werror=implicit-function-declaration -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/<>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/<>=/usr/src/spaln-3.0.2+dfsg-2build2 -pedantic -Wdate-time -D_FORTIFY_SOURCE=3 -DM_THREAD=1 -c aln2.cc
x86_64-linux-gnu-g++ -g -O2 -Werror=implicit-function-declaration -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/<>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/<>=/usr/src/spaln-3.0.2+dfsg-2build2 -pedantic -Wdate-time -D_FORTIFY_SOURCE=3 -DM_THREAD=1 -c dbs.cc
x86_64-linux-gnu-g++ -g -O2 -Werror=implicit-function-declaration -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/<>=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/<>=/usr/src/spaln-3.0.2+dfsg-2build2 -pedantic -Wdate-time -D_FORTIFY_SOURCE=3 -DM_THREAD=1 -c gaps.cc

@LocutusOfBorg
Copy link
Author

(gdb) bt full
#0  0x00007ffff78a3f1c in pthread_kill () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007ffff784519e in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2  0x00007ffff7828902 in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#3  0x00007ffff782976c in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#4  0x00007ffff7941049 in __fortify_fail () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#5  0x00007ffff79409e4 in __chk_fail () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#6  0x00005555555bb50c in memset (__dest=<optimized out>, __ch=0, __len=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:59
No locals.
#7  vclear<unsigned int> (ary=<optimized out>, n=<optimized out>) at /usr/src/spaln-3.0.2+dfsg-2/src/clib.h:105
No locals.
#8  ExinPot::calcScr_3(Seq const*, float*) const [clone .constprop.0] (this=this@entry=0x5555555f5370, sd=sd@entry=0x5555555f5ff0, scr=0x0) at /usr/src/spaln-3.0.2+dfsg-2/src/utilseq.cc:1458
        redctab = 0x5555555ddd30 <tnredctab> "\004\004\004\001\002"
        len = <optimized out>
        ss = <optimized out>
        tt = <optimized out>
        cdp = 0x555555609d00
        result = 0x555555678370
        rest = <optimized out>
        kk = 6
        x = <optimized out>
        buf = {8838, 6696, 2208}
        w = <optimized out>
        acc = 0
#9  0x0000555555575618 in ExinPot::calcScr (scr=0x0, this=0x5555555f5370, sd=<optimized out>) at /usr/src/spaln-3.0.2+dfsg-2/src/utilseq.h:161
No locals.
#10 Exinon::intron53_p (this=0x55555564c240, dvsp=true) at /usr/src/spaln-3.0.2+dfsg-2/src/codepot.cc:543
        th5 = <optimized out>
        posB = <optimized out>
        last = <optimized out>
        prefS = <optimized out>
        prfS = <optimized out>
        fs = <optimized out>
        fT = <optimized out>
        fB = 0
        prefT = 0x555555673360
        prefB = 0x0
        prfT = <optimized out>
        prfB = <optimized out>
        fI = <optimized out>
        fO = -300
        thB = <optimized out>
        pref3 = 0x555555669340
        prefI = <optimized out>
        prf3 = <optimized out>
        prfI = <optimized out>
        th3 = <optimized out>
        ss = <optimized out>
        wk53 = <optimized out>
        fE = <optimized out>
        pref5 = 0x555555664330
        prefE = <optimized out>
        prf5 = <optimized out>
        prfE = <optimized out>
        sigB = <optimized out>
        fE = <optimized out>
        fI = <optimized out>
        fT = <optimized out>
        fB = <optimized out>
        fO = <optimized out>
        th3 = <optimized out>
        th5 = <optimized out>
        thB = <optimized out>
        pref5 = <optimized out>
        pref3 = <optimized out>
        prefS = <optimized out>
        prefT = <optimized out>
        prefB = <optimized out>
        prefE = <optimized out>
        prefI = <optimized out>
        prf5 = <optimized out>
        prf3 = <optimized out>
        prfS = <optimized out>
        prfT = <optimized out>
        prfB = <optimized out>
        prfE = <optimized out>
        prfI = <optimized out>
        ss = <optimized out>
        sigB = <optimized out>
        posB = <optimized out>
        last = <optimized out>
        wk53 = <optimized out>
        fs = <optimized out>
        wkb = <optimized out>
        sig5 = <optimized out>
        sig3 = <optimized out>
        sigE = <optimized out>
        sigb = <optimized out>
#11 Exinon::Exinon (this=<optimized out>, sd_=<optimized out>, pwd_=<optimized out>, bo=<optimized out>, this=<optimized out>, sd_=<optimized out>, pwd_=<optimized out>, bo=<optimized out>)
    at /usr/src/spaln-3.0.2+dfsg-2/src/codepot.cc:396
        zero53 = {dinc5 = 0, dinc3 = 0, cano5 = 0, cano3 = 0}
        zero53 = <optimized out>
        prefE = <optimized out>
        prfE = <optimized out>
        fE = <optimized out>
        wkb = <optimized out>
#12 0x000055555555fb74 in genomicseq (sqs=sqs@entry=0x5555555f5998, pwd=pwd@entry=0x5555555f52b0, ori=ori@entry=1) at /usr/src/spaln-3.0.2+dfsg-2/src/spaln.cc:1120
No locals.
#13 0x0000555555563809 in spalign2 (sqs=0x5555555f5990, pwd=0x5555555f52b0, GsI=0x555555609058, ori=1) at /usr/src/spaln-3.0.2+dfsg-2/src/spaln.cc:664
No locals.
#14 0x00005555555c5b7c in blkaln(Seq**, SrchBlk*, RANGE*, ThQueue*) [clone .isra.0] (sqs=<optimized out>, bks=<optimized out>, q=<optimized out>, rng=<optimized out>)
    at /usr/src/spaln-3.0.2+dfsg-2/src/spaln.cc:891
        dir = <optimized out>
        sigb = <optimized out>
#11 Exinon::Exinon (this=<optimized out>, sd_=<optimized out>, pwd_=<optimized out>, bo=<optimized out>, this=<optimized out>, sd_=<optimized out>, pwd_=<optimized out>, bo=<optimized out>)
    at /usr/src/spaln-3.0.2+dfsg-2/src/codepot.cc:396
        zero53 = {dinc5 = 0, dinc3 = 0, cano5 = 0, cano3 = 0}
        zero53 = <optimized out>
        prefE = <optimized out>
        prfE = <optimized out>
        fE = <optimized out>
        wkb = <optimized out>
#12 0x000055555555fb74 in genomicseq (sqs=sqs@entry=0x5555555f5998, pwd=pwd@entry=0x5555555f52b0, ori=ori@entry=1) at /usr/src/spaln-3.0.2+dfsg-2/src/spaln.cc:1120
No locals.
#13 0x0000555555563809 in spalign2 (sqs=0x5555555f5990, pwd=0x5555555f52b0, GsI=0x555555609058, ori=1) at /usr/src/spaln-3.0.2+dfsg-2/src/spaln.cc:664
No locals.
#14 0x00005555555c5b7c in blkaln(Seq**, SrchBlk*, RANGE*, ThQueue*) [clone .isra.0] (sqs=<optimized out>, bks=<optimized out>, q=<optimized out>, rng=<optimized out>)
    at /usr/src/spaln-3.0.2+dfsg-2/src/spaln.cc:891
        dir = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        n = <optimized out>
        nparalog = <optimized out>
        grng = <optimized out>
        wrng = <optimized out>
        frng = <optimized out>
        a = <optimized out>
        b = <optimized out>
        b_intr = <optimized out>
        hfg = {left = 0, right = 2147483647, segno = 0, sname = 0x0}
        GsI = 0x555555609058
        gsinf = <optimized out>
        n_out = <optimized out>
        gener = <optimized out>
        basis = <optimized out>
        odr = <optimized out>
#15 0x00005555555c3a03 in quick4(Seq**, SrchBlk*, ThQueue*) [clone .isra.0] (sqs=0x5555555f5990, bks=0x5555555f5100, q=0x0) at /usr/src/spaln-3.0.2+dfsg-2/src/spaln.cc:1095
        a = @0x5555555f5990: 0x5555555f59e0
        orgrng = <optimized out>
        covrng = <optimized out>
        rbdry = <optimized out>
#16 0x0000555555567065 in all_in_func (sqs=0x5555555f5990, svr=0x7fffffffddf0, prm=0x5555555f5100) at /usr/src/spaln-3.0.2+dfsg-2/src/spaln.cc:1167
        nf = 0
        sbk = <optimized out>
#17 0x000055555555d9a4 in main (argc=1, argv=0x7fffffffe788) at /usr/src/spaln-3.0.2+dfsg-2/src/spaln.cc:1562
        bprm = 0x5555555f5100
        messg = 0x0
        insuf = 0x5555555c91c0 "No input seq file !\n"
        n = <optimized out>
        nseqs = 8
        seqs = 0x5555555f5990
        a = @0x5555555f5990: 0x5555555f59e0
        b = @0x5555555f5998: 0x5555555f5ff0
        mb = <optimized out>
        dbs = <optimized out>
        svr = {argc = 0, argc0 = 1, argv = 0x7fffffffe790, argv0 = 0x7fffffffe788, fd = {0x0, 0x0}, gzfd = {0x5555555f56b0, 0x0}, fc = 0x0, nfrom = {0, 0}, nto = {2147483647, 2147483647}, cfrom = {0x0, 0x0}, 
          cto = {0x0, 0x0}, counter = {1, 0}, sw = {true, false}, molc = {1, 0}, attr = {0x5555555f49a0 " SP", 0x0}, atsz = {8, 0}, input_form = IM_SNGL, input_ns = 1, target_dbf = 0x5555555f12b0, 
          query_dbf = 0x0}

@LocutusOfBorg
Copy link
Author

the failure is in vclear function
vclear (ary=0x55555567d364, n=5) at /usr/src/spaln-3.0.2+dfsg-2/src/clib.h:105
warning: 105 /usr/src/spaln-3.0.2+dfsg-2/src/clib.h: No such file or directory
(gdb) p ary
$363 = (unsigned int *) 0x55555567d364
(gdb) p n
$364 = 5
(gdb) p n * sizeof(ary)
$366 = 40

@LocutusOfBorg
Copy link
Author

Since I don't fully understand your code, I asked chatGPT to analyze it:

To fix the function ExinPot::calcScr_3 to correctly calculate the coding potential from a DNA sequence based on a 5th-order Markov model, we need to address several issues in the code:

Key Fixes Needed:
Memory Alignment: Align pointers correctly to avoid accessing out-of-bounds memory.
Buffer Management: Ensure that the buffer accesses are within bounds.
Initialization: Properly initialize variables to avoid undefined behavior.
Correct Markov Calculation: Make sure the logic for computing values based on the 5th-order Markov model is correct.
Correct Length Calculation for vclear: Ensure the vclear function call correctly clears the necessary range of data.
Here's a corrected and more robust implementation of the function:

and this is the patch

--- spaln-3.0.2+dfsg.orig/src/utilseq.cc
+++ spaln-3.0.2+dfsg/src/utilseq.cc
@@ -1429,7 +1429,7 @@ const     CHAR*   tt = sd->at(sd->right);

 const  float*  cdp = begin();
        float*  result = new float[len];
-       float*  rest = result - 5;
+       float*  rest = result;
 const  int     kk = morder + 1;
        int     x = kk;
        int     buf[3] = {0, 0, 0};
@@ -1438,19 +1438,19 @@ double  acc = 0.;
        for (int p = 1; ss < tt; p = next_p[p], ++rest) {
            int c = redctab[*ss++];
            if (c < 4) {
-               buf[p] = 3 * (w = (4 * w + c) % ndata);
-               if (x) --x;
+               buf[p % 3] = 3 * (w = (4 * w + c) % ndata);
+               if (x > 0) --x;
            } else {
                w = 0;
                x = kk;
            }
            float       val = 0;
-           if (!x) {
-               val += cdp[buf[next_p[p]] + 2]; // -1
-               val += cdp[buf[prev_p[p]]];     // 0
-               val += cdp[buf[p] + 1];         // +1
+           if (x == 0) {
+               val += cdp[buf[next_p[p % 3]] + 2];     // -1
+               val += cdp[buf[prev_p[p % 3]]]; // 0
+               val += cdp[buf[p % 3] + 1];             // +1
            }
-           if (rest >= result) {
+           if (rest < result + len) {
                *rest = val;
                if (scr && p == 1) acc += val;
            }

that made tests pass and no segfault happen
Key Changes Made:
Pointer Alignment: rest is initialized as result to avoid out-of-bounds memory access.
Buffer Indexing: The buffer index p is wrapped with modulo operation to prevent out-of-bounds access.
Initialization: All necessary variables are initialized correctly to avoid undefined behaviors.
Correct Length in vclear: The range passed to vclear is corrected to ensure proper clearing of the result array.
Error Checking and Safety: Additional checks ensure that the pointers remain within bounds during processing.
This version of the function should properly calculate the coding potential of a DNA sequence using a 5th-order Markov model, while adhering to proper C++ practices to avoid memory errors.

@ogotoh
Copy link
Owner

ogotoh commented Sep 16, 2024

Dear Gianfranco,

Thank you for your comments.

The crash is likely to be caused by a simple bug at reading gzipped query sequences. I have uploaded a fixed version today. Please try the new version whether it is still problematic in your system.

As for coding potential, I will look at the code again according to your suggestions.

Osamu,

@LocutusOfBorg
Copy link
Author

LocutusOfBorg commented Sep 16, 2024

Hello, unfortunately your commit 6ffcd90 looks not enough to fix the issue

#0  0x00007ffff78a3f1c in pthread_kill () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007ffff784519e in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2  0x00007ffff7828902 in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#3  0x00007ffff782976c in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#4  0x00007ffff7941049 in __fortify_fail () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#5  0x00007ffff79409e4 in __chk_fail () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#6  0x00005555555bb50c in memset (__dest=<optimized out>, __ch=0, __len=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:59
No locals.
#7  vclear<unsigned int> (ary=<optimized out>, n=<optimized out>) at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/clib.h:105
No locals.
#8  ExinPot::calcScr_3(Seq const*, float*) const [clone .constprop.0] (this=this@entry=0x5555555f5480, sd=sd@entry=0x5555555f5ff0, scr=0x0) at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/utilseq.cc:1458
        redctab = 0x5555555ddd30 <tnredctab> "\004\004\004\001\002"
        len = <optimized out>
        ss = <optimized out>
        tt = <optimized out>
        cdp = 0x555555609d00
        result = 0x555555678470
        rest = <optimized out>
        kk = 6
        x = <optimized out>
        buf = {8838, 6696, 2208}
        w = <optimized out>
        acc = 0
#9  0x0000555555575618 in ExinPot::calcScr (scr=0x0, this=0x5555555f5480, sd=<optimized out>) at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/utilseq.h:161
No locals.
#10 Exinon::intron53_p (this=0x55555564c340, dvsp=true) at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/codepot.cc:543
        th5 = <optimized out>
        posB = <optimized out>
        last = <optimized out>
        prefS = <optimized out>
        prfS = <optimized out>
        fs = <optimized out>
        fT = <optimized out>
        fB = 0
        prefT = 0x555555673460
        prefB = 0x0
        prfT = <optimized out>
        prfB = <optimized out>
        fI = <optimized out>
        fO = -300
        thB = <optimized out>
        pref3 = 0x555555669440
        prefI = <optimized out>
        prf3 = <optimized out>
        prfI = <optimized out>
        th3 = <optimized out>
        ss = <optimized out>
        wk53 = <optimized out>
        fE = <optimized out>
        pref5 = 0x555555664430
        prefE = <optimized out>
        prf5 = <optimized out>
        prfE = <optimized out>
        sigB = <optimized out>
        fE = <optimized out>
        fI = <optimized out>
        fT = <optimized out>
        fB = <optimized out>
        fO = <optimized out>
        th3 = <optimized out>
        th5 = <optimized out>
        thB = <optimized out>
        pref5 = <optimized out>
        pref3 = <optimized out>
        prefS = <optimized out>
        prefT = <optimized out>
        prefB = <optimized out>
        prefE = <optimized out>
        prefI = <optimized out>
        prf5 = <optimized out>
        prf3 = <optimized out>
        prfS = <optimized out>
        prfT = <optimized out>
        prfB = <optimized out>
        prfE = <optimized out>
        prfI = <optimized out>
        ss = <optimized out>
        sigB = <optimized out>
        posB = <optimized out>
        last = <optimized out>
        wk53 = <optimized out>
        fs = <optimized out>
        wkb = <optimized out>
        sig5 = <optimized out>
        sig3 = <optimized out>
        sigE = <optimized out>
        sigb = <optimized out>
#11 Exinon::Exinon (this=<optimized out>, sd_=<optimized out>, pwd_=<optimized out>, bo=<optimized out>, this=<optimized out>, sd_=<optimized out>, pwd_=<optimized out>, bo=<optimized out>)
    at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/codepot.cc:396
        zero53 = {dinc5 = 0, dinc3 = 0, cano5 = 0, cano3 = 0}
        zero53 = <optimized out>
        prefE = <optimized out>
        prfE = <optimized out>
        fE = <optimized out>
        wkb = <optimized out>
#12 0x000055555555fb74 in genomicseq (sqs=sqs@entry=0x5555555f5998, pwd=pwd@entry=0x5555555f53c0, ori=ori@entry=1) at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/spaln.cc:1120
No locals.
#13 0x0000555555563809 in spalign2 (sqs=0x5555555f5990, pwd=0x5555555f53c0, GsI=0x555555617348, ori=1) at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/spaln.cc:664
No locals.
#14 0x00005555555c5b7c in blkaln(Seq**, SrchBlk*, RANGE*, ThQueue*) [clone .isra.0] (sqs=<optimized out>, bks=<optimized out>, q=<optimized out>, rng=<optimized out>)
    at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/spaln.cc:891
        dir = <optimized out>
        n = <optimized out>
        nparalog = <optimized out>
        grng = <optimized out>
        wrng = <optimized out>
        frng = <optimized out>
        a = <optimized out>
        b = <optimized out>
        b_intr = <optimized out>
        hfg = {left = 0, right = 2147483647, segno = 0, sname = 0x0}
        GsI = 0x555555617348
        gsinf = <optimized out>
        n_out = <optimized out>
        gener = <optimized out>
        basis = <optimized out>
        odr = <optimized out>
#15 0x00005555555c3a03 in quick4(Seq**, SrchBlk*, ThQueue*) [clone .isra.0] (sqs=0x5555555f5990, bks=0x5555555f5210, q=0x0) at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/spaln.cc:1095
        a = @0x5555555f5990: 0x5555555f59e0
        orgrng = <optimized out>
        covrng = <optimized out>
        rbdry = <optimized out>
#16 0x0000555555567065 in all_in_func (sqs=0x5555555f5990, svr=0x7fffffffddf0, prm=0x5555555f5210) at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/spaln.cc:1167
        nf = 0
        sbk = <optimized out>
#17 0x000055555555d9a4 in main (argc=1, argv=0x7fffffffe788) at /usr/src/spaln-3.0.2+dfsg-2ubuntu3/src/spaln.cc:1562
        bprm = 0x5555555f5210
        messg = 0x0
        insuf = 0x5555555c91c0 "No input seq file !\n"
        n = <optimized out>
        nseqs = 8
        seqs = 0x5555555f5990
        a = @0x5555555f5990: 0x5555555f59e0
        b = @0x5555555f5998: 0x5555555f5ff0
        mb = <optimized out>
        dbs = <optimized out>
        svr = {argc = 0, argc0 = 1, argv = 0x7fffffffe790, argv0 = 0x7fffffffe788, fd = {0x0, 0x0}, gzfd = {0x5555555f56b0, 0x0}, fc = 0x0, nfrom = {0, 0}, nto = {2147483647, 2147483647}, cfrom = {0x0, 
            0x0}, cto = {0x0, 0x0}, counter = {1, 0}, sw = {true, false}, molc = {1, 0}, attr = {0x5555555f49a0 " SP", 0x0}, atsz = {8, 0}, input_form = IM_SNGL, input_ns = 1, 
          target_dbf = 0x5555555f12b0, query_dbf = 0x0}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants