Skip to content

regression: poa giving index-out-of-bounds errors #641

@davidlougheed

Description

@davidlougheed

I fear #620 may have introduced a regression with POA; I now get the following types of errors consistently with the rust-bio POA function (which do not occur with v2.2.0):

index out of bounds: the len is 34 but the index is 34
stack backtrace:
   0:        0x122eb0e58 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h92dda645f072dcaf
   1:        0x122ec50d8 - core::fmt::write::hbc92919d8e8f9a96
   2:        0x122eaf2c4 - std::io::Write::write_fmt::hcee3b5dc9ab531be
   3:        0x122eb0d0c - std::sys::backtrace::BacktraceLock::print::h0f497abce563e5d2
   4:        0x122eb1bac - std::panicking::default_hook::{{closure}}::h62595143a6c21f05
   5:        0x122eb19fc - std::panicking::default_hook::hd800536ed1df5085
   6:        0x122eb268c - std::panicking::rust_panic_with_hook::h1882a30575fbb763
   7:        0x122eb22b8 - std::panicking::begin_panic_handler::{{closure}}::h39275ef3005e6337
   8:        0x122eb1308 - std::sys::backtrace::__rust_end_short_backtrace::h6ede323c05a76849
   9:        0x122eb1f60 - __rustc[95feac21a9532783]::rust_begin_unwind
  10:        0x122ed53c8 - core::panicking::panic_fmt::h529fda7ea817ba4f
  11:        0x122ed5500 - core::panicking::panic_bounds_check::he315898ba5b8216d
  12:        0x122e8108c - bio::alignment::poa::Traceback::get::he762586fa858b994
  13:        0x122c58e98 - bio::alignment::poa::Poa<F>::recalculate_alignment::h711b89ce5e53c974
  14:        0x122c47308 - strkit_rust_ext::strkit::consensus::<impl strkit_rust_ext::strkit::consensus::consensus_seq::MakeDef>::_PYO3_DEF::trampoline::h381becb0c97e5bfc
  15:        0x1038b917c - _cfunction_vectorcall_FASTCALL_KEYWORDS
  16:        0x10395d120 - __PyEval_EvalFrameDefault
  17:        0x103880ce4 - _gen_send_ex2
  18:        0x10387fbd8 - _gen_iternext
  19:        0x1038900c4 - _list_extend
  20:        0x1038733e0 - _method_vectorcall_O
  21:        0x10395d120 - __PyEval_EvalFrameDefault
  22:        0x1038678f4 - __PyVectorcall_Call
  23:        0x10395ef7c - __PyEval_EvalFrameDefault
  24:        0x10386a284 - _method_vectorcall
  25:        0x103a2e334 - _thread_run
  26:        0x1039c573c - _pythread_wrapper
  27:        0x18efb9f94 - __pthread_joiner_wake
strkit-main:	[ERROR]	Got no POA consensus sequence from sequences ['GTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTTGTTTGTTTGTTTTTT', 'GTTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTTGTTTGTTTGTTTGTTTGTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTTT', 'GTTTTTTGTTTGTTTGTTTGTTTGTTTTTTT', 'GTTTTTTGTTTTGTTTGTTTGTTTGTTTTTTT']; trying best representative strategy

These sequences are the following:

GTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTTGTTTGTTTGTTTTTT
GTTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTTGTTTGTTTGTTTGTTTGTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTTT
GTTTTTTGTTTGTTTGTTTGTTTGTTTTTTT
GTTTTTTGTTTTGTTTGTTTGTTTGTTTTTTT

Happy to help further debug this, and I think it would be good to add more tests to try and catch these errors.

cc: @lorewar2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions