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

Cline paired 2 (fw:1, sam:1) test aborted with -Wp,-D_GLIBCXX_ASSERTIONS #136

Open
junaruga opened this issue Feb 17, 2023 · 4 comments
Open

Comments

@junaruga
Copy link

junaruga commented Feb 17, 2023

When building bowtie 1.3.1 on Fedora rawhide (development version = version 39) on the build environment on the Fedora project, I saw one test failure. Below is my initial debug on the environment. I will try to create a minimal reproducer. But if you find the cause in the log, please let me know. The CPU is x86_64. The g++ version is 13.0.1 (RPM package version: 13.0.1-0.2.fc38).

Test failure

The full log is here.

+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
...
+ /usr/bin/make -O -j8 V=1 VERBOSE=1 allall EXTRA_FLAGS=-g
g++ -O3 \
	-DCOMPILER_OPTIONS="\"-O3 -g -Wl,--hash-style=both -DPOPCNT_CAPABILITY -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer   -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer  \"" -g -Wl,--hash-style=both -DPOPCNT_CAPABILITY -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer   -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer   \
	-fno-strict-aliasing -DBOWTIE_VERSION="\"`cat VERSION`\"" -DBUILD_HOST="\"reproduciblebuild\"" -DBUILD_TIME="\"2023-02-17T00:00:00\"" -DCOMPILER_VERSION="\"`g++ -v 2>&1 | tail -1`\"" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE  -DPREFETCH_LOCALITY=2 -DBOWTIE_MM -DBOWTIE_SHARED_MEM -Wall -Wno-unused-parameter -Wno-reorder \
	 -I third_party -I . \
	-o bowtie-inspect-s bowtie_inspect.cpp \
	ccnt_lut.cpp ref_read.cpp alphabet.cpp shmem.cpp edit.cpp ebwt.cpp bt2_locks.cpp tinythread.cpp \
	-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes   -lz -lpthread
...
+ scripts/test/simple_tests.pl --bowtie=./bowtie --bowtie-build=./bowtie-build
...
Cline paired 2 (fw:1, sam:1)
References:
>0
AGCATCGATCAAAAACTGA
./bowtie-build  --threads 1 --quiet --sanity  .simple_tests.pl.fa .simple_tests.tmp
./bowtie --debug   -s 1 -S --quiet -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII
Setting the index via positional argument will be deprecated in a future release. Please use -x option instead.
/usr/include/c++/13/bits/stl_queue.h:725: std::priority_queue<_Tp, _Sequence, _Compare>::const_reference std::priority_queue<_Tp, _Sequence, _Compare>::top() const [with _Tp = Branch*; _Sequence = std::vector<Branch*>; _Compare = CostCompare; const_reference = Branch* const&]: Assertion '!this->empty()' failed.
bowtie aborted with exitlevel 134

Then ran the 2 commands above just in case.

$ ./bowtie-build  --threads 1 --quiet --sanity  .simple_tests.pl.fa .simple_tests.tmp

$ echo $?
0

$ ./bowtie --debug   -s 1 -S --quiet -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII
Setting the index via positional argument will be deprecated in a future release. Please use -x option instead.
/usr/include/c++/13/bits/stl_queue.h:725: std::priority_queue<_Tp, _Sequence, _Compare>::const_reference std::priority_queue<_Tp, _Sequence, _Compare>::top() const [with _Tp = Branch*; _Sequence = std::vector<Branch*>; _Compare = CostCompare; const_reference = Branch* const&]: Assertion '!this->empty()' failed.
Aborted (core dumped)

$ echo $?
134

Then ran the command below to find the executed binary command line internally in the Python script bowtie. It was to un the command line with gdb.

$ ./bowtie --debug --verbose  -s 1 -S -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII 2>&1| grep 'Command:'
INFO: Command: /builddir/build/BUILD/bowtie-1.3.1-src/bowtie-align-s-debug --wrapper basic-0 -s 1 -S -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII --verbose

GDB backtrace

Before debugging with gdb, I installed the debug info pakcages on the environment.

# dnf debuginfo-install glibc-2.37-1.fc38.x86_64 libgcc-13.0.1-0.2.fc38.x86_64 libstdc++-13.0.1-0.2.fc38.x86_64

Then below is the gdb backtrace.

$ gdb -q -ex "set breakpoint pending on" -ex "set debuginfod enabled on" --args \
  ./bowtie-align-s-debug --wrapper basic-0 -s 1 -S -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII --verbose
Reading symbols from ./bowtie-align-s-debug...
(gdb) b main
Breakpoint 1 at 0x10300: file /builddir/build/BUILD/bowtie-1.3.1-src/bowtie_main.cpp, line 31.
(gdb) r
Starting program: /builddir/build/BUILD/bowtie-1.3.1-src/bowtie-align-s-debug --wrapper basic-0 -s 1 -S -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII --verbose
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Breakpoint 1, main (argc=14, argv=0x7fffffffe278) at /builddir/build/BUILD/bowtie-1.3.1-src/bowtie_main.cpp:31
31	int main(int argc, const char **argv) {
(gdb) c
Continuing.
Setting the index via positional argument will be deprecated in a future release. Please use -x option instead.
Input ebwt file: ".simple_tests.tmp"
Query inputs (DNA, Chained):
Quality inputs:
Output file: ""
Local endianness: little
Sanity checking: disabled
Assertions: enabled
Entered driver(): 22:23:57
Trying .simple_tests.tmp
Creating paired-end patsrcs: 22:23:57
Creating single-end patsrcs: 22:23:57
Creating PatternSource: 22:23:57
Opening hit output file: 22:23:57
About to initialize fw Ebwt: 22:23:57
  About to open input files: 22:23:57
Opening ".simple_tests.tmp.1.ebwt"
Opening ".simple_tests.tmp.2.ebwt"
  Finished opening input files: 22:23:57
  Reading header: 22:23:57
Headers:
    len: 19
    bwtLen: 20
    sz: 5
    bwtSz: 5
    lineRate: 6
    linesPerSide: 1
    offRate: 5
    offMask: 0xffffffe0
    isaRate: -1
    isaMask: 0xffffffff
    ftabChars: 10
    eftabLen: 20
    eftabSz: 80
    ftabLen: 1048577
    ftabSz: 4194308
    offsLen: 1
    offsSz: 4
    isaLen: 0
    isaSz: 0
    lineSz: 64
    sideSz: 64
    sideBwtSz: 56
    sideBwtLen: 224
    numSidePairs: 1
    numSides: 2
    numLines: 2
    ebwtTotLen: 128
    ebwtTotSz: 128
    reverse: 0
Reading plen (1): 22:23:57
About to initialize rev Ebwt: 22:23:57
  About to open input files: 22:23:57
Opening ".simple_tests.tmp.rev.1.ebwt"
Opening ".simple_tests.tmp.rev.2.ebwt"
  Finished opening input files: 22:23:57
  Reading header: 22:23:57
Headers:
    len: 19
    bwtLen: 20
    sz: 5
    bwtSz: 5
    lineRate: 6
    linesPerSide: 1
    offRate: 5
    offMask: 0xffffffe0
    isaRate: -1
    isaMask: 0xffffffff
    ftabChars: 10
    eftabLen: 20
    eftabSz: 80
    ftabLen: 1048577
    ftabSz: 4194308
    offsLen: 1
    offsSz: 4
    isaLen: 0
    isaSz: 0
    lineSz: 64
    sideSz: 64
    sideBwtSz: 56
    sideBwtLen: 224
    numSidePairs: 1
    numSides: 2
    numLines: 2
    ebwtTotLen: 128
    ebwtTotSz: 128
    reverse: 0
Reading plen (1): 22:23:57
Creating HitSink: 22:23:57
Dispatching to search driver: 22:23:57
Read 1 reference strings (1 non-empty) from 1 records: 22:23:57
  About to open input files: 22:23:57
Opening ".simple_tests.tmp.1.ebwt"
Opening ".simple_tests.tmp.2.ebwt"
  Finished opening input files: 22:23:57
  Reading header: 22:23:57
Reading plen (1): 22:23:57
Reading rstarts (3): 22:23:57
Reading ebwt (128): 22:23:57
Reading fchr (5)
Reading ftab (1048577): 22:23:57
Reading eftab (20): 22:23:57
Reading offs (1 32-bit words): 22:23:57
Reading isa (0): 22:23:57
Headers:
    len: 19
    bwtLen: 20
    sz: 5
    bwtSz: 5
    lineRate: 6
    linesPerSide: 1
    offRate: 5
    offMask: 0xffffffe0
    isaRate: -1
    isaMask: 0xffffffff
    ftabChars: 10
    eftabLen: 20
    eftabSz: 80
    ftabLen: 1048577
    ftabSz: 4194308
    offsLen: 1
    offsSz: 4
    isaLen: 0
    isaSz: 0
    lineSz: 64
    sideSz: 64
    sideBwtSz: 56
    sideBwtLen: 224
    numSidePairs: 1
    numSides: 2
    numLines: 2
    ebwtTotLen: 128
    ebwtTotSz: 128
    reverse: 0
Ebwt (memory):
    zOff: 5
    zEbwtByteOff: 54
    zEbwtBpOff: 2
    nPat: 1
    plen: non-NULL, [0] = 19
    rstarts: non-NULL, [0] = 0
    ebwt: non-NULL, [0] = 
    fchr: non-NULL, [0] = 0
    ftab: non-NULL, [0] = 0
    eftab: non-NULL, [0] = 0
    offs: non-NULL, [0] = 10
  About to open input files: 22:23:57
Opening ".simple_tests.tmp.rev.1.ebwt"
Opening ".simple_tests.tmp.rev.2.ebwt"
  Finished opening input files: 22:23:57
  Reading header: 22:23:57
Reading plen (1): 22:23:57
Reading rstarts (3): 22:23:57
Reading ebwt (128): 22:23:57
Reading fchr (5)
Reading ftab (1048577): 22:23:57
Reading eftab (20): 22:23:57
Reading offs (1 32-bit words): 22:23:57
Reading isa (0): 22:23:57
Headers:
    len: 19
    bwtLen: 20
    sz: 5
    bwtSz: 5
    lineRate: 6
    linesPerSide: 1
    offRate: 5
    offMask: 0xffffffe0
    isaRate: -1
    isaMask: 0xffffffff
    ftabChars: 10
    eftabLen: 20
    eftabSz: 80
    ftabLen: 1048577
    ftabSz: 4194308
    offsLen: 1
    offsSz: 4
    isaLen: 0
    isaSz: 0
    lineSz: 64
    sideSz: 64
    sideBwtSz: 56
    sideBwtLen: 224
    numSidePairs: 1
    numSides: 2
    numLines: 2
    ebwtTotLen: 128
    ebwtTotSz: 128
    reverse: 0
Ebwt (memory):
    zOff: 7
    zEbwtByteOff: 54
    zEbwtBpOff: 0
    nPat: 1
    plen: non-NULL, [0] = 19
    rstarts: non-NULL, [0] = 0
    ebwt: non-NULL, [0] = 
    fchr: non-NULL, [0] = 0
    ftab: non-NULL, [0] = 0
    eftab: non-NULL, [0] = 4
    offs: non-NULL, [0] = 4
initRangeSource minCost: 0
1: Pushing 1, 0x7ffff321e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff321e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff321e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff321e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff321e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff321e010, 0, 0, 0, 1->0
initRangeSource minCost: 16414
1: Pushing 1, 0x7ffff329e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff329e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff329e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff329e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff329e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff329e010, 0, 0, 0, 1->0
initRangeSource minCost: 32828
1: Pushing 1, 0x7ffff331e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff331e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff331e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff331e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff331e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff331e010, 0, 0, 0, 1->0
initRangeSource minCost: 0
1: Pushing 1, 0x7ffff339e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff339e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff339e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff339e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff339e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff339e010, 0, 0, 0, 1->0
initRangeSource minCost: 16414
1: Pushing 1, 0x7ffff341e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff341e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff341e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff341e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff341e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff341e010, 0, 0, 0, 1->0
initRangeSource minCost: 32828
1: Pushing 1, 0x7ffff349e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff349e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff349e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff349e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff349e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff349e010, 0, 0, 0, 1->0
initRangeSource minCost: 0
1: Pushing 1, 0x7ffff351e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff351e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff351e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff351e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff351e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff351e010, 0, 0, 0, 1->0
initRangeSource minCost: 16414
1: Pushing 1, 0x7ffff359e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff359e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff359e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff359e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff359e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff359e010, 0, 0, 0, 1->0
initRangeSource minCost: 32828
1: Pushing 1, 0x7ffff361e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff361e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff361e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff361e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff361e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff361e010, 0, 0, 0, 1->0
initRangeSource minCost: 0
1: Pushing 1, 0x7ffff369e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
initRangeSource minCost: 16414
1: Pushing 1, 0x7ffff371e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff371e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff371e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff371e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff371e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff371e010, 0, 0, 0, 1->0
initRangeSource minCost: 32828
1: Pushing 1, 0x7ffff379e010, 0, 0, 0, 0->1
1: Fronting 1, 0x7ffff379e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff379e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff379e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff379e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff379e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
  <R 000000 000000    = = = = = = = = = = 
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
  <R 000000 000000    = = = = = = = = = T 
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 0, 0, 1->0
  <R 000000 000000    = = = = = = = = C T 
1: Fronting 1, 0x7ffff369e010, 0, 1, 1, 1->0
1: Fronting 1, 0x7ffff369e010, 0, 1, 1, 1->0
1: Popping 1, 0x7ffff369e010, 0, 1, 1, 1->0
/usr/include/c++/13/bits/stl_queue.h:725: std::priority_queue<_Tp, _Sequence, _Compare>::const_reference std::priority_queue<_Tp, _Sequence, _Compare>::top() const [with _Tp = Branch*; _Sequence = std::vector<Branch*>; _Compare = CostCompare; const_reference = Branch* const&]: Assertion '!this->empty()' failed.

Program received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44	      return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007ffff7aafc03 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007ffff7a5eaee in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff7a4787f in __GI_abort () at abort.c:79
#4  0x00007ffff7cdf340 in std::__glibcxx_assert_fail (file=file@entry=0x555555645410 "/usr/include/c++/13/bits/stl_queue.h", line=line@entry=725, 
    function=function@entry=0x555555645320 "std::priority_queue<_Tp, _Sequence, _Compare>::const_reference std::priority_queue<_Tp, _Sequence, _Compare>::top() const [with _Tp = Branch*; _Sequence = std::vector<Branch*>; _Compare = CostCompare;"..., condition=condition@entry=0x555555644ff2 "!this->empty()") at ../../../../../libstdc++-v3/src/c++11/debug.cc:61
#5  0x000055555557b10f in std::priority_queue<Branch*, std::vector<Branch*, std::allocator<Branch*> >, CostCompare>::top (this=<optimized out>) at /usr/include/c++/13/bits/stl_queue.h:723
#6  std::priority_queue<Branch*, std::vector<Branch*, std::allocator<Branch*> >, CostCompare>::top (this=<optimized out>) at /usr/include/c++/13/bits/stl_queue.h:723
#7  BranchQueue::front (this=<optimized out>) at /builddir/build/BUILD/bowtie-1.3.1-src/range_source.h:1164
#8  0x000055555557be55 in PathManager::pop (this=this@entry=0x55555569aab0) at /builddir/build/BUILD/bowtie-1.3.1-src/range_source.h:1353
#9  0x000055555557c3a8 in PathManager::curtail (this=0x55555569aab0, br=0x7ffff369e010, qlen=10, seedLen=<optimized out>, qualOrder=<optimized out>) at /builddir/build/BUILD/bowtie-1.3.1-src/range_source.h:1444
#10 0x000055555558c14e in EbwtRangeSource::advanceBranch (this=0x55555569a4d0, until=<optimized out>, minCost=<optimized out>, pm=...) at /builddir/build/BUILD/bowtie-1.3.1-src/ebwt_search_backtrack.h:2328
#11 0x00005555556066af in SingleRangeSourceDriver<EbwtRangeSource>::advanceImpl (this=0x55555569aa40, until=2) at /builddir/build/BUILD/bowtie-1.3.1-src/range_source.h:1789
#12 0x00005555555f046e in RangeSourceDriver<EbwtRangeSource>::advance (this=0x55555569aa40, until=<optimized out>) at /builddir/build/BUILD/bowtie-1.3.1-src/range_source.h:1643
#13 0x00005555555fe5ec in CostAwareRangeSourceDriver<EbwtRangeSource>::advanceImpl (this=0x55555569dbf0, until=2) at /builddir/build/BUILD/bowtie-1.3.1-src/range_source.h:2189
#14 0x00005555555f0731 in CostAwareRangeSourceDriver<EbwtRangeSource>::advance (this=0x55555569dbf0, until=<optimized out>) at /builddir/build/BUILD/bowtie-1.3.1-src/range_source.h:2149
#15 0x0000555555604bc1 in PairedBWAlignerV1<EbwtRangeSource>::advanceOrientation (pairFw=true, this=0x55555569b870) at /builddir/build/BUILD/bowtie-1.3.1-src/aligner.h:1268
#16 PairedBWAlignerV1<EbwtRangeSource>::advance (this=0x55555569b870) at /builddir/build/BUILD/bowtie-1.3.1-src/aligner.h:842
#17 0x0000555555633a22 in MixedMultiAligner::run(bool, int) [clone .constprop.0] (this=this@entry=0x7fffffffd9b0, tid=<optimized out>, verbose=false) at /builddir/build/BUILD/bowtie-1.3.1-src/aligner.h:279
#18 0x00005555555edafe in seededQualSearchWorkerFullStateful (vp=0x55555568c3d0) at /builddir/build/BUILD/bowtie-1.3.1-src/ebwt_search.cpp:2703
#19 0x0000555555639934 in seededQualCutoffSearchFull(int, int, int, PatternComposer&, HitSink&, Ebwt&, Ebwt&, EList<SString<char>, 128>&) [clone .isra.0] (qualCutoff=<optimized out>, seedMms=<optimized out>, 
    _patsrc=..., _sink=..., ebwtFw=..., ebwtBw=..., os=..., seedLen=<optimized out>) at /builddir/build/BUILD/bowtie-1.3.1-src/ebwt_search.cpp:2815
