Skip to content

Deconv segmentation fault #267

@SeanGolez

Description

@SeanGolez

Luke has a deconv input dataset that throws a segmentation fault error that needs to be investigated.

Valgrind memcheck summary (for future reference):

valgrind --tool=memcheck --leak-check=full -s ~/PepSIRF/build/pepsirf deconv -l PM1_linkageMap-species-k7_2024-06-17.tsv -o deconv_out -e enrich --enriched_file_ending enriched.txt --single_threaded true --scoring_strategy summation --id_name_map rankedlineage.dmp --score_tie_threshold 0.8 --score_overlap_threshold 0.7 --peptide_assignment_map pmap_out -t virusSpecificScoreThresholds_2024-06-17.tsv
==23654== Memcheck, a memory error detector
==23654== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==23654== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==23654== Command: /home/seangolez/PepSIRF/build/pepsirf deconv -l PM1_linkageMap-species-k7_2024-06-17.tsv -o deconv_out -e enrich --enriched_file_ending enriched.txt --single_threaded true --scoring_strategy summation --id_name_map rankedlineage.dmp --score_tie_threshold 0.8 --score_overlap_threshold 0.7 --peptide_assignment_map pmap_out -t virusSpecificScoreThresholds_2024-06-17.tsv
==23654==
PepSIRF (v1.7.1)
Starting module Deconv with arguments:
--linked                  PM1_linkageMap-species-k7_2024-06-17.tsv
--thresholds              virusSpecificScoreThresholds_2024-06-17.tsv
--enriched                enrich
--single_threaded         true
--scoring_strategy        summation
--score_filtering         false
--id_name_map             rankedlineage.dmp
--custom_id_name_map_info ,,
--score_tie_threshold     0.8
--score_overlap_threshold 0.7
--output                  deconv_out
--outfile_suffix
--scores_per_round
--peptide_assignment_map  pmap_out
--mapfile_suffix
--enriched_file_ending    enriched.txt
--logfile                 Deconv_Fri_May_2_17-38-20_2025.log

