dib-lab/kmerDecoder

add destructors to Hasher

Closed this issue · 5 comments

Please add virtual destructor to Hasher and Destructors to all the subclass. Delete function is not working properly with kDataframe

@shokrof Could you please attach the commands you're using for the profiling? I want to double-check before merging the updates. Thanks.

add -fsanitize=address to the compiling and linking flags. and run the program

Ok, here is the output of the compilation after adding the compiler flag.

[ 11%] Building CXX object CMakeFiles/kmerDecoder.dir/src/KD_kmers.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
                 from /home/mabuelanin/dib-dev/kmerDecoder/src/KD_kmers.cpp:1:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
   42 | inline bool delimeter_size = false;
      | ^~~~~~
[ 22%] Building CXX object CMakeFiles/kmerDecoder.dir/src/kmerDecoder.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
                 from /home/mabuelanin/dib-dev/kmerDecoder/src/kmerDecoder.cpp:1:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
   42 | inline bool delimeter_size = false;
      | ^~~~~~
/home/mabuelanin/dib-dev/kmerDecoder/src/kmerDecoder.cpp:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++1 
’
   42 | inline flat_hash_map<std::tuple<enum readingModes, enum hashingModes>, bool> allowed_modes ({
      | ^~~~~~
/home/mabuelanin/dib-dev/kmerDecoder/src/kmerDecoder.cpp: In static member function ‘static kmerDecoder* kmerDecoder::getInstance(readingModes, hashingModes, std::map<std::__cxx11::basic_string<char>, int>)’:
/home/mabuelanin/dib-dev/kmerDecoder/src/kmerDecoder.cpp:93:5: warning: control reaches end of non-void function [-Wreturn-type]
   93 |     }
      |     ^
[ 33%] Building CXX object CMakeFiles/kmerDecoder.dir/src/KD_skipmers.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
                 from /home/mabuelanin/dib-dev/kmerDecoder/src/KD_skipmers.cpp:1:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
   42 | inline bool delimeter_size = false;
      | ^~~~~~
[ 44%] Building CXX object CMakeFiles/kmerDecoder.dir/src/KD_minimizers.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
                 from /home/mabuelanin/dib-dev/kmerDecoder/src/KD_minimizers.cpp:13:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
   42 | inline bool delimeter_size = false;
      | ^~~~~~
[ 55%] Building CXX object CMakeFiles/kmerDecoder.dir/src/KD_aakmers.cpp.o
In file included from /home/mabuelanin/dib-dev/kmerDecoder/include/kmerDecoder.hpp:1,
                 from /home/mabuelanin/dib-dev/kmerDecoder/src/KD_aakmers.cpp:1:
/home/mabuelanin/dib-dev/kmerDecoder/lib/kseq/include/kseq/kseq.h:42:1: warning: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’
   42 | inline bool delimeter_size = false;
      | ^~~~~~
[ 66%] Building CXX object CMakeFiles/kmerDecoder.dir/src/hashUtils/aaHasher.cpp.o
[ 77%] Building CXX object CMakeFiles/kmerDecoder.dir/src/hashUtils/hashutil.cpp.o
[ 88%] Building CXX object CMakeFiles/kmerDecoder.dir/src/Utils/kmer.cpp.o
[100%] Linking CXX static library libkmerDecoder.a
[100%] Built target kmerDecoder

run the program and it will add some information at the end

Which program? the kProcessor usecase? building kProcessor? kProcessor tests? kmerDecoder tests? any executable that uses kmerDecoder that's compiled with -fsanitize=address or a program that is compiled by the flag and uses kmerDecoder?