#20 0x000055555561d5c7 in driver(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, EList<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 128> const&, EList<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 128> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [clone .constprop.0] (queries=..., outfile="", query=..., qualities=..., ebwtFileBase=..., type=<synthetic pointer>)
    at /builddir/build/BUILD/bowtie-1.3.1-src/ebwt_search.cpp:3244
#21 0x00005555555f112d in bowtie (argc=14, argv=0x7fffffffe278) at /builddir/build/BUILD/bowtie-1.3.1-src/ebwt_search.cpp:3435
#22 0x00007ffff7a48b4a in __libc_start_call_main (main=main@entry=0x555555564300 <main(int, char const**)>, argc=argc@entry=14, argv=argv@entry=0x7fffffffe278) at ../sysdeps/nptl/libc_start_call_main.h:58
#23 0x00007ffff7a48c0b in __libc_start_main_impl (main=0x555555564300 <main(int, char const**)>, argc=14, argv=0x7fffffffe278, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7fffffffe268) at ../csu/libc-start.c:360
#24 0x00005555555653a5 in _start ()
(gdb) 

ltrace

Below is the ltrace log.

$ ltrace ./bowtie-align-s-debug --wrapper basic-0 -s 1 -S -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII --verbose >& ltrace.log

As the log is too big, I would share only the last 100 lines.

$ wc -l ltrace.log 
6051 ltrace.log

$ cat ltrace.log | tail -100
_ZNSt8ios_baseD2Ev(0x7ffc713d7c30, 0, 1, 0x7f04e8048578) = 0x7f04e804e718
_ZdlPvm(0x55c6cf3864a0, 31, 1, 0x7f04e8048578)   = 0
_ZNSt6localeD1Ev(0x7ffc713d7a70, 0x55c6cf321010, 1, 0x55c6cf386) = 0x7f04e804e718
_ZNSt8ios_baseD2Ev(0x7ffc713d7aa0, 0x55c6cf321010, 1, 0x7f04e8048578) = 0x7f04e804e718
_ZNSt8ios_baseC2Ev(0x7ffc713d7d80, 0x7f04e38de010, 0, 0x7f04e38de010) = 0x7f04e804fd20
_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(0x7ffc713d7d80, 0, 0, 0x7f04e8048578) = 1
_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(0x7ffc713d7d80, 0, 0x7f04e8048528, 0x7ffc713d7d80) = 1
_ZNSt6localeC1Ev(0x7ffc713d7d50, 0x7ffc713d7e50, 0x55c6cded9e68, 0x7ffc713d7d50) = 0x7f04e804fd20
_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(0x7ffc713d7d80, 0x7ffc713d7d18, 0x7ffc713d7d70, 0x7ffc713d7d50) = 0
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 1, 3, 0x7f04e804fd20) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdebb157, 11, 0x7ffc713d7d71) = 0x7ffc713d7d10
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 1, 0x55c6cded9e90, 0x20676e69746e6f72) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 49) = 0x7ffc713d7d10
_ZNSo9_M_insertIPKvEERSoT_(0x7ffc713d7d10, 0x7f04e389e010, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 0) = 0x7ffc713d7d10
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 0, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 48) = 0x7ffc713d7d10
_ZNSo9_M_insertIbEERSoT_(0x7ffc713d7d10, 1, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 49) = 0x7ffc713d7d10
_ZNSo9_M_insertIbEERSoT_(0x7ffc713d7d10, 1, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 49) = 0x7ffc713d7d10
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 1, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdebb00c, 2, 49) = 0x7ffc713d7d10
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 0, 0x55c6cded9e90, 45) = 0x7ffc713d7d10
_Znwm(45, 30, 0x3fffffffffffffff, 45)            = 0x55c6cf3807d0
memcpy(0x55c6cf3807d0, "1: Fronting 1, 0x7f04e389e010, 0"..., 44) = 0x55c6cf3807d0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x55c6cdedbc80, 0x55c6cf3807d0, 44, 1) = 0x55c6cdedbc80
_ZNSo3putEc(0x55c6cdedbc80, 10, 0x7f04e8048190, 0) = 0x55c6cdedbc80
_ZNSo5flushEv(0x55c6cdedbc80, 0x7f04e7df7780, 0x7f04e8048190, 0x55c6cf335a6d1: Fronting 1, 0x7f04e389e010, 0, 1, 1, 1->0
) = 0x55c6cdedbc80
_ZdlPvm(0x55c6cf3807d0, 45, 0x7f04e8048190, 0x7f04e7d22334) = 0
_ZdlPvm(0x55c6cf3805c0, 513, 1, 0x55c6cf380)     = 0
_ZNSt6localeD1Ev(0x7ffc713d7d50, 0x55c6cf321010, 1, 0x55c6cf380) = 0x7f04e804e718
_ZNSt8ios_baseD2Ev(0x7ffc713d7d80, 0x55c6cf321010, 0x7f04e8048528, 0x7f04e8048578) = 0x7f04e804e718
_ZNSt8ios_baseC2Ev(0x7ffc713d7d80, 0, 0x7f04e8048528, 0x7f04e8048578) = 0x7f04e804fd20
_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(0x7ffc713d7d80, 0, 0, 0x7f04e8048578) = 1
_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(0x7ffc713d7d80, 0, 0x7f04e8048528, 0x7ffc713d7d80) = 1
_ZNSt6localeC1Ev(0x7ffc713d7d50, 0x7ffc713d7e50, 0x55c6cded9e68, 0x7ffc713d7d50) = 0x7f04e804fd20
_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(0x7ffc713d7d80, 0x7ffc713d7d18, 0x7ffc713d7d70, 0x7ffc713d7d50) = 0
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 1, 3, 0x7f04e804fd20) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdebb157, 11, 0x7ffc713d7d71) = 0x7ffc713d7d10
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 1, 0x55c6cded9e90, 0x20676e69746e6f72) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 49) = 0x7ffc713d7d10
_ZNSo9_M_insertIPKvEERSoT_(0x7ffc713d7d10, 0x7f04e389e010, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 0) = 0x7ffc713d7d10
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 0, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 48) = 0x7ffc713d7d10
_ZNSo9_M_insertIbEERSoT_(0x7ffc713d7d10, 1, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 49) = 0x7ffc713d7d10
_ZNSo9_M_insertIbEERSoT_(0x7ffc713d7d10, 1, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdec4f4f, 2, 49) = 0x7ffc713d7d10
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 1, 0x55c6cded9e90, 44) = 0x7ffc713d7d10
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7d10, 0x55c6cdebb00c, 2, 49) = 0x7ffc713d7d10
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7d10, 0, 0x55c6cded9e90, 45) = 0x7ffc713d7d10
_Znwm(45, 30, 0x3fffffffffffffff, 45)            = 0x55c6cf3807d0
memcpy(0x55c6cf3807d0, "1: Fronting 1, 0x7f04e389e010, 0"..., 44) = 0x55c6cf3807d0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x55c6cdedbc80, 0x55c6cf3807d0, 44, 1) = 0x55c6cdedbc80
_ZNSo3putEc(0x55c6cdedbc80, 10, 0x7f04e8048190, 0) = 0x55c6cdedbc80
_ZNSo5flushEv(0x55c6cdedbc80, 0x7f04e7df7780, 0x7f04e8048190, 0x55c6cf335a6d1: Fronting 1, 0x7f04e389e010, 0, 1, 1, 1->0
) = 0x55c6cdedbc80
_ZdlPvm(0x55c6cf3807d0, 45, 0x7f04e8048190, 0x7f04e7d22334) = 0
_ZdlPvm(0x55c6cf3805c0, 513, 1, 0x55c6cf380)     = 0
_ZNSt6localeD1Ev(0x7ffc713d7d50, 0x55c6cf321010, 1, 0x55c6cf380) = 0x7f04e804e718
_ZNSt8ios_baseD2Ev(0x7ffc713d7d80, 0x55c6cf321010, 0x7f04e8048528, 0x7f04e8048578) = 0x7f04e804e718
_ZNSt8ios_baseC2Ev(0x7ffc713d7d40, 0, 8, 0x7f04e8048578) = 0x7f04e804fd20
_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(0x7ffc713d7d40, 0, 0, 0x7f04e8048578) = 1
_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(0x7ffc713d7d40, 0, 3, 0x7ffc713d7d40) = 1
_ZNSt6localeC1Ev(0x7ffc713d7d10, 0x7ffc713d7e10, 0x55c6cded9e68, 0x7ffc713d7d10) = 0x7f04e804fd20
_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E(0x7ffc713d7d40, 0x7ffc713d7cd8, 0x55c6cdeda000, 0x7ffc713d7d30) = 0
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7cd0, 1, 3, 0x7f04e804fd20) = 0x7ffc713d7cd0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7cd0, 0x55c6cdebb001, 10, 0x7ffc713d7d31) = 0x7ffc713d7cd0
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7cd0, 1, 0x55c6cded9e90, 0x20676e6970706f50) = 0x7ffc713d7cd0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7cd0, 0x55c6cdec4f4f, 2, 49) = 0x7ffc713d7cd0
_ZNSo9_M_insertIPKvEERSoT_(0x7ffc713d7cd0, 0x7f04e389e010, 0x55c6cded9e90, 44) = 0x7ffc713d7cd0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7cd0, 0x55c6cdec4f4f, 2, 0) = 0x7ffc713d7cd0
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7cd0, 0, 0x55c6cded9e90, 44) = 0x7ffc713d7cd0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7cd0, 0x55c6cdec4f4f, 2, 48) = 0x7ffc713d7cd0
_ZNSo9_M_insertIbEERSoT_(0x7ffc713d7cd0, 1, 0x55c6cded9e90, 44) = 0x7ffc713d7cd0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7cd0, 0x55c6cdec4f4f, 2, 49) = 0x7ffc713d7cd0
_ZNSo9_M_insertIbEERSoT_(0x7ffc713d7cd0, 1, 0x55c6cded9e90, 44) = 0x7ffc713d7cd0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7cd0, 0x55c6cdec4f4f, 2, 49) = 0x7ffc713d7cd0
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7cd0, 1, 0x55c6cded9e90, 44) = 0x7ffc713d7cd0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x7ffc713d7cd0, 0x55c6cdebb00c, 2, 49) = 0x7ffc713d7cd0
_ZNSo9_M_insertImEERSoT_(0x7ffc713d7cd0, 0, 0x55c6cded9e90, 45) = 0x7ffc713d7cd0
_Znwm(44, 30, 0x3fffffffffffffff, 44)            = 0x55c6cf3807d0
memcpy(0x55c6cf3807d0, "1: Popping 1, 0x7f04e389e010, 0,"..., 43) = 0x55c6cf3807d0
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l(0x55c6cdedbc80, 0x55c6cf3807d0, 43, 1) = 0x55c6cdedbc80
_ZNSo3putEc(0x55c6cdedbc80, 10, 0x7f04e8048190, 0) = 0x55c6cdedbc80
_ZNSo5flushEv(0x55c6cdedbc80, 0x7f04e7df7780, 0x7f04e8048190, 0x55c6cf335a6c1: Popping 1, 0x7f04e389e010, 0, 1, 1, 1->0
) = 0x55c6cdedbc80
_ZdlPvm(0x55c6cf3807d0, 44, 0x7f04e8048190, 0x7f04e7d22334) = 0
_ZdlPvm(0x55c6cf3805c0, 513, 1, 0x55c6cf380)     = 0
_ZNSt6localeD1Ev(0x7ffc713d7d10, 0x55c6cf321010, 1, 0x55c6cf380) = 0x7f04e804e718
_ZNSt8ios_baseD2Ev(0x7ffc713d7d40, 0x55c6cf321010, 0x7f04e8048528, 0x7f04e8048578) = 0x7f04e804e718
_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_(0x55c6cf385390, 0x55c6cf355678, 0, 0) = 0x55c6cf385390
_ZdlPvm(0x55c6cf385390, 40, 0x55c6cf355678, 0x55c6cf355678) = 0
_ZSt21__glibcxx_assert_failPKciS0_S0_(0x55c6cdebb410, 725, 0x55c6cdebb320, 0x55c6cdebaff2/usr/include/c++/13/bits/stl_queue.h:725: std::priority_queue<_Tp, _Sequence, _Compare>::const_reference std::priority_queue<_Tp, _Sequence, _Compare>::top() const [with _Tp = Branch*; _Sequence = std::vector<Branch*>; _Compare = CostCompare; const_reference = Branch* const&]: Assertion '!this->empty()' failed.
 <no return ...>
--- SIGABRT (Aborted) ---
+++ killed by SIGABRT +++
@junaruga
Copy link
Author

The SIGABRT is happening at the line below.

#7  BranchQueue::front (this=<optimized out>) at /builddir/build/BUILD/bowtie-1.3.1-> src/range_source.h:1164

Branch *b = branchQ_.top();

@junaruga
Copy link
Author

I was able to reproduce with minimal reproducing script on the current master branch <86c6d7797228ec808ace59f368979c3019471ec7>.

Without the CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS', the test passed.

$ g++ --version
g++ (GCC) 13.0.1 20230127 (Red Hat 13.0.1-0)
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS' make allall

$ scripts/test/simple_tests.pl --bowtie=./bowtie --bowtie-build=./bowtie-build
...
Cline paired 2 (fw:1, sam:1)
References:
>0
AGCATCGATCAAAAACTGA
./bowtie-build  --threads 2 --quiet --sanity  .simple_tests.pl.fa .simple_tests.tmp
./bowtie --debug   -s 1 -S --quiet -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII
Setting the index via positional argument will be deprecated in a future release. Please use -x option instead.
/usr/include/c++/13/bits/stl_queue.h:725: std::priority_queue<_Tp, _Sequence, _Compare>::const_reference std::priority_queue<_Tp, _Sequence, _Compare>::top() const [with _Tp = Branch*; _Sequence = std::vector<Branch*>; _Compare = CostCompare; const_reference = Branch* const&]: Assertion '!this->empty()' failed.
bowtie aborted with exitlevel 134
$ ./bowtie-build  --threads 2 --quiet --sanity  .simple_tests.pl.fa .simple_tests.tmp

$ ./bowtie --debug   -s 1 -S --quiet -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII
Setting the index via positional argument will be deprecated in a future release. Please use -x option instead.
/usr/include/c++/13/bits/stl_queue.h:725: std::priority_queue<_Tp, _Sequence, _Compare>::const_reference std::priority_queue<_Tp, _Sequence, _Compare>::top() const [with _Tp = Branch*; _Sequence = std::vector<Branch*>; _Compare = CostCompare; const_reference = Branch* const&]: Assertion '!this->empty()' failed.
Aborted (core dumped)

@junaruga junaruga changed the title bowtie 1.3.1 "Cline paired 2 (fw:1, sam:1)" test aborted with g++ 13.0.1 bowtie 1.3.1 "Cline paired 2 (fw:1, sam:1)" test aborted with g++ 13.0.1 and CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS' Feb 17, 2023
@junaruga
Copy link
Author

I was also able to reproduce this issue by adding the following modification on my forked repository's GitHub Actions - Ubuntu 22.04.1.

diff --git a/.github/workflows/simple_tests.yml b/.github/workflows/simple_tests.yml
index 6753530..01f66b6 100644
--- a/.github/workflows/simple_tests.yml
+++ b/.github/workflows/simple_tests.yml
@@ -42,7 +42,7 @@ jobs:
       - uses: actions/checkout@v2
       - name: Run simple tests
         run: |
-          make allall
+          CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS' make allall
           make simple-test
   macos:
     runs-on: macos-latest

https://github.com/junaruga/bowtie/actions/runs/4208463552/jobs/7304505628#step:3:302

Cline paired 2 (fw:1, sam:1)
References:
>0
AGCATCGATCAAAAACTGA
./bowtie-build  --threads 1 --quiet --sanity  .simple_tests.pl.fa .simple_tests.tmp
./bowtie --debug   -s 1 -S --quiet -a .simple_tests.tmp -c -1 AGCATCGATC:IIIIIIIIII,TCAGTTTTTGA:IIIIIIIIIII -2 TCAGTTTTTGA:IIIIIIIIIII,AGCATCGATC:IIIIIIIIII
Setting the index via positional argument will be deprecated in a future release. Please use -x option instead.
bowtie aborted with exitlevel 134
make: *** [Makefile:415: simple-test] Error 255

@junaruga junaruga changed the title bowtie 1.3.1 "Cline paired 2 (fw:1, sam:1)" test aborted with g++ 13.0.1 and CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS' bowtie 1.3.1 "Cline paired 2 (fw:1, sam:1)" test aborted with CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS' Feb 17, 2023
@junaruga junaruga changed the title bowtie 1.3.1 "Cline paired 2 (fw:1, sam:1)" test aborted with CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS' Cline paired 2 (fw:1, sam:1) test aborted with CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS' Feb 18, 2023
@junaruga junaruga changed the title Cline paired 2 (fw:1, sam:1) test aborted with CXXFLAGS='-Wp,-D_GLIBCXX_ASSERTIONS' Cline paired 2 (fw:1, sam:1) test aborted with -Wp,-D_GLIBCXX_ASSERTIONS Feb 18, 2023
@ch4rr0
Copy link
Collaborator

ch4rr0 commented Feb 20, 2023

Hello Jun,

Looks like the issue is in range_source.h:1353. We pop a branch from the queue, but never check if the queue is empty before updating the minCost. A simple fix would be to wrap this assignment in an if statement.

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