==23654== Invalid read of size 8
==23654==    at 0x1BA72A: std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>::_M_next() const (hashtable_policy.h:283)
==23654==    by 0x1B4BA2: std::__detail::_Node_iterator_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>::_M_incr() (hashtable_policy.h:300)
==23654==    by 0x1ADD71: std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, false, true>::operator++() (hashtable_policy.h:352)
==23654==    by 0x1A88F7: void module_deconv::filter_counts<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, unsigned long>(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >) (module_deconv.h:629)
==23654==    by 0x19BD0E: module_deconv::choose_kmers(options_deconv*)::{lambda(evaluation_strategy::filter_strategy)#2}::operator()(evaluation_strategy::filter_strategy) const (module_deconv.cpp:207)
==23654==    by 0x19C6B6: module_deconv::choose_kmers(options_deconv*) (module_deconv.cpp:281)
==23654==    by 0x19B7EA: module_deconv::run(options*) (module_deconv.cpp:100)
==23654==    by 0x11FBD9: main (main.cpp:56)
==23654==  Address 0x2ebf9e60 is 0 bytes inside a block of size 56 free'd
==23654==    at 0x484B8AF: operator delete(void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==23654==    by 0x1C9623: __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> >::deallocate(std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*, unsigned long) (new_allocator.h:145)
==23654==    by 0x1C5D79: std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::deallocate(std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> >&, std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*, unsigned long) (alloc_traits.h:496)
==23654==    by 0x1C0806: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::_M_deallocate_node_ptr(std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*) (hashtable_policy.h:1905)
==23654==    by 0x1BA781: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::_M_deallocate_node(std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*) (hashtable_policy.h:1895)
==23654==    by 0x1C0C86: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_erase(unsigned long, std::__detail::_Hash_node_base*, std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*) (hashtable.h:2183)
==23654==    by 0x1BADEC: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_erase(std::integral_constant<bool, true>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (hashtable.h:2209)
==23654==    by 0x1B4BF2: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::erase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (hashtable.h:938)
==23654==    by 0x1ADDC4: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >::erase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (unordered_map.h:763)
==23654==    by 0x1A88EB: void module_deconv::filter_counts<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, unsigned long>(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >) (module_deconv.h:633)
==23654==    by 0x19BD0E: module_deconv::choose_kmers(options_deconv*)::{lambda(evaluation_strategy::filter_strategy)#2}::operator()(evaluation_strategy::filter_strategy) const (module_deconv.cpp:207)
==23654==    by 0x19C6B6: module_deconv::choose_kmers(options_deconv*) (module_deconv.cpp:281)
==23654==  Block was alloc'd at
==23654==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==23654==    by 0x1CAEE9: __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> >::allocate(unsigned long, void const*) (new_allocator.h:127)
==23654==    by 0x1C86CA: std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::allocate(std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> >&, unsigned long) (alloc_traits.h:464)
==23654==    by 0x1C44A9: std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::_M_allocate_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (hashtable_policy.h:1873)
==23654==    by 0x1BEB70: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_Scoped_node::_Scoped_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (hashtable.h:304)
==23654==    by 0x1B82B4: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::integral_constant<bool, true>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (hashtable.h:1966)
==23654==    by 0x1B1EB0: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (hashtable.h:915)
==23654==    by 0x1AB3D3: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, false, true>, bool> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (unordered_map.h:389)
==23654==    by 0x1A09FC: module_deconv::get_species_counts_per_peptide(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&) (module_deconv.cpp:1150)
==23654==    by 0x1A5805: module_deconv::choose_kmers(options_deconv*)::{lambda()#3}::operator()() const [clone ._omp_fn.0] (module_deconv.cpp:241)
==23654==    by 0x49E9A15: GOMP_parallel (in /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0)
==23654==    by 0x19BE06: module_deconv::choose_kmers(options_deconv*)::{lambda()#3}::operator()() const (module_deconv.cpp:213)
==23654==
==23654== Invalid read of size 8
==23654==    at 0x1B4DE0: std::pair<double, double>::pair<double&, true>(double&, double const&) (stl_pair.h:323)
==23654==    by 0x1AE073: std::pair<std::__strip_reference_wrapper<std::decay<double&>::type>::__type, std::__strip_reference_wrapper<std::decay<double const&>::type>::__type> std::make_pair<double&, double const&>(double&, double const&) (stl_pair.h:572)
==23654==    by 0x1A8B79: void module_deconv::combine_count_and_score<std::unordered_map>(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<double, double>>&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double>&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double> > >&) (module_deconv.h:763)
==23654==    by 0x19C729: module_deconv::choose_kmers(options_deconv*) (module_deconv.cpp:292)
==23654==    by 0x19B7EA: module_deconv::run(options*) (module_deconv.cpp:100)
==23654==    by 0x11FBD9: main (main.cpp:56)
==23654==  Address 0x28 is not stack'd, malloc'd or (recently) free'd
==23654==
==23654==
==23654== Process terminating with default action of signal 11 (SIGSEGV)
==23654==  Access not within mapped region at address 0x28
==23654==    at 0x1B4DE0: std::pair<double, double>::pair<double&, true>(double&, double const&) (stl_pair.h:323)
==23654==    by 0x1AE073: std::pair<std::__strip_reference_wrapper<std::decay<double&>::type>::__type, std::__strip_reference_wrapper<std::decay<double const&>::type>::__type> std::make_pair<double&, double const&>(double&, double const&) (stl_pair.h:572)
==23654==    by 0x1A8B79: void module_deconv::combine_count_and_score<std::unordered_map>(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<double, double>>&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double>&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double> > >&) (module_deconv.h:763)
==23654==    by 0x19C729: module_deconv::choose_kmers(options_deconv*) (module_deconv.cpp:292)
==23654==    by 0x19B7EA: module_deconv::run(options*) (module_deconv.cpp:100)
==23654==    by 0x11FBD9: main (main.cpp:56)
==23654==  If you believe this happened as a result of a stack
==23654==  overflow in your program's main thread (unlikely but
==23654==  possible), you can try to increase the size of the
==23654==  main thread stack using the --main-stacksize= flag.
==23654==  The main thread stack size used in this run was 8388608.
==23654==
==23654== HEAP SUMMARY:
==23654==     in use at exit: 323,754,193 bytes in 4,850,125 blocks
==23654==   total heap usage: 50,629,430 allocs, 45,779,305 frees, 4,425,781,886 bytes allocated
==23654==
==23654== LEAK SUMMARY:
==23654==    definitely lost: 0 bytes in 0 blocks
==23654==    indirectly lost: 0 bytes in 0 blocks
==23654==      possibly lost: 0 bytes in 0 blocks
==23654==    still reachable: 323,754,193 bytes in 4,850,125 blocks
==23654==         suppressed: 0 bytes in 0 blocks
==23654== Reachable blocks (those to which a pointer was found) are not shown.
==23654== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==23654==
==23654== ERROR SUMMARY: 658 errors from 2 contexts (suppressed: 0 from 0)
==23654==
==23654== 1 errors in context 1 of 2:
==23654== Invalid read of size 8
==23654==    at 0x1B4DE0: std::pair<double, double>::pair<double&, true>(double&, double const&) (stl_pair.h:323)
==23654==    by 0x1AE073: std::pair<std::__strip_reference_wrapper<std::decay<double&>::type>::__type, std::__strip_reference_wrapper<std::decay<double const&>::type>::__type> std::make_pair<double&, double const&>(double&, double const&) (stl_pair.h:572)
==23654==    by 0x1A8B79: void module_deconv::combine_count_and_score<std::unordered_map>(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<double, double>>&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double>&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double> > >&) (module_deconv.h:763)
==23654==    by 0x19C729: module_deconv::choose_kmers(options_deconv*) (module_deconv.cpp:292)
==23654==    by 0x19B7EA: module_deconv::run(options*) (module_deconv.cpp:100)
==23654==    by 0x11FBD9: main (main.cpp:56)
==23654==  Address 0x28 is not stack'd, malloc'd or (recently) free'd
==23654==
==23654==
==23654== 657 errors in context 2 of 2:
==23654== Invalid read of size 8
==23654==    at 0x1BA72A: std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>::_M_next() const (hashtable_policy.h:283)
==23654==    by 0x1B4BA2: std::__detail::_Node_iterator_base<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>::_M_incr() (hashtable_policy.h:300)
==23654==    by 0x1ADD71: std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, false, true>::operator++() (hashtable_policy.h:352)
==23654==    by 0x1A88F7: void module_deconv::filter_counts<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, unsigned long>(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >) (module_deconv.h:629)
==23654==    by 0x19BD0E: module_deconv::choose_kmers(options_deconv*)::{lambda(evaluation_strategy::filter_strategy)#2}::operator()(evaluation_strategy::filter_strategy) const (module_deconv.cpp:207)
==23654==    by 0x19C6B6: module_deconv::choose_kmers(options_deconv*) (module_deconv.cpp:281)
==23654==    by 0x19B7EA: module_deconv::run(options*) (module_deconv.cpp:100)
==23654==    by 0x11FBD9: main (main.cpp:56)
==23654==  Address 0x2ebf9e60 is 0 bytes inside a block of size 56 free'd
==23654==    at 0x484B8AF: operator delete(void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==23654==    by 0x1C9623: __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> >::deallocate(std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*, unsigned long) (new_allocator.h:145)
==23654==    by 0x1C5D79: std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::deallocate(std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> >&, std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*, unsigned long) (alloc_traits.h:496)
==23654==    by 0x1C0806: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::_M_deallocate_node_ptr(std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*) (hashtable_policy.h:1905)
==23654==    by 0x1BA781: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::_M_deallocate_node(std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*) (hashtable_policy.h:1895)
==23654==    by 0x1C0C86: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_erase(unsigned long, std::__detail::_Hash_node_base*, std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>*) (hashtable.h:2183)
==23654==    by 0x1BADEC: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_erase(std::integral_constant<bool, true>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (hashtable.h:2209)
==23654==    by 0x1B4BF2: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::erase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (hashtable.h:938)
==23654==    by 0x1ADDC4: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >::erase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (unordered_map.h:763)
==23654==    by 0x1A88EB: void module_deconv::filter_counts<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, unsigned long>(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >) (module_deconv.h:633)
==23654==    by 0x19BD0E: module_deconv::choose_kmers(options_deconv*)::{lambda(evaluation_strategy::filter_strategy)#2}::operator()(evaluation_strategy::filter_strategy) const (module_deconv.cpp:207)
==23654==    by 0x19C6B6: module_deconv::choose_kmers(options_deconv*) (module_deconv.cpp:281)
==23654==  Block was alloc'd at
==23654==    at 0x4849013: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==23654==    by 0x1CAEE9: __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> >::allocate(unsigned long, void const*) (new_allocator.h:127)
==23654==    by 0x1C86CA: std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::allocate(std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> >&, unsigned long) (alloc_traits.h:464)
==23654==    by 0x1C44A9: std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >::_M_allocate_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (hashtable_policy.h:1873)
==23654==    by 0x1BEB70: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_Scoped_node::_Scoped_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, true> > >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (hashtable.h:304)
==23654==    by 0x1B82B4: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::integral_constant<bool, true>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (hashtable.h:1966)
==23654==    by 0x1B1EB0: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (hashtable.h:915)
==23654==    by 0x1AB3D3: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double>, false, true>, bool> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&&) (unordered_map.h:389)
==23654==    by 0x1A09FC: module_deconv::get_species_counts_per_peptide(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 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::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::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> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > >&) (module_deconv.cpp:1150)
==23654==    by 0x1A5805: module_deconv::choose_kmers(options_deconv*)::{lambda()#3}::operator()() const [clone ._omp_fn.0] (module_deconv.cpp:241)
==23654==    by 0x49E9A15: GOMP_parallel (in /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0)
==23654==    by 0x19BE06: module_deconv::choose_kmers(options_deconv*)::{lambda()#3}::operator()() const (module_deconv.cpp:213)
==23654==
==23654== ERROR SUMMARY: 658 errors from 2 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)

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