Hi Nilesh, Nilesh Patra, on 2024-12-07: > Thanks for debugging this. The error to me appears to be here: > > https://salsa.debian.org/med-team/pbseqlib/-/blob/master/alignment/algorithms/anchoring/FindMaxIntervalImpl.hpp?ref_type=heads#L140 > > and consequently at > https://salsa.debian.org/med-team/pbseqlib/-/blob/master/alignment/algorithms/anchoring/FindMaxIntervalImpl.hpp?ref_type=heads#L144 > > It is then trying to access matchList[m] and m is matchList.size() in the > first iteration which is undefined behavior. > > It should start from matchList.size() - 1. I've pushed a fix -- do blasr > autopkgtest pass now?
Thanks for taking the time to diagnose the error, I have pulled your changes for pbseqlib, rebuilt it, then built blasr against the fresh pbseqlib. I still hit a core dump though. The back trace looks like: #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007ffff71e4cef in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:78 #2 0x00007ffff7190c42 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007ffff71794f0 in __GI_abort () at ./stdlib/abort.c:79 #4 0x00007ffff7530f9e in std::__glibcxx_assert_fail(char const*, int, char const*, char const*) () from /lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x00005555555bacd0 in std::vector<ChainedMatchPos, std::allocator<ChainedMatchPos> >::operator[] (this=<optimized out>, __n=<optimized out>) at /usr/include/c++/14/bits/stl_vector.h:1128 #6 std::vector<ChainedMatchPos, std::allocator<ChainedMatchPos> >::operator[] (this=<optimized out>, __n=<optimized out>) at /usr/include/c++/14/bits/stl_vector.h:1128 #7 RemoveOverlappingAnchors<std::vector<ChainedMatchPos, std::allocator<ChainedMatchPos> > > (matchList=std::vector of length 34, capacity 64 = {...}) at /usr/include/pbseq/alignment/algorithms/anchoring/FindMaxIntervalImpl.hpp:144 #8 0x00005555555cd01f in MapRead<SMRTSequence, FASTASequence, SuffixArray<unsigned char, std::vector<int, std::allocator<int> >, DefaultCompareStrings<unsigned char>, DNATuple>, TupleCountTable<FASTASequence, DNATuple> > (read=..., readRC=..., genome=..., sarray=..., bwt=..., seqBoundary=..., ct=..., seqdb=..., params=..., metrics=..., alignmentPtrs=..., mappingBuffers=..., mapData=<optimized out>, semaphores=...) at ../iblasr/BlasrAlignImpl.hpp:149 #9 0x0000555555591364 in MapReadsNonCCS ( mapData=mapData@entry=0x555555691f38, mappingBuffers=..., smrtRead=..., smrtReadRC=..., subreads=std::vector of length 0, capacity 0, params=..., associatedRandInt=@0x7fffffffa73c: 813429720, allReadAlignments=..., threadOut=...) at ../Blasr.cpp:347 #10 0x0000555555595119 in MapReads (mapData=mapData@entry=0x555555691f38) at ../Blasr.cpp:763 #11 0x000055555556c77f in main (argc=<optimized out>, argv=<optimized out>) at ../Blasr.cpp:1376 There does not seem to have been much changes. Maybe the error is somewhere else? I hope I ran the test properly, it was a bit intricate. Have a nice day, :) -- .''`. Étienne Mollier <emoll...@debian.org> : :' : pgp: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da `. `' sent from /dev/pts/1, please excuse my verbosity `-
signature.asc
Description: PGP signature