Crash when built with clang #21

Open
outpaddling opened this Issue Jan 22, 2016 · 0 comments

Comments

Projects
None yet
1 participant

Just a heads-up: When building bowtie 1.1.2 with clang 3.4, we're seeing intermittent crashes. Below
is a backtrace from lldb. Maybe it will reveal a bug in the code that others are encountering as well.

For now, we're working around this by compiling with gcc 4.8.

Cheers,

Jason

FreeBSD unixdev.local bacon ~/trinity-test 408: lldb37 -f /usr/local/bin/bowtie-align-s -c trinity_out_dunn/bowtie-align-s.core
(lldb) target create "/usr/local/bin/bowtie-align-s" --core "trinity_out_dunn/bowtie-align-s.core"
Core file '/home/bacon/trinity-test/trinity_out_dunn/bowtie-align-s.core' (x86_64) was loaded.
(lldb) bt

  • thread #1: tid = 0, 0x000000080147e6ca libc.so.7`__sys_thr_kill + 10, name = 'bowtie-align-s', stop reason = signal SIGABRT

    • frame #0: 0x000000080147e6ca libc.so.7__sys_thr_kill + 10 frame #1: 0x0000000801553219 libc.so.7abort + 73
      frame #2: 0x000000000048e82f bowtie-align-stthread::thread::wrapper_function(aArg=<unavailable>) + 79 at tinythread.cpp:175 frame #3: 0x00000008008e34f5 libthr.so.3??? + 277
      (lldb) bt all
  • thread #1: tid = 0, 0x000000080147e6ca libc.so.7`__sys_thr_kill + 10, name = 'bowtie-align-s', stop reason = signal SIGABRT

    • frame #0: 0x000000080147e6ca libc.so.7__sys_thr_kill + 10 frame #1: 0x0000000801553219 libc.so.7abort + 73
      frame #2: 0x000000000048e82f bowtie-align-stthread::thread::wrapper_function(aArg=<unavailable>) + 79 at tinythread.cpp:175 frame #3: 0x00000008008e34f5 libthr.so.3??? + 277

    thread #2: tid = 1, 0x000000080147ef2a libc.so.7_sched_yield + 10, name = 'bowtie-align-s', stop reason = signal SIGABRT frame #0: 0x000000080147ef2a libc.so.7_sched_yield + 10
    frame #1: 0x0000000000493fc5 bowtie-align-sSAMHitSink::reportUnOrMax(this=0x0000000801cfc1c0, p=<unavailable>, hs=<unavailable>, un=<unavailable>) + 1701 at fast_mutex.h:186 frame #2: 0x000000000042b4ce bowtie-align-sHitSinkPerThread::finishRead(this=0x0000000884416080, p=0x0000000884438000, report=, dump=) + 334 at hit.h:1011
    frame #3: 0x0000000000444396 bowtie-align-sUnpairedAlignerV2<EbwtRangeSource>::advance(this=0x0000000884428240) + 438 at aligner.h:515 frame #4: 0x0000000000431089 bowtie-align-sMixedMultiAligner::run(this=0x00007ffffedf6e08, verbose=) + 409 at aligner.h:244
    frame #5: 0x0000000000416577 bowtie-align-sseededQualSearchWorkerFullStateful(vp=<unavailable>) + 2071 at ebwt_search.cpp:2233 frame #6: 0x000000000048e7f3 bowtie-align-stthread::thread::wrapper_function(aArg=0x0000000801c1b2a0) + 19 at tinythread.cpp:169
    frame #7: 0x00000008008e34f5 libthr.so.3`??? + 277

    thread #3: tid = 2, 0x000000080147ef2a libc.so.7_sched_yield + 10, name = 'bowtie-align-s', stop reason = signal SIGABRT frame #0: 0x000000080147ef2a libc.so.7_sched_yield + 10
    frame #1: 0x0000000000493fc5 bowtie-align-sSAMHitSink::reportUnOrMax(this=0x0000000801cfc1c0, p=<unavailable>, hs=<unavailable>, un=<unavailable>) + 1701 at fast_mutex.h:186 frame #2: 0x000000000042b4ce bowtie-align-sHitSinkPerThread::finishRead(this=0x0000000843816080, p=0x0000000843838000, report=, dump=) + 334 at hit.h:1011
    frame #3: 0x0000000000444396 bowtie-align-sUnpairedAlignerV2<EbwtRangeSource>::advance(this=0x0000000843828240) + 438 at aligner.h:515 frame #4: 0x0000000000431089 bowtie-align-sMixedMultiAligner::run(this=0x00007ffffeff7e08, verbose=) + 409 at aligner.h:244
    frame #5: 0x0000000000416577 bowtie-align-sseededQualSearchWorkerFullStateful(vp=<unavailable>) + 2071 at ebwt_search.cpp:2233 frame #6: 0x000000000048e7f3 bowtie-align-stthread::thread::wrapper_function(aArg=0x0000000801c1b260) + 19 at tinythread.cpp:169
    frame #7: 0x00000008008e34f5 libthr.so.3`??? + 277

    thread #4: tid = 3, 0x000000080147ef2a libc.so.7_sched_yield + 10, name = 'bowtie-align-s', stop reason = signal SIGABRT frame #0: 0x000000080147ef2a libc.so.7_sched_yield + 10
    frame #1: 0x0000000000493fc5 bowtie-align-sSAMHitSink::reportUnOrMax(this=0x0000000801cfc1c0, p=<unavailable>, hs=<unavailable>, un=<unavailable>) + 1701 at fast_mutex.h:186 frame #2: 0x000000000042b4ce bowtie-align-sHitSinkPerThread::finishRead(this=0x00000008e4c16080, p=0x00000008e4c38000, report=, dump=) + 334 at hit.h:1011
    frame #3: 0x0000000000444396 bowtie-align-sUnpairedAlignerV2<EbwtRangeSource>::advance(this=0x00000008e4c28240) + 438 at aligner.h:515 frame #4: 0x0000000000431089 bowtie-align-sMixedMultiAligner::run(this=0x00007fffff1f8e08, verbose=) + 409 at aligner.h:244
    frame #5: 0x0000000000416577 bowtie-align-sseededQualSearchWorkerFullStateful(vp=<unavailable>) + 2071 at ebwt_search.cpp:2233 frame #6: 0x000000000048e7f3 bowtie-align-stthread::thread::wrapper_function(aArg=0x0000000801c1b220) + 19 at tinythread.cpp:169
    frame #7: 0x00000008008e34f5 libthr.so.3`??? + 277

    thread #5: tid = 4, 0x000000080147ef2a libc.so.7_sched_yield + 10, name = 'bowtie-align-s', stop reason = signal SIGABRT frame #0: 0x000000080147ef2a libc.so.7_sched_yield + 10
    frame #1: 0x0000000000493fc5 bowtie-align-sSAMHitSink::reportUnOrMax(this=0x0000000801cfc1c0, p=<unavailable>, hs=<unavailable>, un=<unavailable>) + 1701 at fast_mutex.h:186 frame #2: 0x000000000042b4ce bowtie-align-sHitSinkPerThread::finishRead(this=0x00000008a4816080, p=0x00000008a4838000, report=, dump=) + 334 at hit.h:1011
    frame #3: 0x0000000000444396 bowtie-align-sUnpairedAlignerV2<EbwtRangeSource>::advance(this=0x00000008a4828240) + 438 at aligner.h:515 frame #4: 0x0000000000431089 bowtie-align-sMixedMultiAligner::run(this=0x00007fffff3f9e08, verbose=) + 409 at aligner.h:244
    frame #5: 0x0000000000416577 bowtie-align-sseededQualSearchWorkerFullStateful(vp=<unavailable>) + 2071 at ebwt_search.cpp:2233 frame #6: 0x000000000048e7f3 bowtie-align-stthread::thread::wrapper_function(aArg=0x0000000801c1b1e0) + 19 at tinythread.cpp:169
    frame #7: 0x00000008008e34f5 libthr.so.3`??? + 277

    thread #6: tid = 5, 0x000000080147ef2a libc.so.7_sched_yield + 10, name = 'bowtie-align-s', stop reason = signal SIGABRT frame #0: 0x000000080147ef2a libc.so.7_sched_yield + 10
    frame #1: 0x0000000000493fc5 bowtie-align-sSAMHitSink::reportUnOrMax(this=0x0000000801cfc1c0, p=<unavailable>, hs=<unavailable>, un=<unavailable>) + 1701 at fast_mutex.h:186 frame #2: 0x000000000042b4ce bowtie-align-sHitSinkPerThread::finishRead(this=0x0000000803416080, p=0x0000000803438000, report=, dump=) + 334 at hit.h:1011
    frame #3: 0x0000000000444396 bowtie-align-sUnpairedAlignerV2<EbwtRangeSource>::advance(this=0x0000000803428240) + 438 at aligner.h:515 frame #4: 0x0000000000431089 bowtie-align-sMixedMultiAligner::run(this=0x00007fffff5fae08, verbose=) + 409 at aligner.h:244
    frame #5: 0x0000000000416577 bowtie-align-sseededQualSearchWorkerFullStateful(vp=<unavailable>) + 2071 at ebwt_search.cpp:2233 frame #6: 0x000000000048e7f3 bowtie-align-stthread::thread::wrapper_function(aArg=0x0000000801c1b1a0) + 19 at tinythread.cpp:169
    frame #7: 0x00000008008e34f5 libthr.so.3`??? + 277

    thread #7: tid = 6, 0x000000080147ef2a libc.so.7_sched_yield + 10, name = 'bowtie-align-s', stop reason = signal SIGABRT frame #0: 0x000000080147ef2a libc.so.7_sched_yield + 10
    frame #1: 0x0000000000493fc5 bowtie-align-sSAMHitSink::reportUnOrMax(this=0x0000000801cfc1c0, p=<unavailable>, hs=<unavailable>, un=<unavailable>) + 1701 at fast_mutex.h:186 frame #2: 0x000000000042b4ce bowtie-align-sHitSinkPerThread::finishRead(this=0x0000000884016080, p=0x0000000884038000, report=, dump=) + 334 at hit.h:1011
    frame #3: 0x0000000000444396 bowtie-align-sUnpairedAlignerV2<EbwtRangeSource>::advance(this=0x0000000884028240) + 438 at aligner.h:515 frame #4: 0x0000000000431089 bowtie-align-sMixedMultiAligner::run(this=0x00007fffff9fce08, verbose=) + 409 at aligner.h:244
    frame #5: 0x0000000000416577 bowtie-align-sseededQualSearchWorkerFullStateful(vp=<unavailable>) + 2071 at ebwt_search.cpp:2233 frame #6: 0x000000000048e7f3 bowtie-align-stthread::thread::wrapper_function(aArg=0x0000000801c1b120) + 19 at tinythread.cpp:169
    frame #7: 0x00000008008e34f5 libthr.so.3`??? + 277

    thread #8: tid = 7, 0x000000080147ef2a libc.so.7_sched_yield + 10, name = 'bowtie-align-s', stop reason = signal SIGABRT frame #0: 0x000000080147ef2a libc.so.7_sched_yield + 10
    frame #1: 0x0000000000493fc5 bowtie-align-sSAMHitSink::reportUnOrMax(this=0x0000000801cfc1c0, p=<unavailable>, hs=<unavailable>, un=<unavailable>) + 1701 at fast_mutex.h:186 frame #2: 0x000000000042b4ce bowtie-align-sHitSinkPerThread::finishRead(this=0x0000000803016080, p=0x0000000803038000, report=, dump=) + 334 at hit.h:1011
    frame #3: 0x0000000000444396 bowtie-align-sUnpairedAlignerV2<EbwtRangeSource>::advance(this=0x0000000803028240) + 438 at aligner.h:515 frame #4: 0x0000000000431089 bowtie-align-sMixedMultiAligner::run(this=0x00007fffffbfde08, verbose=) + 409 at aligner.h:244
    frame #5: 0x0000000000416577 bowtie-align-sseededQualSearchWorkerFullStateful(vp=<unavailable>) + 2071 at ebwt_search.cpp:2233 frame #6: 0x000000000048e7f3 bowtie-align-stthread::thread::wrapper_function(aArg=0x0000000801c1b0e0) + 19 at tinythread.cpp:169
    frame #7: 0x00000008008e34f5 libthr.so.3`??? + 277

    thread #9: tid = 8, 0x00000008008ee8cc libthr.so.3, name = 'bowtie-align-s', stop reason = signal SIGABRT
    frame #0: 0x00000008008ee8cc libthr.so.3
    frame #1: 0x000000000041056b bowtie-align-svoid driver<seqan::String<seqan::SimpleType<unsigned char, seqan::_Dna>, seqan::Alloc<void> > >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [inlined] void seededQualCutoffSearchFull<seqan::String<seqan::SimpleType<unsigned char, seqan::_Dna>, seqan::Alloc<void> > >(seedLen=int at scalar, seedMms=int at scalar) + 1012 at ebwt_search.cpp:2335 frame #2: 0x0000000000410177 bowtie-align-svoid driver<seqan::String<seqan::SimpleType<unsigned char, seqan::_Dna>, seqan::Alloc > >(type=, ebwtFileBase=, query=, queries=, qualities=, outfile=) + 10391 at ebwt_search.cpp:2749
    frame #3: 0x0000000000406f7e bowtie-align-s::bowtie(argc=17, argv=0x00007fffffffe678) + 5726 at ebwt_search.cpp:2933 frame #4: 0x00000000004979bd bowtie-align-smain(argc=17, argv=0x00007fffffffe678) + 77 at bowtie_main.cpp:55
    frame #5: 0x0000000000404edf bowtie-align-s`_start + 367

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment