#1028713 pigx-rnaseq: FTBFS: E: Build killed with signal TERM after 150 minutes of inactivity

#1028713#5
Date:
2023-01-14 12:35:49 UTC
From:
To:
Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
The full build log is available from:
http://qa-logs.debian.net/2023/01/13/pigx-rnaseq_0.1.0-1.1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230113;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230113&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

#1028713#10
Date:
2023-01-14 17:15:14 UTC
From:
To:
Hi,

Lucas Nussbaum, on 2023-01-14:

From preliminary investigation, this looks to be caused by a
salmon process caught in infinite loop at the very step shown by
the hereover hardcopy.  Running an strace on salmon process does
not show any system call, which does not help locating where
we're caught.

If I attach to the process with gdb, I notice the loop seems to
be in libjemalloc2, oscillating between functions from
jemalloc/internal/ph.h and jemalloc/internal/edata.h when
running step by step.  Here after is a backtrace caught at a
random point in time during salmon's infinite loop:

	#0  phn_prev_set (offset=<optimized out>, prev=<optimized out>,
	    phn=<optimized out>) at include/jemalloc/internal/ph.h:128
	#1  phn_merge_ordered (cmp=<optimized out>, offset=40, phn1=0x7f495fa17280,
	    phn0=0x7f495fa17280) at include/jemalloc/internal/ph.h:126
	#2  phn_merge (cmp=<optimized out>, offset=40, phn1=0x7f495fa17280,
	    phn0=0x7f495fa17280) at include/jemalloc/internal/ph.h:146
	#3  phn_merge_siblings (cmp=<optimized out>, offset=40, phn=<optimized out>)
	    at include/jemalloc/internal/ph.h:209
	#4  ph_merge_aux (cmp=<optimized out>, offset=40, ph=0x7f495fa03b38)
	    at include/jemalloc/internal/ph.h:231
	#5  ph_first (cmp=<optimized out>, offset=40, ph=0x7f495fa03b38,
	    ph@entry=0xd4eb5f85f001) at include/jemalloc/internal/ph.h:265
	#6  je_edata_heap_first (ph=ph@entry=0x7f495fa03b38) at src/edata.c:6
	#7  0x00007f4961338cb9 in eset_first_fit (lg_max_fit=<optimized out>,
	    exact_only=<optimized out>, size=4096, eset=0x7f495fa03b18)
	    at src/eset.c:243
	#8  je_eset_fit (eset=eset@entry=0x7f495fa03b18, esize=esize@entry=4096,
	    alignment=alignment@entry=4096, exact_only=exact_only@entry=false,
	    lg_max_fit=<optimized out>) at src/eset.c:270
	#9  0x00007f496133b958 in extent_recycle_extract (ehooks=0x7f495fa000c0,
	    guarded=false, alignment=4096, size=4096, expand_edata=0x0,
	    ecache=0x7f495fa03aa8, pac=0x7f495fa03a70, tsdn=0x7f495fdfe968)
	    at src/extent.c:437
	#10 extent_recycle (tsdn=tsdn@entry=0x7f495fdfe968,
	    pac=pac@entry=0x7f495fa03a70, ehooks=ehooks@entry=0x7f495fa000c0,
	    ecache=ecache@entry=0x7f495fa03aa8, expand_edata=expand_edata@entry=0x0,
	    size=size@entry=4096, alignment=<optimized out>, zero=<optimized out>,
	    commit=<optimized out>, growing_retained=<optimized out>,
	    guarded=<optimized out>) at src/extent.c:606
	#11 0x00007f496133bad9 in je_ecache_alloc (tsdn=tsdn@entry=0x7f495fdfe968,
	    pac=pac@entry=0x7f495fa03a70, ehooks=ehooks@entry=0x7f495fa000c0,
	    ecache=ecache@entry=0x7f495fa03aa8, expand_edata=expand_edata@entry=0x0,
	    size=size@entry=4096, alignment=4096, zero=false, guarded=false)
	    at src/extent.c:87
	#12 0x00007f4961346d5d in pac_alloc_real (tsdn=tsdn@entry=0x7f495fdfe968,
	    pac=pac@entry=0x7f495fa03a70, ehooks=ehooks@entry=0x7f495fa000c0,
	    size=size@entry=4096, alignment=alignment@entry=4096,
	    zero=zero@entry=false, guarded=false) at src/pac.c:116
	#13 0x00007f4961346ee6 in pac_alloc_impl (tsdn=0x7f495fdfe968,
	    self=0x7f495fa03a70, size=4096, alignment=4096, zero=<optimized out>,
	    guarded=<optimized out>, frequent_reuse=true,
	    deferred_work_generated=0x7ffea3d0cb37) at src/pac.c:178
	#14 0x00007f4961345c5c in pai_alloc (deferred_work_generated=0x7ffea3d0cb37,
	    frequent_reuse=true, guarded=<optimized out>, zero=false,
	    alignment=<optimized out>, size=4096, self=0x7f495fa03a70,
	    tsdn=0x7f495fdfe968) at include/jemalloc/internal/pai.h:43
	#15 je_pa_alloc (tsdn=tsdn@entry=0x7f495fdfe968,
	    shard=shard@entry=0x7f495fa03a58, size=4096,
	    alignment=alignment@entry=4096, slab=slab@entry=true,
	    szind=szind@entry=20, zero=false, guarded=false,
	    deferred_work_generated=0x7ffea3d0cb37) at src/pa.c:139
	#16 0x00007f49612e7a8d in arena_slab_alloc (tsdn=tsdn@entry=0x7f495fdfe968,
	    arena=arena@entry=0x7f495fa010c0, binind=binind@entry=20,
	    binshard=binshard@entry=0,
	    bin_info=bin_info@entry=0x7f4961588f20 <je_bin_infos+800>)
	    at src/arena.c:839
	#17 0x00007f49612e8f00 in je_arena_cache_bin_fill_small (
	    tsdn=tsdn@entry=0x7f495fdfe968, arena=arena@entry=0x7f495fa010c0,
	    cache_bin=cache_bin@entry=0x7f495fdfeea8, cache_bin_info=<optimized out>,
	    binind=binind@entry=20, nfill=1) at src/arena.c:1034
	#18 0x00007f496135b3d9 in je_tcache_alloc_small_hard (
	    tsdn=tsdn@entry=0x7f495fdfe968, arena=arena@entry=0x7f495fa010c0,
	    tcache=tcache@entry=0x7f495fdfecc0,
	    cache_bin=cache_bin@entry=0x7f495fdfeea8, binind=binind@entry=20,
	    tcache_success=tcache_success@entry=0x7ffea3d0cc70) at src/tcache.c:238
	#19 0x00007f49612d5612 in tcache_alloc_small (slow_path=<optimized out>,
	    zero=false, binind=20, size=<optimized out>, tcache=0x7f495fdfecc0,
	    arena=0x7f495fa010c0, tsd=0x7f495fdfe968)
	    at include/jemalloc/internal/tcache_inlines.h:68
	#20 arena_malloc (slow_path=<optimized out>, tcache=0x7f495fdfecc0,
	    zero=false, ind=20, size=<optimized out>, arena=0x0, tsdn=0x7f495fdfe968)
	    at include/jemalloc/internal/arena_inlines_b.h:151
	#21 iallocztm (slow_path=<optimized out>, arena=0x0, is_internal=false,
	    tcache=0x7f495fdfecc0, zero=false, ind=20, size=<optimized out>,
	    tsdn=0x7f495fdfe968)
	    at include/jemalloc/internal/jemalloc_internal_inlines_c.h:55
	#22 imalloc_no_sample (ind=20, usize=1024, size=<optimized out>,
	    tsd=0x7f495fdfe968, dopts=<synthetic pointer>, sopts=<synthetic pointer>)
	    at src/jemalloc.c:2398
	#23 imalloc_body (tsd=0x7f495fdfe968, dopts=<synthetic pointer>,
	    sopts=<synthetic pointer>) at src/jemalloc.c:2573
	#24 imalloc (dopts=<optimized out>, sopts=<optimized out>)
	    at src/jemalloc.c:2687
	#25 je_malloc_default (size=<optimized out>) at src/jemalloc.c:2722
	#26 0x00007f4961360df9 in fallback_impl<false> (size=928)
	    at src/jemalloc_cpp.cpp:98
	#27 0x00007f4961360ed5 in imalloc_fastpath (
	    fallback_alloc=0x7f4961360df0 <fallback_impl<false>(std::size_t)>,
	    size=<optimized out>)
	    at include/jemalloc/internal/jemalloc_internal_inlines_c.h:266
	#28 0x000055a26c31cc0d in std::__new_allocator<std::pair<unsigned long, bool> >::allocate (this=0x7f495f8945a8, __n=<optimized out>)
	    at /usr/include/c++/12/bits/new_allocator.h:112
	#29 std::allocator_traits<std::allocator<std::pair<unsigned long, bool> > >::allocate (__n=<optimized out>, __a=...)
	    at /usr/include/c++/12/bits/alloc_traits.h:464
	#30 std::_Vector_base<std::pair<unsigned long, bool>, std::allocator<std::pair<unsigned long, bool> > >::_M_allocate (__n=<optimized out>,
	    this=<optimized out>) at /usr/include/c++/12/bits/stl_vector.h:378
	#31 std::vector<std::pair<unsigned long, bool>, std::allocator<std::pair<unsigned long, bool> > >::_M_default_append (this=0x7f495f8945a8, __n=58)
	    at /usr/include/c++/12/bits/vector.tcc:650
	#32 0x000055a26c30340c in std::vector<std::pair<unsigned long, bool>, std::allocator<std::pair<unsigned long, bool> > >::resize (__new_size=<optimized out>,
	    this=<optimized out>) at /usr/include/c++/12/bits/stl_vector.h:1011
	#33 pufferfish::BinaryGFAReader::parseFile (this=0x7ffea3d0e340)
	    at ./external/pufferfish/src/PufferfishBinaryGFAReader.cpp:161
	#34 0x000055a26c306d10 in pufferfishIndex (indexOpts=...)
	    at ./external/pufferfish/src/PufferfishIndexer.cpp:541
	#35 0x000055a26bee06ae in SalmonIndex::buildPuffIndex_ (idxOpt=...,
	    indexDir=..., this=0x7f495f83e280) at ./include/SalmonIndex.hpp:111
	#36 SalmonIndex::build (idxOpt=..., indexDir=..., this=0x7f495f83e280)
	    at ./include/SalmonIndex.hpp:76
	#37 salmonIndex (argc=<optimized out>, argv=<optimized out>)
	    at ./src/BuildSalmonIndex.cpp:247
	#38 0x000055a26be7b510 in std::function<int (int, char const**, std::unique_ptr<SalmonIndex, std::default_delete<SalmonIndex> >&)>::operator()(int, char const**, std::unique_ptr<SalmonIndex, std::default_delete<SalmonIndex> >&) const (
	    __args#2=std::unique_ptr<SalmonIndex> = {...}, __args#1=<optimized out>, 
	    __args#0=<optimized out>, this=0x7f495f84e338)
	    at /usr/include/c++/12/bits/std_function.h:591
	#39 main (argc=<optimized out>, argv=0x7ffea3d0fea8) at ./src/Salmon.cpp:267

Here is an almost minimal repreducer, using the pigx-rnaseq test
data raising the issue (that's 6.1M of data, so not exactly
minimal neither):

	wget 'https://salsa.debian.org/med-team/pigx-rnaseq/-/raw/debian/0.1.0-1.1/tests/sample_data/sample.cdna.fasta'
	salmon index -t sample.cdna.fasta -i salmon_index -p 8

Interestingly my "reproducer" is flaky and tends to raise
segmentation faults on occasions, instead of getting caught into
infinite loop.  Actually I just witnessed salmon failing to
build from source with such an error.  Other test data may show
consistent crash, or the indexing go through completely.

The issue could very well be a jemalloc bug, although other
reverse dependencies do not seem to be affected by similar
issues, but maybe this is something to keep in mind.  The issue
would need to be reduced further to identify the root cause
exactly.

Have a nice day,  :)

#1028713#25
Date:
2023-01-29 20:05:51 UTC
From:
To:
A stacktrace from the segmentation fault looks like follows.

It triggers consistently for me with the following steps in a source-tree

fakeroot debian/rules binary
cd sample_data/
/tmp/salmon-1.9.0+ds1/obj-x86_64-linux-gnu/src/salmon index -t
transcripts.fasta -i sample_salmon_quasi_index


#0  0x00007ffff7495993 in __GI__IO_fwrite (buf=0x7fffffffc978, size=1,
count=82,
fp=0x7ffff6060400) at ./libio/iofwrite.c:37
#1  0x000055555560f55d in spdlog::details::file_helper::write
(this=0x7ffff607f980,
msg=...) at ./include/spdlog/details/../sinks/../details/file_helper.h:90
#2  0x00005555556299dd in
spdlog::sinks::simple_file_sink<spdlog::details::null_mutex>::_sink_it
(msg=...,
this=0x7ffff607f970) at ./include/spdlog/details/../sinks/file_sinks.h:45
#3  spdlog::sinks::base_sink<spdlog::details::null_mutex>::log
(this=0x7ffff607f970,
msg=...) at ./include/spdlog/sinks/base_sink.h:37
#4  0x0000555555618aa3 in spdlog::logger::_sink_it
(this=0x7ffff6025810, msg=...)
at /usr/include/c++/12/bits/shared_ptr_base.h:1665
#5  0x0000555555a8ae19 in spdlog::logger::log<double> (fmt=0x555555cd7f0b
"mphf size = {} MB", lvl=spdlog::level::info, this=0x7ffff6025810) at
./external/pufferfish/include/spdlog/details/logger_impl.h:74
#6  spdlog::logger::info<double> (arg1=<optimized out>, fmt=0x555555cd7f0b
"mphf size = {} MB", this=0x7ffff6025810) at
./external/pufferfish/include/spdlog/details/logger_impl.h:145
#7  pufferfishIndex (indexOpts=...) at
./external/pufferfish/src/PufferfishIndexer.cpp:660
#8  0x00005555556636ae in SalmonIndex::buildPuffIndex_ (idxOpt=...,
indexDir=...,
this=0x7ffff603e280) at ./include/SalmonIndex.hpp:111
#9  SalmonIndex::build (idxOpt=..., indexDir=..., this=0x7ffff603e280) at
./include/SalmonIndex.hpp:76
#10 salmonIndex (argc=<optimized out>, argv=<optimized out>) at
./src/BuildSalmonIndex.cpp:247
#11 0x00005555555fe510 in std::function<int (int, char const**,
std::unique_ptr<SalmonIndex, std::default_delete<SalmonIndex>
std::default_delete<S
almonIndex> >&) const (__args#2=std::unique_ptr<SalmonIndex> = {...},
__args#1=<optimized out>, __args#0=<optimized out>, this=0x7ffff604e1a8) at
/usr/include/c++/12/bits/std_function.h:591
#12 main (argc=<optimized out>, argv=0x7fffffffe028) at ./src/Salmon.cpp:267

#1028713#30
Date:
2023-01-31 10:50:37 UTC
From:
To:
Hi Dominik,

thanks for your attempt to track this down.  I'm wondering what might
happen if I refresh the pufferfish code in debian/external which I tried
in my last commit.  Unfortunately this failed as well:

https://salsa.debian.org/med-team/salmon/-/jobs/3876351

Kind regards
   Andreas.

Am Sun, Jan 29, 2023 at 09:05:51PM +0100 schrieb Dominik Stadler:

#1028713#35
Date:
2023-02-22 15:21:37 UTC
From:
To:
Hi,

I've put the test suite line below (and others) into some autopkgtest
and for the moment forced the build time test to pass[1] to get some
package to test.  I've built this and installed salmon as well as
salmon-dbgsym and was running the same test as Dominik via:

cp -a /usr/share/doc/salmon/examples/* .
gdb --args salmon index -t transcripts.fasta -i sample_salmon_quasi_index
(gdb) run
Starting program: /usr/bin/salmon index -t transcripts.fasta -i sample_salmon_quasi_index
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
index ["sample_salmon_quasi_index"] did not previously exist  . . . creating it
[2023-02-22 15:10:42.244] [jLog] [warning] The salmon index is being built without any decoy sequences.  It is recommended that decoy sequence (either computed auxiliary decoy sequence oor the genome of the organism) be provided during indexing. Further details can be found at https://salmon.readthedocs.io/en/latest/salmon.html#preparing-transcriptome-indices-mapping-bsased-mode.
[2023-02-22 15:10:42.244] [jLog] [info] building index
out : sample_salmon_quasi_index
[2023-02-22 15:10:42.244] [puff::index::jointLog] [info] Running fixFasta
[New Thread 0x7ffff57ff6c0 (LWP 2115402)]

[Step 1 of 4] : counting k-mers
[Thread 0x7ffff57ff6c0 (LWP 2115402) exited]

[2023-02-22 15:10:42.248] [puff::index::jointLog] [info] Replaced 0 non-ATCG nucleotides
[2023-02-22 15:10:42.248] [puff::index::jointLog] [info] Clipped poly-A tails from 0 transcripts
wrote 15 cleaned references

Thread 1 "salmon" received signal SIGSEGV, Segmentation fault.
rapidjson::PrettyWriter<rapidjson::BasicOStreamWrapper<std::ostream>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator, 2u>::StartObject (this=0x7fffffff8168) at /usr/include/rapidjson/prettywriter.h:113
113             new (Base::level_stack_.template Push<typename Base::Level>()) typename Base::Level(false);
(gdb) bt 20
#0  rapidjson::PrettyWriter<rapidjson::BasicOStreamWrapper<std::ostream>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator, 2u>::StartObject (this=0x7fffffff8168)
    at /usr/include/rapidjson/prettywriter.h:113
#1  cereal::JSONOutputArchive::writeName (this=0x7fffffff8030) at /usr/include/cereal/archives/json.hpp:347
#2  0x0000555555b04428 in cereal::prologue<bool, (cereal::traits::detail::sfinae)0> (ar=...) at ./external/pufferfish/include/cereal/archives/json.hpp:891
#3  cereal::OutputArchive<cereal::JSONOutputArchive, 0u>::process<bool&> (head=@0x7fffffff7d55: false, this=0x7fffffff8030) at ./external/pufferfish/include/cereal/cereal.hpp:416
#4  cereal::OutputArchive<cereal::JSONOutputArchive, 0u>::operator()<bool&> (this=<optimized out>) at ./external/pufferfish/include/cereal/cereal.hpp:311
#5  cereal::save<bool&> (t=..., ar=...) at ./external/pufferfish/include/cereal/archives/json.hpp:944
#6  cereal::OutputArchive<cereal::JSONOutputArchive, 0u>::processImpl<cereal::NameValuePair<bool&>, (cereal::traits::detail::sfinae)0> (t=..., this=<optimized out>)
    at ./external/pufferfish/include/cereal/cereal.hpp:505
#7  cereal::OutputArchive<cereal::JSONOutputArchive, 0u>::process<cereal::NameValuePair<bool&> > (head=..., this=<optimized out>) at ./external/pufferfish/include/cereal/cereal.hpp:417
#8  cereal::OutputArchive<cereal::JSONOutputArchive, 0u>::operator()<cereal::NameValuePair<bool&> > (this=0x7fffffff8030) at ./external/pufferfish/include/cereal/cereal.hpp:311
#9  fixFasta (parser=0x7ffff6076800, decoyNames=..., keepDuplicates=false, k=31, sepStr=" \t", expect_transcriptome=true, noclip_polya=false, iomutex=...,
    log=std::shared_ptr<spdlog::logger> (use count 4, weak count 0) = {...}, outFile="sample_salmon_quasi_index/ref_k31_fixed.fa",
    refIdExtensions=std::vector of length 15, capacity 15 = {...}, shortRefs=std::vector of length 0, capacity 0) at ./external/pufferfish/src/FixFasta.cpp:456                          o
#10 0x0000555555b08195 in fixFastaMain (args=std::vector of length 7, capacity 8 = {...}, refIdExtension=std::vector of length 15, capacity 15 = {...},                                  s
    shortRefs=std::vector of length 0, capacity 0, log=std::shared_ptr<spdlog::logger> (use count 4, weak count 0) = {...}, hasFeatures=hasFeatures@entry=false)
    at ./external/pufferfish/src/FixFasta.cpp:686
#11 0x0000555555a8a510 in pufferfishIndex (indexOpts=...) at ./external/pufferfish/src/PufferfishIndexer.cpp:432
#12 0x000055555566399e in SalmonIndex::buildPuffIndex_ (idxOpt=..., indexDir=..., this=0x7ffff603e280) at ./include/SalmonIndex.hpp:111
#13 SalmonIndex::build (idxOpt=..., indexDir=..., this=0x7ffff603e280) at ./include/SalmonIndex.hpp:76
#14 salmonIndex (argc=<optimized out>, argv=<optimized out>) at ./src/BuildSalmonIndex.cpp:247
#15 0x00005555555fe9a0 in std::function<int (int, char const**, std::unique_ptr<SalmonIndex, std::default_delete<SalmonIndex> >&)>::operator()(int, char const**, std::unique_ptr<SalmonIndex, std::default_delete<SalmonIndex> >&) const (__args#2=std::unique_ptr<SalmonIndex> = {...}, __args#1=<optimized out>, __args#0=<optimized out>, this=0x7ffff604e1a8)
    at /usr/include/c++/12/bits/std_function.h:591
#16 main (argc=<optimized out>, argv=0x7fffffffde98) at ./src/Salmon.cpp:267


The traceback with the latest Pufferfish is different before

   ./include/SalmonIndex.hpp:111

Interestingly the old pufferfish (used by Dominik) triggers failures in
spdlog while the updated pufferfish above triggers the problem in
rapidjson.


I now tried to check the original upstream tarball, have built it via
...
(gdb) run
Starting program: /home/andreas/debian-maintain/salsa/med-team/salmon_original/salmon-1.9.0/src/salmon index -t transcripts.fasta -i sample_salmon_quasi_index
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Version Info: This is the most recent version of salmon.
[2023-02-22 16:02:10.010] [jLog] [warning] The salmon index is being built without any decoy sequences.  It is recommended that decoy sequence (either computed auxiliary decoy sequence or the genome of the organism) be provided during indexing. Further details can be found at https://salmon.readthedocs.io/en/latest/salmon.html#preparing-transcriptome-indices-mapping-based-mode.
[2023-02-22 16:02:10.010] [jLog] [info] building index
out : sample_salmon_quasi_index
[2023-02-22 16:02:10.011] [puff::index::jointLog] [info] Running fixFasta
[New Thread 0x7ffff57ff6c0 (LWP 2627183)]

[Step 1 of 4] : counting k-mers
[Thread 0x7ffff57ff6c0 (LWP 2627183) exited]

[2023-02-22 16:02:10.021] [puff::index::jointLog] [info] Replaced 0 non-ATCG nucleotides
[2023-02-22 16:02:10.021] [puff::index::jointLog] [info] Clipped poly-A tails from 0 transcripts
wrote 15 cleaned references

Thread 1 "salmon" received signal SIGSEGV, Segmentation fault.
0x000055555566277f in cereal::JSONOutputArchive::writeName() ()
(gdb) bt 20
#0  0x000055555566277f in cereal::JSONOutputArchive::writeName() ()
#1  0x0000555555b1fe35 in fixFasta(fastx_parser::FastxParser<klibpp::KSeq>*, spp::sparse_hash_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, spp::spp_hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, spp::libc_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, bool, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool, bool, std::mutex&, std::shared_ptr<spdlog::logger>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<unsigned int, std::allocator<unsigned int> >&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short> > >&) ()
#2  0x0000555555b23c1e in fixFastaMain(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::vector<unsigned int, std::allocator<unsigned int> >&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short> > >&, std::shared_ptr<spdlog::logger>, bool) ()
#3  0x0000555555aa85b2 in pufferfishIndex(pufferfish::IndexOptions&) ()
#4  0x000055555566730b in salmonIndex(int, char const**, std::unique_ptr<SalmonIndex, std::default_delete<SalmonIndex> >&) ()
#5  0x0000555555602fc3 in main ()


Interestingly if I want debug symbols and run cmake with
-DCMAKE_BUILD_TYPE=Debug I get

  c++: error: -pg and -fomit-frame-pointer are incompatible

No idea how I need to run configure to get a working build with debug
symbols - however, the SIGSEGV is reproducible even with plain upstream
tarball (where no code copies are excluded).

Kind regards

     Andreas.


[1] https://salsa.debian.org/med-team/salmon/-/commit/d79e95578edfcdba30719703daf3caebd8c289ed

#1028713#40
Date:
2023-03-08 16:50:31 UTC
From:
To:

#1028713#49
Date:
2023-03-13 08:49:36 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
salmon, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1028713@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Tille <tille@debian.org> (supplier of updated salmon package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 13 Mar 2023 09:15:13 +0100
Source: salmon
Architecture: source
Version: 1.10.1+ds1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Changed-By: Andreas Tille <tille@debian.org>
Closes: 1028713 1031580
Changes:
 salmon (1.10.1+ds1-1) unstable; urgency=medium
 .
   * Team upload.
   * New upstream version
     Closes: #1028713, #1031580
   * Refresh external files from pufferfish
   * Add autopkgtest
Checksums-Sha1:
 cc996df2010e2c0f20a7b483be1605618991740f 2583 salmon_1.10.1+ds1-1.dsc
 d1503db1ae64db3fa1395efae7501d40a8016432 5718440 salmon_1.10.1+ds1.orig.tar.xz
 15ca0c6306fa0f262921a498fd2cf769bfd1f40d 1895392 salmon_1.10.1+ds1-1.debian.tar.xz
 e610aaefc2614232281b64b3bc1196713406d6ac 11413 salmon_1.10.1+ds1-1_amd64.buildinfo
Checksums-Sha256:
 3582ee15b5ed0ba090a4b6fc52489edb181d94a7404b56f6bace5bef790022e7 2583 salmon_1.10.1+ds1-1.dsc
 22d3787cd906013deda28f11138295e058ea3655d10119f21db74f320cab9923 5718440 salmon_1.10.1+ds1.orig.tar.xz
 278dc25779aaa3b80e749a5c84719a629eda10fc554d6143c15bbef40da5a3ca 1895392 salmon_1.10.1+ds1-1.debian.tar.xz
 db8dbb15f637da21196bdfedc2bcd2b5e8f8ff1609d24115fc227c43038d3ec0 11413 salmon_1.10.1+ds1-1_amd64.buildinfo
Files:
 5921472f72d129f9eddb9d9f29388a6f 2583 science optional salmon_1.10.1+ds1-1.dsc
 03c2f83832babc833206c0ecf486432b 5718440 science optional salmon_1.10.1+ds1.orig.tar.xz
 3c8c6684d48dff7f0704d35a82ea0098 1895392 science optional salmon_1.10.1+ds1-1.debian.tar.xz
 2f2622bae1689788d6eb212dba6a32e1 11413 science optional salmon_1.10.1+ds1-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmQO3s8RHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtGjpg/+LnYm3YEdMdJqOzDMh8f4QjdE/Ahc505x
r6zRKzW55hldHlQPwBdJfbx7b/uIOgz9rBJ7hEduJVfw0C6tJFELgqWHbUm/LmSd
JP9Qj4oJGVCrjGmVZLMkySHKYlrRqj61e2Qc1q1+ICUT0qRQNUjxeqWQv+Mjtxi3
6+1qmq95cQCioW/Z2DX26MVqpWvsxcbSm5JxkiNZsD+napnpJijqV+kjIM+olGkl
C9JOJS2dVgmFl+ME9PLt5mBf5RP/h8MElLf/lns+rjDQ/2Sr8dXZOqcTiaEWpZMU
C6EMRe0doGScGMusLFhQKgbZF28a6SI7091EDa1X4+JYCwv2g4kayGbvOQ3nCpJE
HS9ki23U2rroAEzCve34b9eW58zW93FdYNfmbMd0GfCXN6IbQvMOtN8OrPwaZ9Kc
8A/KLIKNINbbpaLIs4mqWKTa8CWww9kDRxXzyoPSyK/6NrSeRQF5Ude66BgU+kN/
4Cxr907EDQOvFd6uuekAn8Yjm3XFxU0WlSQY73whmKtLUVptMCh6Td2uuSOFDCys
xtPbaB1uUcqzLZqHYHfbCKeSdvSZMC9JJtxG7ZPPzXl0fPOV0wRJO5arVyOUbvfp
nvOuKe1zeabju0OQtY1wEIVpgwA/2I7331O7hLDLRDbY03msVQlJnDrbVFuY81XT
l9xsgdsXqNo=
=p7QB
-----END PGP SIGNATURE-----