Menu

#360 Barista memory leaks

Crux v2.0
closed
Barista (1)
2016-04-28
2015-12-03
Jared Moore
No

Examine barista-tutorial.html for further explaination on how to set up barista.

Valgrind output:

==12860== Memcheck, a memory error detector
==12860== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==12860== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info
==12860== Command: crux barista --separate-searches crux-output/tide-search.decoy.txt concat.fasta demo.ms2 crux-output/tide-search.target.txt --overwrite T
==12860== 
INFO: Beginning barista.
WARNING: The output directory 'crux-output' already exists.
Existing files will be overwritten.
WARNING: The file 'crux-output/barista.log.txt' already exists and will be overwritten.
INFO: CPU: D-173-250-156-211.dhcp4.washington.edu
INFO: Wed Dec  2 17:32:14 PST 2015
INFO: database source: concat.fasta
INFO: sqt source: crux-output/tide-search.target.txt
INFO: ms2 source: demo.ms2
INFO: output_directory: crux-output
INFO: enzyme: trypsin
INFO: decoy prefix: decoy_
INFO: digesting database concat.fasta
INFO: parsing files:
INFO: reading file demo.ms2
INFO: parsing file crux-output/tide-search.target.txt
INFO: PSM number 0
INFO: parsing file crux-output/tide-search.decoy.txt
INFO: Number of spectra: 332
INFO: Number of PSMs: total 332 positives 166 negatives 166
INFO: Number of peptides: total 188 positives 88 negatives 100
INFO: Number of proteins: total 89 positives 41 negatives 48
INFO: loading and normalizing data
INFO: trainset size 89
INFO: q<0.01: max non-parsimonious so far 9
INFO: q<0.01: max non-parsimonious so far 13
INFO: q<0.01: max non-parsimonious so far 15
INFO: q<0.01: max non-parsimonious so far 17
INFO: q<0.01: max non-parsimonious so far 19
INFO: finished training, making parsimonious protein set
number of meta groups 89
number of subset groups 0
INFO: total proteins parsimonious at q<0.01: 19
INFO: peptides at q<0.01: 21
INFO: psms at q<0.01: 65
INFO: Elapsed time: 1.2e+03 s               
INFO: Finished crux barista.
INFO: Return Code:0
==12860== 
==12860== HEAP SUMMARY:
==12860==     in use at exit: 26,824,232 bytes in 56,333 blocks
==12860==   total heap usage: 7,674,400 allocs, 7,618,067 frees, 1,450,847,717 bytes allocated
==12860== 
==12860== LEAK SUMMARY:
==12860==    definitely lost: 31,176 bytes in 340 blocks
==12860==    indirectly lost: 26,745,590 bytes in 55,676 blocks
==12860==      possibly lost: 0 bytes in 0 blocks
==12860==    still reachable: 25,327 bytes in 128 blocks
==12860==         suppressed: 22,139 bytes in 189 blocks
==12860== Rerun with --leak-check=full to see details of leaked memory
==12860== 
==12860== For counts of detected and suppressed errors, rerun with: -v
==12860== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Discussion

  • Atul Pai

    Atul Pai - 2015-12-03

    Should also mention that the majority of the time taken to run valgrind (30 mins+) happened after the line that reads "INFO: psms at q<0.01: 65". So the issue is probably somewhere in clean up.

     
  • Jared Moore

    Jared Moore - 2016-01-10
    Jareds-MacBook-Pro-2:workspace Jared$ valgrind --leak-check=full crux barista --separate-searches crux-output/tide-search.decoy.txt concat.fasta demo.ms2 crux-output/tide-search.
    target.txt --overwrite T                                                                 
    ==3203== Memcheck, a memory error detector
    ==3203== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
    ==3203== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info
    ==3203== Command: crux barista --separate-searches crux-output/tide-search.decoy.txt concat.fasta demo.ms2 crux-output/tide-search.target.txt --overwrite T
    ==3203== 
    INFO: Beginning barista.
    WARNING: The output directory 'crux-output' already exists.
    Existing files will be overwritten.
    WARNING: The file 'crux-output/barista.log.txt' already exists and will be overwritten.
    INFO: CPU: Jareds-MacBook-Pro-2.local
    INFO: Sat Jan  9 17:29:42 PST 2016
    INFO: database source: concat.fasta
    INFO: sqt source: crux-output/tide-search.target.txt
    INFO: ms2 source: demo.ms2
    INFO: output_directory: crux-output
    INFO: enzyme: trypsin
    INFO: decoy prefix: decoy_
    INFO: digesting database concat.fasta
    INFO: parsing files:
    INFO: reading file demo.ms2
    INFO: parsing file crux-output/tide-search.target.txt
    INFO: PSM number 0
    INFO: parsing file crux-output/tide-search.decoy.txt
    INFO: Number of spectra: 332
    INFO: Number of PSMs: total 332 positives 166 negatives 166
    INFO: Number of peptides: total 188 positives 88 negatives 100
    INFO: Number of proteins: total 89 positives 41 negatives 48
    INFO: loading and normalizing data
    INFO: trainset size 89
    INFO: q<0.01: max non-parsimonious so far 9
    INFO: q<0.01: max non-parsimonious so far 13
    INFO: q<0.01: max non-parsimonious so far 15
    INFO: q<0.01: max non-parsimonious so far 17
    INFO: q<0.01: max non-parsimonious so far 19
    INFO: finished training, making parsimonious protein set
    number of meta groups 89
    number of subset groups 0
    INFO: total proteins parsimonious at q<0.01: 19
    INFO: peptides at q<0.01: 21
    INFO: psms at q<0.01: 65
    INFO: Elapsed time: 1.24e+03 s
    INFO: Finished crux barista.
    INFO: Return Code:0
    ==3203== 
    ==3203== HEAP SUMMARY:
    ==3203==     in use at exit: 26,824,137 bytes in 56,327 blocks
    ==3203==   total heap usage: 7,674,393 allocs, 7,618,066 frees, 1,450,848,016 bytes allocated
    ==3203== 
    ==3203== 16 bytes in 1 blocks are definitely lost in loss record 50 of 300
    ==3203==    at 0x1016405A1: calloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==3203==    by 0x1020957CE: __cxa_get_globals (in /usr/lib/libc++abi.dylib)
    ==3203==    by 0x102095BB1: __cxa_throw (in /usr/lib/libc++abi.dylib)
    ==3203==    by 0x100AA53A0: pwiz::minimxml::xml_root_element(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (in /usr/local/b[80/729]
    ==3203==    by 0x100AA5466: pwiz::minimxml::xml_root_element(std::__1::basic_istream<char, std::__1::char_traits<char> >&) (in /usr/local/bin/crux)
    ==3203==    by 0x100995E13: pwiz::msdata::Reader_mzML::type(std::__1::basic_istream<char, std::__1::char_traits<char> >&) const (in /usr/local/bin/crux)
    ==3203==    by 0x100995CF2: pwiz::msdata::Reader_mzML::identify(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&) const (in /usr/local/bin/crux)a
    ==3203==    by 0x100A2B554: pwiz::msdata::ReaderList::identify(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&) const (in /usr/local/bin/crux)
    ==3203==    by 0x1009DB7CB: pwiz::msdata::(anonymous namespace)::readFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pwiz::msdata::MSData&, pwiz::msdata::Reader const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (in /usr/local/bin/crux)
    ==3203==    by 0x1009DB705: pwiz::msdata::MSDataFile::MSDataFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pwiz::msdata::Reader const*, bool) (in /usr/local/bin/crux)
    ==3203==    by 0x10047A207: PWIZSpectrumCollection::PWIZSpectrumCollection(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (in /usr/local/bin/crux)
    ==3203==    by 0x10047A3BC: PWIZSpectrumCollection::PWIZSpectrumCollection(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (in /usr/local/bin/crux)
    ==3203== 
    ==3203== 272 bytes in 1 blocks are definitely lost in loss record 223 of 300
    ==3203==    at 0x10163FE9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==3203==    by 0x10182EB58: getPerThreadBufferFor_dlerror(unsigned long) (in /usr/lib/system/libdyld.dylib)
    ==3203==    by 0x7FFF5FC0BEE4: dlerrorSet(char const*) (in /usr/lib/dyld)
    ==3203==    by 0x7FFF5FC0C212: dlopen (in /usr/lib/dyld)
    ==3203==    by 0x10182E79B: dlopen (in /usr/lib/system/libdyld.dylib)
    ==3203==    by 0x1020986F4: std::runtime_error::~runtime_error() (in /usr/lib/libc++abi.dylib)
    ==3203==    by 0x102095D6A: __cxa_decrement_exception_refcount (in /usr/lib/libc++abi.dylib)
    ==3203==    by 0x100995E6E: pwiz::msdata::Reader_mzML::type(std::__1::basic_istream<char, std::__1::char_traits<char> >&) const (in /usr/local/bin/crux)
    ==3203==    by 0x100995CF2: pwiz::msdata::Reader_mzML::identify(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&) const (in /usr/local/bin/crux)
    ==3203==    by 0x100A2B554: pwiz::msdata::ReaderList::identify(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&) const (in /usr/local/bin/crux)
    ==3203==    by 0x1009DB7CB: pwiz::msdata::(anonymous namespace)::readFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pwiz::msdata::MSData&, pwiz::msdata::Reader const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (in /usr/local/bin/crux)
    ==3203==    by 0x1009DB705: pwiz::msdata::MSDataFile::MSDataFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pwiz::msdata::Reader const*, bool) (in /usr/local/bin/crux)
    ==3203== 
    ==3203== 508 (80 direct, 428 indirect) bytes in 1 blocks are definitely lost in loss record 228 of 300
    ==3203==    at 0x10163FE9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==3203==    by 0x1018AA8D6: __Balloc_D2A (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018AB21F: __d2b_D2A (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018A7877: __dtoa (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018D03E6: __vfprintf (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018F96C8: __v2printf (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018DD914: _vsnprintf (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018DD973: vsnprintf_l (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018CDE1D: snprintf_l (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x101679752: std::__1::num_put<char, std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > >::do_put(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, std::__1::ios_base&, char, double) const (in /usr/lib/libc++.1.dylib)
    ==3203==    by 0x10165FB33: std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(double) (in /usr/lib/libc++.1.dylib)
    ==3203==    by 0x10054CFCB: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > StringUtils::ToString<double>(double const&, int, bool) (in /usr/local/bin/crux)
    ==3203== 
    ==3203== 2,656 bytes in 1 blocks are definitely lost in loss record 246 of 300
    ==3203==    at 0x10163FE9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==3203==    by 0x10168A7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==3203==    by 0x1000F19E3: Dataset::load_data_all_results() (in /usr/local/bin/crux)
    ==3203==    by 0x1000BF42E: Barista::setup_for_reporting_results() (in /usr/local/bin/crux)
    ==3203==    by 0x1000BE9C0: Barista::report_all_results_xml_tab() (in /usr/local/bin/crux)
    ==3203==    by 0x1000C7C78: Barista::run_tries() (in /usr/local/bin/crux)
    ==3203==    by 0x1000CD303: Barista::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x100293100: CruxApplicationList::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x1000023D2: main (in /usr/local/bin/crux)
    ==3203== 
    ==3203== 2,656 bytes in 1 blocks are definitely lost in loss record 247 of 300
    ==3203==    at 0x10163FE9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==3203==    by 0x10168A7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==3203==    by 0x1000F21CA: Dataset::load_data_all_results() (in /usr/local/bin/crux)
    ==3203==    by 0x1000BF42E: Barista::setup_for_reporting_results() (in /usr/local/bin/crux)
    ==3203==    by 0x1000BE9C0: Barista::report_all_results_xml_tab() (in /usr/local/bin/crux)
    ==3203==    by 0x1000C7C78: Barista::run_tries() (in /usr/local/bin/crux)
    ==3203==    by 0x1000CD303: Barista::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x100293100: CruxApplicationList::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x1000023D2: main (in /usr/local/bin/crux)
    ==3203== 
    ==3203== 2,656 bytes in 1 blocks are definitely lost in loss record 248 of 300
    ==3203==    at 0x10163FE9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==3203==    by 0x10168A7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==3203==    by 0x1000F29B1: Dataset::load_data_all_results() (in /usr/local/bin/crux)
    ==3203==    by 0x1000BF42E: Barista::setup_for_reporting_results() (in /usr/local/bin/crux)
    ==3203==    by 0x1000BE9C0: Barista::report_all_results_xml_tab() (in /usr/local/bin/crux)
    ==3203==    by 0x1000C7C78: Barista::run_tries() (in /usr/local/bin/crux)
    ==3203==    by 0x1000CD303: Barista::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x100293100: CruxApplicationList::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x1000023D2: main (in /usr/local/bin/crux)
    ==3203== 
    ==3203== 2,656 bytes in 332 blocks are definitely lost in loss record 249 of 300
    ==3203==    at 0x10163FE9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==3203==    by 0x10168A7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==3203==    by 0x1001901A6: SQTParser::extract_features(SQTParser::sqt_match&, int, int, enzyme) (in /usr/local/bin/crux)
    ==3203==    by 0x1000D65C5: CruxParser::readMatches(MatchFileReader&, int, enzyme, bool) (in /usr/local/bin/crux)
    ==3203==    by 0x1000D66AA: CruxParser::read_search_results(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, bool) (in /usr/local/bin/crux)
    ==3203==    by 0x1001A555F: SQTParser::run() (in /usr/local/bin/crux)
    ==3203==    by 0x1000CCDFA: Barista::crux_set_command_line_options(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x1000CD267: Barista::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x100293100: CruxApplicationList::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x1000023D2: main (in /usr/local/bin/crux)
    ==3203== 
    ==3203== 4,096 bytes in 1 blocks are definitely lost in loss record 283 of 300
    ==3203==    at 0x10163FE9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==3203==    by 0x1018C9AF5: __smakebuf (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018DEB49: __swsetup (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018F9481: __v2printf (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018CF389: vfprintf_l (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x1018C788B: fprintf (in /usr/lib/system/libsystem_c.dylib)
    ==3203==    by 0x100236154: carp_print(char const*) (in /usr/local/bin/crux)
    ==3203==    by 0x100235F44: carp(int, char const*, ...) (in /usr/local/bin/crux)
    ==3203==    by 0x1002895E8: CruxApplication::initialize(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x1002930C6: CruxApplicationList::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x1000023D2: main (in /usr/local/bin/crux)
    ==3203== 
    ==3203== 26,761,300 (16,088 direct, 26,745,212 indirect) bytes in 1 blocks are definitely lost in loss record 300 of 300
    ==3203==    at 0x10163FE9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==3203==    by 0x10168A7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==3203==    by 0x1000CB1A5: Barista::crux_set_command_line_options(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x1000CD267: Barista::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x100293100: CruxApplicationList::main(int, char**) (in /usr/local/bin/crux)
    ==3203==    by 0x1000023D2: main (in /usr/local/bin/crux)
    ==3203== 
    ==3203== LEAK SUMMARY:
    ==3203==    definitely lost: 31,176 bytes in 340 blocks
    ==3203==    indirectly lost: 26,745,640 bytes in 55,676 blocks
    ==3203==      possibly lost: 0 bytes in 0 blocks
    ==3203==    still reachable: 25,327 bytes in 128 blocks
    ==3203==         suppressed: 21,994 bytes in 183 blocks
    ==3203== Reachable blocks (those to which a pointer was found) are not shown.
    ==3203== To see them, rerun with: --leak-check=full --show-leak-kinds=all
    ==3203== 
    ==3203== For counts of detected and suppressed errors, rerun with: -v
    ==3203== ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 17 from 17)
    
     

    Last edit: Jared Moore 2016-01-10
  • Jared Moore

    Jared Moore - 2016-01-10

    I'm investigating the 26,761,300 lost in Barista::crux_set_command_line_options

     
  • Jared Moore

    Jared Moore - 2016-01-15

    In debug mode (with line numbers)

    valgrind --leak-check=full ../../DEBUG/src/crux barista --separate-searches crux-output/tide-search.decoy.txt concat.fasta demo.ms2 crux-output/tide-search.target.txt --overwrite T
    ==48308== Memcheck, a memory error detector
    ==48308== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
    ==48308== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info
    ==48308== Command: ../../DEBUG/src/crux barista --separate-searches crux-output/tide-search.decoy.txt concat.fasta demo.ms2 crux-output/tide-search.target.txt --overwrite T
    ==48308== 
    INFO: Beginning barista.
    WARNING: The output directory 'crux-output' already exists.
    Existing files will be overwritten.
    WARNING: The file 'crux-output/barista.log.txt' already exists and will be overwritten.
    INFO: CPU: Jareds-MacBook-Pro-2.local
    INFO: Crux version: 2.1
    
    INFO: Fri Jan 15 14:46:32 PST 2016
    INFO: database source: concat.fasta
    INFO: sqt source: crux-output/tide-search.target.txt
    INFO: ms2 source: demo.ms2
    INFO: output_directory: crux-output
    INFO: enzyme: trypsin
    INFO: decoy prefix: decoy_
    INFO: digesting database concat.fasta
    INFO: parsing files:
    INFO: reading file demo.ms2
    INFO: parsing file crux-output/tide-search.target.txt
    INFO: PSM number 0
    INFO: parsing file crux-output/tide-search.decoy.txt
    INFO: Number of spectra: 332
    INFO: Number of PSMs: total 332 positives 166 negatives 166
    INFO: Number of peptides: total 188 positives 88 negatives 100
    INFO: Number of proteins: total 89 positives 41 negatives 48
    INFO: loading and normalizing data
    INFO: trainset size 89
    INFO: q<0.01: max non-parsimonious so far 9
    INFO: q<0.01: max non-parsimonious so far 13
    INFO: q<0.01: max non-parsimonious so far 15
    INFO: q<0.01: max non-parsimonious so far 17
    INFO: q<0.01: max non-parsimonious so far 19
    INFO: finished training, making parsimonious protein set
    number of meta groups 89
    number of subset groups 0
    INFO: total proteins parsimonious at q<0.01: 19
    INFO: peptides at q<0.01: 21
    INFO: psms at q<0.01: 65
    INFO: Elapsed time: 1.21e+03 s
    INFO: Finished crux barista.
    INFO: Return Code:0
    ==48308== 
    ==48308== HEAP SUMMARY:
    ==48308==     in use at exit: 26,824,085 bytes in 56,327 blocks
    ==48308==   total heap usage: 7,674,392 allocs, 7,618,065 frees, 1,450,847,886 bytes allocated
    ==48308== 
    ==48308== 16 bytes in 1 blocks are definitely lost in loss record 50 of 300
    ==48308==    at 0x1016435A1: calloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==48308==    by 0x1020987CE: __cxa_get_globals (in /usr/lib/libc++abi.dylib)
    ==48308==    by 0x102098BB1: __cxa_throw (in /usr/lib/libc++abi.dylib)
    ==48308==    by 0x100AA5750: pwiz::minimxml::xml_root_element(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (SAXParser.cpp:568)
    ==48308==    by 0x100AA5816: pwiz::minimxml::xml_root_element(std::__1::basic_istream<char, std::__1::char_traits<char> >&) (SAXParser.cpp:576)
    ==48308==    by 0x1009959B3: pwiz::msdata::Reader_mzML::type(std::__1::basic_istream<char, std::__1::char_traits<char> >&) const (DefaultReaderList.cpp:180)
    ==48308==    by 0x100995892: pwiz::msdata::Reader_mzML::identify(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&) const (DefaultReaderList.cpp:125)
    ==48308==    by 0x100A2B704: pwiz::msdata::ReaderList::identify(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&) const (Reader.cpp:80)
    ==48308==    by 0x1009DB36B: pwiz::msdata::(anonymous namespace)::readFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pwiz::msdata::MSData&, pwiz::msdata::Reader const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (Reader.hpp:73)
    ==48308==    by 0x1009DB2A5: pwiz::msdata::MSDataFile::MSDataFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pwiz::msdata::Reader const*, bool) (MSDataFile.cpp:91)
    ==48308==    by 0x10047CC97: PWIZSpectrumCollection::PWIZSpectrumCollection(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (PWIZSpectrumCollection.cpp:44)
    ==48308==    by 0x10047CE4C: PWIZSpectrumCollection::PWIZSpectrumCollection(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (PWIZSpectrumCollection.cpp:32)
    ==48308== 
    ==48308== 272 bytes in 1 blocks are definitely lost in loss record 223 of 300
    ==48308==    at 0x101642E9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==48308==    by 0x101831B58: getPerThreadBufferFor_dlerror(unsigned long) (in /usr/lib/system/libdyld.dylib)
    ==48308==    by 0x7FFF5FC0BEE4: dlerrorSet(char const*) (in /usr/lib/dyld)
    ==48308==    by 0x7FFF5FC0C212: dlopen (in /usr/lib/dyld)
    ==48308==    by 0x10183179B: dlopen (in /usr/lib/system/libdyld.dylib)
    ==48308==    by 0x10209B6F4: std::runtime_error::~runtime_error() (in /usr/lib/libc++abi.dylib)
    ==48308==    by 0x102098D6A: __cxa_decrement_exception_refcount (in /usr/lib/libc++abi.dylib)
    ==48308==    by 0x100995A0E: pwiz::msdata::Reader_mzML::type(std::__1::basic_istream<char, std::__1::char_traits<char> >&) const (DefaultReaderList.cpp:188)
    ==48308==    by 0x100995892: pwiz::msdata::Reader_mzML::identify(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&) const (DefaultReaderList.cpp:125)
    ==48308==    by 0x100A2B704: pwiz::msdata::ReaderList::identify(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&) const (Reader.cpp:80)
    ==48308==    by 0x1009DB36B: pwiz::msdata::(anonymous namespace)::readFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pwiz::msdata::MSData&, pwiz::msdata::Reader const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (Reader.hpp:73)
    ==48308==    by 0x1009DB2A5: pwiz::msdata::MSDataFile::MSDataFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pwiz::msdata::Reader const*, bool) (MSDataFile.cpp:91)
    ==48308== 
    ==48308== 508 (80 direct, 428 indirect) bytes in 1 blocks are definitely lost in loss record 228 of 300
    ==48308==    at 0x101642E9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==48308==    by 0x1018AD8D6: __Balloc_D2A (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018AE21F: __d2b_D2A (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018AA877: __dtoa (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018D33E6: __vfprintf (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018FC6C8: __v2printf (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018E0914: _vsnprintf (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018E0973: vsnprintf_l (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018D0E1D: snprintf_l (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x10167C752: std::__1::num_put<char, std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > >::do_put(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, std::__1::ios_base&, char, double) const (in /usr/lib/libc++.1.dylib)
    ==48308==    by 0x101662B33: std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(double) (in /usr/lib/libc++.1.dylib)
    ==48308==    by 0x10054F80B: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > StringUtils::ToString<double>(double const&, int, bool) (StringUtils.h:38)
    ==48308== 
    ==48308== 2,656 bytes in 1 blocks are definitely lost in loss record 246 of 300
    ==48308==    at 0x101642E9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==48308==    by 0x10168D7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==48308==    by 0x1000F1A53: Dataset::load_data_all_results() (DataSet.cpp:715)
    ==48308==    by 0x1000BF27E: Barista::setup_for_reporting_results() (Barista.cpp:1717)
    ==48308==    by 0x1000BE810: Barista::report_all_results_xml_tab() (Barista.cpp:1663)
    ==48308==    by 0x1000C7CE8: Barista::run_tries() (Barista.cpp:2577)
    ==48308==    by 0x1000CD373: Barista::main(int, char**) (Barista.cpp:2860)
    ==48308==    by 0x100296770: CruxApplicationList::main(int, char**) (CruxApplicationList.cpp:222)
    ==48308==    by 0x100002222: main (crux-main.cpp:103)
    ==48308== 
    ==48308== 2,656 bytes in 1 blocks are definitely lost in loss record 247 of 300
    ==48308==    at 0x101642E9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==48308==    by 0x10168D7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==48308==    by 0x1000F223A: Dataset::load_data_all_results() (DataSet.cpp:727)
    ==48308==    by 0x1000BF27E: Barista::setup_for_reporting_results() (Barista.cpp:1717)
    ==48308==    by 0x1000BE810: Barista::report_all_results_xml_tab() (Barista.cpp:1663)
    ==48308==    by 0x1000C7CE8: Barista::run_tries() (Barista.cpp:2577)
    ==48308==    by 0x1000CD373: Barista::main(int, char**) (Barista.cpp:2860)
    ==48308==    by 0x100296770: CruxApplicationList::main(int, char**) (CruxApplicationList.cpp:222)
    ==48308==    by 0x100002222: main (crux-main.cpp:103)
    ==48308== 
    ==48308== 2,656 bytes in 1 blocks are definitely lost in loss record 248 of 300
    ==48308==    at 0x101642E9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==48308==    by 0x10168D7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==48308==    by 0x1000F2A21: Dataset::load_data_all_results() (DataSet.cpp:739)
    ==48308==    by 0x1000BF27E: Barista::setup_for_reporting_results() (Barista.cpp:1717)
    ==48308==    by 0x1000BE810: Barista::report_all_results_xml_tab() (Barista.cpp:1663)
    ==48308==    by 0x1000C7CE8: Barista::run_tries() (Barista.cpp:2577)
    ==48308==    by 0x1000CD373: Barista::main(int, char**) (Barista.cpp:2860)
    ==48308==    by 0x100296770: CruxApplicationList::main(int, char**) (CruxApplicationList.cpp:222)
    ==48308==    by 0x100002222: main (crux-main.cpp:103)
    ==48308== 
    ==48308== 2,656 bytes in 332 blocks are definitely lost in loss record 249 of 300
    ==48308==    at 0x101642E9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==48308==    by 0x10168D7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==48308==    by 0x100190216: SQTParser::extract_features(SQTParser::sqt_match&, int, int, enzyme) (SQTParser.cpp:707)
    ==48308==    by 0x1000D6635: CruxParser::readMatches(MatchFileReader&, int, enzyme, bool) (CruxParser.cpp:132)
    ==48308==    by 0x1000D671A: CruxParser::read_search_results(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, bool) (CruxParser.cpp:156)
    ==48308==    by 0x1001A55CF: SQTParser::run() (SQTParser.cpp:1551)
    ==48308==    by 0x1000CCE6A: Barista::crux_set_command_line_options(int, char**) (Barista.cpp:2833)
    ==48308==    by 0x1000CD2D7: Barista::main(int, char**) (Barista.cpp:2850)
    ==48308==    by 0x100296770: CruxApplicationList::main(int, char**) (CruxApplicationList.cpp:222)
    ==48308==    by 0x100002222: main (crux-main.cpp:103)
    ==48308== 
    ==48308== 4,096 bytes in 1 blocks are definitely lost in loss record 283 of 300
    ==48308==    at 0x101642E9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==48308==    by 0x1018CCAF5: __smakebuf (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018E1B49: __swsetup (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018FC481: __v2printf (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018D2389: vfprintf_l (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1018CA88B: fprintf (in /usr/lib/system/libsystem_c.dylib)
    ==48308==    by 0x1002397A4: carp_print(char const*) (carp.cpp:64)
    ==48308==    by 0x100239594: carp(int, char const*, ...) (carp.cpp:93)
    ==48308==    by 0x10028CC38: CruxApplication::initialize(int, char**) (CruxApplication.cpp:100)
    ==48308==    by 0x100296736: CruxApplicationList::main(int, char**) (CruxApplicationList.cpp:221)
    ==48308==    by 0x100002222: main (crux-main.cpp:103)
    ==48308== 
    ==48308== 26,761,294 (16,088 direct, 26,745,206 indirect) bytes in 1 blocks are definitely lost in loss record 300 of 300
    ==48308==    at 0x101642E9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==48308==    by 0x10168D7DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==48308==    by 0x1000CB215: Barista::crux_set_command_line_options(int, char**) (Barista.cpp:2758)
    ==48308==    by 0x1000CD2D7: Barista::main(int, char**) (Barista.cpp:2850)
    ==48308==    by 0x100296770: CruxApplicationList::main(int, char**) (CruxApplicationList.cpp:222)
    ==48308==    by 0x100002222: main (crux-main.cpp:103)
    ==48308== 
    ==48308== LEAK SUMMARY:
    ==48308==    definitely lost: 31,176 bytes in 340 blocks
    ==48308==    indirectly lost: 26,745,634 bytes in 55,676 blocks
    ==48308==      possibly lost: 0 bytes in 0 blocks
    ==48308==    still reachable: 25,327 bytes in 128 blocks
    ==48308==         suppressed: 21,948 bytes in 183 blocks
    ==48308== Reachable blocks (those to which a pointer was found) are not shown.
    ==48308== To see them, rerun with: --leak-check=full --show-leak-kinds=all
    ==48308== 
    ==48308== For counts of detected and suppressed errors, rerun with: -v
    ==48308== ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 17 from 17)
    
     
  • Jared Moore

    Jared Moore - 2016-02-01

    This is from running valgrind on a main with only the creation of an SQTParser. It's at least causing some errors.

    Jareds-MacBook-Pro-2:DEBUG Jared$ valgrind --leak-check=full ./src/crux
    ==1845== Memcheck, a memory error detector
    ==1845== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
    ==1845== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info
    ==1845== Command: ./src/crux
    ==1845== 
    ==1845== 
    ==1845== HEAP SUMMARY:
    ==1845==     in use at exit: 156,806 bytes in 237 blocks
    ==1845==   total heap usage: 25,360 allocs, 25,123 frees, 2,453,006 bytes allocated
    ==1845== 
    ==1845== 130,532 (13,816 direct, 116,716 indirect) bytes in 1 blocks are definitely lost in loss record 108 of 108
    ==1845==    at 0x100A1EE9B: malloc (in /usr/local/Cellar/valgrind/HEAD/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
    ==1845==    by 0x100A697DD: operator new(unsigned long) (in /usr/lib/libc++.1.dylib)
    ==1845==    by 0x100002028: main (crux-main.cpp:58)
    ==1845== 
    ==1845== LEAK SUMMARY:
    ==1845==    definitely lost: 13,816 bytes in 1 blocks
    ==1845==    indirectly lost: 116,716 bytes in 43 blocks
    ==1845==      possibly lost: 0 bytes in 0 blocks
    ==1845==    still reachable: 4,160 bytes in 4 blocks
    ==1845==         suppressed: 22,114 bytes in 189 blocks
    ==1845== Reachable blocks (those to which a pointer was found) are not shown.
    ==1845== To see them, rerun with: --leak-check=full --show-leak-kinds=all
    ==1845== 
    ==1845== For counts of detected and suppressed errors, rerun with: -v
    ==1845== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 16 from 16)
    
     
  • Jared Moore

    Jared Moore - 2016-04-28
    • status: open --> closed
     
  • Jared Moore

    Jared Moore - 2016-04-28

    Committed revision 16982.

     

Log in to post a comment.

MongoDB Logo MongoDB