Skip to content

Instantly share code, notes, and snippets.

@edmcman
Created April 24, 2024 12:02
Show Gist options
  • Save edmcman/0df2cab4a15b0dcdf84fe73310db8552 to your computer and use it in GitHub Desktop.
Save edmcman/0df2cab4a15b0dcdf84fe73310db8552 to your computer and use it in GitHub Desktop.
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CDDB608 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2cddb608 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during write of size 4 at 0xEAE2FC8 by thread #2
==750== Locks held: 2, at addresses 0x13398418 0x2CDE5CE8
==750== at 0x9A4640B: Sawyer::Message::StreamBuf::completeMessage() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4791F: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5C1B586: pharos::FunctionDescriptor::update_return_values() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23882: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== This conflicts with a previous write of size 4 by thread #4
==750== Locks held: 2, at addresses 0x13485668 0x2CDDB608
==750== at 0x9A5071B: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A45B41: Sawyer::Message::StreamBuf::post() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A478E7: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC83: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== Address 0xeae2fc8 is 0 bytes inside data symbol "_ZN6Sawyer7Message4Mesg7nextId_E"
==750==
==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x13398418 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC6117: pharos::pharos_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int (*)(int, char**), int, char**, int) (in /usr/local/lib/libpharos.so)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13398418 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC6117: pharos::pharos_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int (*)(int, char**), int, char**, int) (in /usr/local/lib/libpharos.so)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CDE5CE8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2cde5ce8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x13485668 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13485668 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CDDB608 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2cddb608 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during read of size 4 at 0xEAE2FC8 by thread #2
==750== Locks held: 2, at addresses 0x13398418 0x2CDE5CE8
==750== at 0x9A506F8: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A45B41: Sawyer::Message::StreamBuf::post() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A478E7: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5C1B586: pharos::FunctionDescriptor::update_return_values() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23882: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750==
==750== This conflicts with a previous write of size 4 by thread #4
==750== Locks held: 2, at addresses 0x13485668 0x2CDDB608
==750== at 0x9A5071B: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A45B41: Sawyer::Message::StreamBuf::post() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A478E7: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC83: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== Address 0xeae2fc8 is 0 bytes inside data symbol "_ZN6Sawyer7Message4Mesg7nextId_E"
==750==
==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x13398418 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC6117: pharos::pharos_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int (*)(int, char**), int, char**, int) (in /usr/local/lib/libpharos.so)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13398418 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC6117: pharos::pharos_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int (*)(int, char**), int, char**, int) (in /usr/local/lib/libpharos.so)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CDE5CE8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2cde5ce8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x13485668 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13485668 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CDDB608 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2cddb608 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during write of size 4 at 0xEAE2FC8 by thread #2
==750== Locks held: 2, at addresses 0x13398418 0x2CDE5CE8
==750== at 0x9A5071B: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A45B41: Sawyer::Message::StreamBuf::post() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A478E7: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5C1B586: pharos::FunctionDescriptor::update_return_values() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23882: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750==
==750== This conflicts with a previous write of size 4 by thread #4
==750== Locks held: 2, at addresses 0x13485668 0x2CDDB608
==750== at 0x9A5071B: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A45B41: Sawyer::Message::StreamBuf::post() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A478E7: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC83: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== Address 0xeae2fc8 is 0 bytes inside data symbol "_ZN6Sawyer7Message4Mesg7nextId_E"
==750==
==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x1FFEFFF390 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x5BA744E: Sawyer::ProgressBar<unsigned long, pharos::(anonymous namespace)::ProgressSuffix>::ProgressBar(unsigned long, Sawyer::Message::SProxy const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/libpharos.so)
==750== by 0x5BAB93E: auto pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const [clone .constprop.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5BADEF0: pharos::BottomUpAnalyzer::analyze() (in /usr/local/lib/libpharos.so)
==750== by 0x122D06: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x1ffefff390 is on thread #1's stack
==750== in frame #6, created by auto pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const [clone .constprop.0] (???:)
==750==
==750== Lock at 0x13485668 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13485668 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CDDB608 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2cddb608 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during read of size 4 at 0xEAE2FC8 by thread #2
==750== Locks held: 1, at address 0x1FFEFFF390
==750== at 0x9A55117: Sawyer::ProgressBarImpl::update(double, bool) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A55386: Sawyer::ProgressBarImpl::valueUpdate(double, bool) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5BAD2A8: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== This conflicts with a previous write of size 4 by thread #4
==750== Locks held: 2, at addresses 0x13485668 0x2CDDB608
==750== at 0x9A5071B: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A45B41: Sawyer::Message::StreamBuf::post() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A478E7: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC83: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== Address 0xeae2fc8 is 0 bytes inside data symbol "_ZN6Sawyer7Message4Mesg7nextId_E"
==750==
==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x1FFEFFF390 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x5BA744E: Sawyer::ProgressBar<unsigned long, pharos::(anonymous namespace)::ProgressSuffix>::ProgressBar(unsigned long, Sawyer::Message::SProxy const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/libpharos.so)
==750== by 0x5BAB93E: auto pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const [clone .constprop.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5BADEF0: pharos::BottomUpAnalyzer::analyze() (in /usr/local/lib/libpharos.so)
==750== by 0x122D06: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x1ffefff390 is on thread #1's stack
==750== in frame #6, created by auto pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const [clone .constprop.0] (???:)
==750==
==750== Lock at 0x13485668 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13485668 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CDDB608 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2cddb608 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during write of size 4 at 0xEAE2FC8 by thread #2
==750== Locks held: 1, at address 0x1FFEFFF390
==750== at 0x9A5514D: Sawyer::ProgressBarImpl::update(double, bool) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A55386: Sawyer::ProgressBarImpl::valueUpdate(double, bool) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5BAD2A8: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== This conflicts with a previous write of size 4 by thread #4
==750== Locks held: 2, at addresses 0x13485668 0x2CDDB608
==750== at 0x9A5071B: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A45B41: Sawyer::Message::StreamBuf::post() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A478E7: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC83: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== Address 0xeae2fc8 is 0 bytes inside data symbol "_ZN6Sawyer7Message4Mesg7nextId_E"
==750==
FSEM[ERROR]: Analysis of function 0x00405EEA failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405EEA
FSEM[ERROR]: Analysis of function 0x0040D066 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040D066
FSEM[ERROR]: Analysis of function 0x0040CE0D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040CE0D
FSEM[ERROR]: Analysis of function 0x0040CA19 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040CA19
FSEM[ERROR]: Analysis of function 0x0040BCC8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040BCC8
FSEM[ERROR]: Analysis of function 0x0040BE13 failed: ==750== ---Thread-Announcement------------------------------------------
==750==
==750== Thread #5 was created
==750== at 0xF01F9F3: clone (clone.S:76)
==750== by 0xF0208EE: __clone_internal (clone-internal.c:83)
==750== by 0xEF8E6D8: create_thread (pthread_create.c:295)
==750== by 0xEF8F1FF: pthread_create@@GLIBC_2.34 (pthread_create.c:828)
==750== by 0x4853767: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xF4E31F3: boost::thread::start_thread_noexcept() (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x5BABEC8: auto pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const [clone .constprop.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5BADEF0: pharos::BottomUpAnalyzer::analyze() (in /usr/local/lib/libpharos.so)
==750== by 0x122D06: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x2D0F97B8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2d0f97b8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2D42E098 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2d42e098 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during read of size 8 at 0x134856B0 by thread #5
==750== Locks held: 1, at address 0x2D0F97B8
==750== at 0xEDEAA22: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBBFC: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== This conflicts with a previous write of size 8 by thread #2
==750== Locks held: 1, at address 0x2D42E098
==750== at 0xEDEAAE0: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC24: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== Address 0x134856b0 is 80 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
...
[INFO ]: update_return_values, no output state for 0x00409DD8
[INFO ]: update_return_values, no output state for 0x00409DD2
OPTI[MARCH]: Function PDG analysis: 18% [###------------] 116==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x2D42E098 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2d42e098 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2C40C4B8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2c40c4b8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during write of size 8 at 0x134856B0 by thread #2
==750== Locks held: 1, at address 0x2D42E098
==750== at 0xEDEAAE0: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC3B: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== This conflicts with a previous read of size 8 by thread #4
==750== Locks held: 1, at address 0x2C40C4B8
==750== at 0xEDEAA22: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBBFC: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== Address 0x134856b0 is 80 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
FSEM[ERROR]: Analysis of function 0x0040BE13 failed: absolute memory exceeded==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x2D42E098 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2d42e098 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2C40C4B8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2c40c4b8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during write of size 8 at 0x134856B0 by thread #2
==750== Locks held: 1, at address 0x2D42E098
==750== at 0xEDEAAE0: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC7B: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== This conflicts with a previous read of size 8 by thread #4
==750== Locks held: 1, at address 0x2C40C4B8
==750== at 0xEDEAA22: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBBFC: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== Address 0x134856b0 is 80 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
HASH[WARN ]: update_return_values, no output state for 0x0040BE13
FSEM[ERROR]: Analysis of function ==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x2C1B2558 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2c1b2558 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2C40C4B8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2c40c4b8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during write of size 8 at 0x134856B0 by thread #2
==750== Locks held: 1, at address 0x2C1B2558
==750== at 0xEDEAAE0: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBBFC: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== This conflicts with a previous read of size 8 by thread #4
==750== Locks held: 1, at address 0x2C40C4B8
==750== at 0xEDEAA22: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBBFC: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== Address 0x134856b0 is 80 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
0x00403FA3==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x2C1B2558 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2c1b2558 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2C40C4B8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2c40c4b8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during write of size 8 at 0x134856B0 by thread #2
==750== Locks held: 1, at address 0x2C1B2558
==750== at 0xEDEAAE0: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC24: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== This conflicts with a previous read of size 8 by thread #4
==750== Locks held: 1, at address 0x2C40C4B8
==750== at 0xEDEAA22: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBBFC: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== Address 0x134856b0 is 80 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403FA3
FSEM[ERROR]: Analysis of function 0x0040401D failed: absolute memory exceeded
==750== ----------------------------------------------------------------
==750==
==750== Thread #2: lock order "0x2B968190 before 0x2C1B6850" violated
==750==
==750== Observed (incorrect) order is: acquisition of lock at 0x2C1B6850
==750== at 0x48527CF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5B820D7: std::__shared_mutex_pthread::lock_shared() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23D0D: pharos::FunctionDescriptor::update_stack_parameters() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23872: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== followed by a later acquisition of lock at 0x2B968190
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C23E28: pharos::FunctionDescriptor::update_stack_parameters() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23872: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== Required order was established by acquisition of lock at 0x2B968190
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C1C389: pharos::FunctionDescriptor::propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C08711: pharos::DescriptorSet::update_connections() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D249: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== followed by a later acquisition of lock at 0x2C1B6850
==750== at 0x48527CF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C1B7BF: pharos::FunctionDescriptor::_follow_thunks(bool*) const (in /usr/local/lib/libpharos.so)
==750== by 0x5C1BB4C: pharos::FunctionDescriptor::_propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C1C396: pharos::FunctionDescriptor::propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C08711: pharos::DescriptorSet::update_connections() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D249: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== Lock at 0x2B968190 was first observed
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C15E1B: pharos::FunctionDescriptor::set_address(unsigned long) (in /usr/local/lib/libpharos.so)
==750== by 0x5C1D267: pharos::FunctionDescriptor::FunctionDescriptor(pharos::DescriptorSet&, SgAsmFunction*) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0945E: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x2b968190 is 48 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2C1B6850 was first observed
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C15E1B: pharos::FunctionDescriptor::set_address(unsigned long) (in /usr/local/lib/libpharos.so)
==750== by 0x5C1D267: pharos::FunctionDescriptor::FunctionDescriptor(pharos::DescriptorSet&, SgAsmFunction*) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0945E: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x2c1b6850 is 48 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750==
HASH[WARN ]: update_return_values, no output state for 0x0040401D
FSEM[ERROR]: Analysis of function 0x0041162B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041162B
FSEM[ERROR]: Analysis of function 0x0040517F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040517F
FSEM[ERROR]: Analysis of function 0x0040360A failed: absolute memory exceeded
FSEM[ERROR]: Analysis of function 0x00401C6D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401C6D
FSEM[ERROR]: Analysis of function 0x00401080 failed: absolute memory exceeded
FSEM[ERROR]: Analysis of function 0x004010D0 failed: absolute memory exceeded
FSEM[ERROR]: Analysis of function 0x00401350 failed: absolute memory exceeded
FSEM[ERROR]: Analysis of function 0x004096B5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004096B5
FSEM[ERROR]: Analysis of function 0x0040968F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040968F
FSEM[ERROR]: Analysis of function 0x00409669 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409669
FSEM[ERROR]: Analysis of function 0x00408D04 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408D04
FSEM[ERROR]: Analysis of function 0x00408AA1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408AA1
FSEM[ERROR]: Analysis of function 0x00408A19 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408A19
FSEM[ERROR]: Analysis of function 0x00408A44 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408A44
FSEM[ERROR]: Analysis of function 0x00408A0B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408A0B
FSEM[ERROR]: Analysis of function 0x004089A1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004089A1
FSEM[ERROR]: Analysis of function 0x0040C0EB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040C0EB
FSEM[ERROR]: Analysis of function 0x00407407 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00407407
FSEM[ERROR]: Analysis of function 0x00409424 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409424
FSEM[ERROR]: Analysis of function 0x00406271 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406271
FSEM[ERROR]: Analysis of function 0x004050FB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004050FB
FSEM[ERROR]: Analysis of function 0x00408992 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408992
FSEM[ERROR]: Analysis of function 0x00408820 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408820
FSEM[ERROR]: Analysis of function 0x0040833A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040833A
FSEM[ERROR]: Analysis of function 0x00408331 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408331
FSEM[ERROR]: Analysis of function 0x00408328 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408328
FSEM[ERROR]: Analysis of function 0x0040F99C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040F99C
FSEM[ERROR]: Analysis of function 0x004082A0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004082A0
FSEM[ERROR]: Analysis of function 0x004051B1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004051B1
FSEM[ERROR]: Analysis of function 0x004040E0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004040E0
FSEM[ERROR]: Analysis of function 0x004081AC failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004081AC
FSEM[ERROR]: Analysis of function 0x004080E0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004080E0
FSEM[ERROR]: Analysis of function 0x004080DD failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004080DD
FSEM[ERROR]: Analysis of function 0x004074C7 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004074C7
FSEM[ERROR]: Analysis of function 0x004073C2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004073C2
FSEM[ERROR]: Analysis of function 0x0040A2C9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040A2C9
FSEM[ERROR]: Analysis of function 0x0040938D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040938D
FSEM[ERROR]: Analysis of function 0x0040626B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040626B
FSEM[ERROR]: Analysis of function 0x00405E70 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405E70
FSEM[ERROR]: Analysis of function 0x0040B4EB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B4EB
FSEM[ERROR]: Analysis of function 0x00409C47 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409C47
FSEM[ERROR]: Analysis of function 0x00409D70 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409D70
FSEM[ERROR]: Analysis of function 0x00409D95 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409D95
FSEM[ERROR]: Analysis of function 0x00409DC2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409DC2
FSEM[ERROR]: Analysis of function 0x0040FC65 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040FC65
FSEM[ERROR]: Analysis of function 0x0040FB7D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040FB7D
FSEM[ERROR]: Analysis of function 0x0040FB08 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040FB08
FSEM[ERROR]: Analysis of function 0x004027CC failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004027CC
FSEM[ERROR]: Analysis of function 0x0040586E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040586E
FSEM[ERROR]: Analysis of function 0x004053D5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004053D5
FSEM[ERROR]: Analysis of function 0x004053C3 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004053C3
FSEM[ERROR]: Analysis of function 0x00404F90 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404F90
FSEM[ERROR]: Analysis of function 0x00404FA4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404FA4
FSEM[ERROR]: Analysis of function 0x00404F5A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404F5A
FSEM[ERROR]: Analysis of function 0x00404F24 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404F24
FSEM[ERROR]: Analysis of function 0x00404EF1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404EF1
FSEM[ERROR]: Analysis of function 0x00404820 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404820
FSEM[ERROR]: Analysis of function 0x00404B90 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404B90
FSEM[ERROR]: Analysis of function 0x0040264B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040264B
FSEM[ERROR]: Analysis of function 0x00402582 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402582
FSEM[ERROR]: Analysis of function 0x004023DE failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004023DE
FSEM[ERROR]: Analysis of function 0x004023B1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004023B1
FSEM[ERROR]: Analysis of function 0x00404790 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404790
FSEM[ERROR]: Analysis of function 0x0040DAD7 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040DAD7
FSEM[ERROR]: Analysis of function 0x0040DA70 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040DA70
FSEM[ERROR]: Analysis of function 0x0040D784 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040D784
FSEM[ERROR]: Analysis of function 0x00408D2A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408D2A
FSEM[ERROR]: Analysis of function 0x00404190 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404190
FSEM[ERROR]: Analysis of function 0x00404189 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404189
FSEM[ERROR]: Analysis of function 0x00404184 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404184
FSEM[ERROR]: Analysis of function 0x00404157 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404157
FSEM[ERROR]: Analysis of function 0x0040410B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040410B
FSEM[ERROR]: Analysis of function 0x00403F56 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403F56
FSEM[ERROR]: Analysis of function 0x00403F39 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403F39
FSEM[ERROR]: Analysis of function 0x00403F29 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403F29
FSEM[ERROR]: Analysis of function 0x00403EF0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403EF0
FSEM[ERROR]: Analysis of function 0x0040253C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040253C
FSEM[ERROR]: Analysis of function 0x004038D6 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004038D6
FSEM[ERROR]: Analysis of function 0x00411461 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411461
[INFO ]: Analysis of function 0x0040836E failed: absolute memory exceeded
[INFO ]: Analysis of function 0x00406BD4 failed: absolute memory exceeded
FSEM[ERROR]: Analysis of function 0x0041138A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041138A
FSEM[ERROR]: Analysis of function 0x004112CD failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004112CD
FSEM[ERROR]: Analysis of function 0x0041127E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041127E
FSEM[ERROR]: Analysis of function 0x00403F19 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403F19
FSEM[ERROR]: Analysis of function 0x00403EE7 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403EE7
FSEM[ERROR]: Analysis of function 0x00402534 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402534
FSEM[ERROR]: Analysis of function 0x004038AE failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004038AE
FSEM[ERROR]: Analysis of function 0x00403CB4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403CB4
FSEM[ERROR]: Analysis of function 0x00402195 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402195
FSEM[ERROR]: Analysis of function 0x004039A9 failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x0040836E
HASH[WARN ]: update_return_values, no output state for 0x004039A9
FSEM[ERROR]: Analysis of function 0x00403B56 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403B56
FSEM[ERROR]: Analysis of function 0x004038ED failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004038ED
FSEM[ERROR]: Analysis of function 0x004021F5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004021F5
FSEM[ERROR]: Analysis of function 0x00411603 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411603
FSEM[ERROR]: Analysis of function 0x00411367 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411367
FSEM[ERROR]: Analysis of function 0x0040216B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040216B
FSEM[ERROR]: Analysis of function 0x0040226B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040226B
FSEM[ERROR]: Analysis of function 0x00402134 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402134
FSEM[ERROR]: Analysis of function 0x00403F09 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403F09
FSEM[ERROR]: Analysis of function 0x00403885 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403885
FSEM[ERROR]: Analysis of function 0x00411617 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411617
FSEM[ERROR]: Analysis of function 0x004115F9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004115F9
FSEM[ERROR]: Analysis of function 0x004115DB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004115DB
FSEM[ERROR]: Analysis of function 0x00403EF9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403EF9
FSEM[ERROR]: Analysis of function 0x00403854 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403854
FSEM[ERROR]: Analysis of function 0x00403EAC failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403EAC
FSEM[ERROR]: Analysis of function 0x00403E8B failed: absolute memory exceeded
FSEM[ERROR]: Analysis of function 0x00411621 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411621
FSEM[ERROR]: Analysis of function 0x00403C49 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403C49
FSEM[ERROR]: Analysis of function 0x00403979 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403979
FSEM[ERROR]: Analysis of function 0x0040220D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040220D
FSEM[ERROR]: Analysis of function 0x00402C41 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402C41
FSEM[ERROR]: Analysis of function 0x00402C2D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402C2D
FSEM[ERROR]: Analysis of function 0x00402C11 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402C11
FSEM[ERROR]: Analysis of function 0x00402BDD failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402BDD
FSEM[ERROR]: Analysis of function 0x00402B9F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402B9F
FSEM[ERROR]: Analysis of function 0x00402AF2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402AF2
FSEM[ERROR]: Analysis of function 0x00402AEF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402AEF
FSEM[ERROR]: Analysis of function 0x0040280A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040280A
FSEM[ERROR]: Analysis of function 0x00402CDD failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402CDD
FSEM[ERROR]: Analysis of function 0x00402A04 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402A04
FSEM[ERROR]: Analysis of function 0x004027AB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004027AB
FSEM[ERROR]: Analysis of function 0x0040273E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040273E
FSEM[ERROR]: Analysis of function 0x00402716 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402716
FSEM[ERROR]: Analysis of function 0x0040255B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040255B
FSEM[ERROR]: Analysis of function 0x00402558 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402558
FSEM[ERROR]: Analysis of function 0x00402553 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402553
FSEM[ERROR]: Analysis of function 0x0040254F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040254F
FSEM[ERROR]: Analysis of function 0x0040254A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040254A
FSEM[ERROR]: Analysis of function 0x00402544 failed: absolute memory exceeded...
[INFO ]: update_return_values, no output state for 0x00406BD4
FSEM[ERROR]: Analysis of function 0x00402544 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402544
FSEM[ERROR]: Analysis of function 0x004023D2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004023D2
FSEM[ERROR]: Analysis of function 0x004023A5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004023A5
FSEM[ERROR]: Analysis of function 0x004021D2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004021D2
FSEM[ERROR]: Analysis of function 0x00411484 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411484
FSEM[ERROR]: Analysis of function 0x00401D49 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401D49
FSEM[ERROR]: Analysis of function 0x00401CBB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401CBB
FSEM[ERROR]: Analysis of function 0x00401CA7 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401CA7
FSEM[ERROR]: Analysis of function 0x00401CA3 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401CA3
FSEM[ERROR]: Analysis of function 0x00401C9F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401C9F
FSEM[ERROR]: Analysis of function 0x00401C4E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401C4E
FSEM[ERROR]: Analysis of function 0x00401C0C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401C0C
FSEM[ERROR]: Analysis of function 0x00401C2D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401C2D
FSEM[ERROR]: Analysis of function 0x004016CB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004016CB
FSEM[ERROR]: Analysis of function 0x00401270 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401270
FSEM[ERROR]: Analysis of function 0x00401260 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401260
FSEM[ERROR]: Analysis of function 0x004011E0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004011E0
FSEM[ERROR]: Analysis of function 0x004011D0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004011D0
FSEM[ERROR]: Analysis of function 0x004011C0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004011C0
FSEM[ERROR]: Analysis of function 0x004011A0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004011A0
FSEM[ERROR]: Analysis of function 0x00401190 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401190
FSEM[ERROR]: Analysis of function 0x00401180 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401180
FSEM[ERROR]: Analysis of function 0x00401230 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401230
FSEM[ERROR]: Analysis of function 0x004111E0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004111E0
FSEM[ERROR]: Analysis of function 0x00411190 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411190
FSEM[ERROR]: Analysis of function 0x004011F0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004011F0
FSEM[ERROR]: Analysis of function 0x00401170 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401170
FSEM[ERROR]: Analysis of function 0x00401160 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401160
FSEM[ERROR]: Analysis of function 0x00401150 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401150
FSEM[ERROR]: Analysis of function 0x004014C0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004014C0
FSEM[ERROR]: Analysis of function 0x00401130 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401130
FSEM[ERROR]: Analysis of function 0x00401120 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401120
FSEM[ERROR]: Analysis of function 0x00401110 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401110
FSEM[ERROR]: Analysis of function 0x004010E0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004010E0
FSEM[ERROR]: Analysis of function 0x00401100 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401100
FSEM[ERROR]: Analysis of function 0x004010F0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004010F0
FSEM[ERROR]: Analysis of function 0x00401090 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401090
FSEM[ERROR]: Analysis of function 0x004010B0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004010B0
[INFO ]: Analysis of function 0x00401050 failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x00401050
FSEM[ERROR]: Analysis of function 0x00401030 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401030
FSEM[ERROR]: Analysis of function 0x00401020 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401020
FSEM[ERROR]: Analysis of function 0x00401510 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401510
FSEM[ERROR]: Analysis of function 0x00401000 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401000
[INFO ]: Analysis of function 0x0040AE05 failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x0040AE05
[INFO ]: Analysis of function 0x004024F2 failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x004024F2
[INFO ]: Analysis of function 0x00409C38 failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x00409C38
[INFO ]: Analysis of function 0x00409C28 failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x00409C28
[INFO ]: Analysis of function 0x00409B16 failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x00409B16
[INFO ]: Analysis of function 0x004098CF failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x004098CF
[INFO ]: Analysis of function 0x00409725 failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x00409725
FSEM[ERROR]: Analysis of function 0x0041148C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041148C
FSEM[ERROR]: Analysis of function 0x004112F6 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004112F6
FSEM[ERROR]: Analysis of function 0x004112EB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004112EB
FSEM[ERROR]: Analysis of function 0x004112E0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004112E0
FSEM[ERROR]: Analysis of function 0x004112D5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004112D5
FSEM[ERROR]: Analysis of function 0x004112A7 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004112A7
FSEM[ERROR]: Analysis of function 0x0041129C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041129C
FSEM[ERROR]: Analysis of function 0x00411291 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411291
FSEM[ERROR]: Analysis of function 0x00411286 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411286
[INFO ]: Analysis of function 0x004096E0 failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x004096E0
FSEM[ERROR]: Analysis of function 0x00404100 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404100
FSEM[ERROR]: Analysis of function 0x0041131C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041131C
FSEM[ERROR]: Analysis of function 0x00405F24 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405F24
FSEM[ERROR]: Analysis of function 0x004022FA failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004022FA
FSEM[ERROR]: Analysis of function 0x004023FF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004023FF
FSEM[ERROR]: Analysis of function 0x0040518A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040518A
FSEM[ERROR]: Analysis of function 0x00404046 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404046
FSEM[ERROR]: Analysis of function 0x00403ED0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403ED0
FSEM[ERROR]: Analysis of function 0x00402509 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402509
FSEM[ERROR]: Analysis of function 0x0041143E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041143E
FSEM[ERROR]: Analysis of function 0x00411341 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411341
FSEM[ERROR]: Analysis of function 0x0040278A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040278A
FSEM[ERROR]: Analysis of function 0x00403C70 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403C70
FSEM[ERROR]: Analysis of function 0x00403D09 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403D09
FSEM[ERROR]: Analysis of function 0x0040247E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040247E
FSEM[ERROR]: Analysis of function 0x004115E5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004115E5
FSEM[ERROR]: Analysis of function 0x00402766 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402766
FSEM[ERROR]: Analysis of function 0x0040229C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040229C
FSEM[ERROR]: Analysis of function 0x0040228C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040228C
FSEM[ERROR]: Analysis of function 0x004113AD failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004113AD
FSEM[ERROR]: Analysis of function 0x00403B99 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403B99
FSEM[ERROR]: Analysis of function 0x00403A09 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403A09
FSEM[ERROR]: Analysis of function 0x0041160D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041160D
FSEM[ERROR]: Analysis of function 0x004036C6 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004036C6
FSEM[ERROR]: Analysis of function 0x00402249 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402249
FSEM[ERROR]: Analysis of function 0x00401E00 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401E00
FSEM[ERROR]: Analysis of function 0x00401F29 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401F29
FSEM[ERROR]: Analysis of function 0x00411411 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411411
FSEM[ERROR]: Analysis of function 0x004113E4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004113E4
FSEM[ERROR]: Analysis of function 0x00401F14 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401F14
FSEM[ERROR]: Analysis of function 0x00401D27 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401D27
FSEM[ERROR]: Analysis of function 0x00401C78 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401C78
FSEM[ERROR]: Analysis of function 0x00401470 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401470
FSEM[ERROR]: Analysis of function 0x004012F0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004012F0
FSEM[ERROR]: Analysis of function 0x00401290 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401290
FSEM[ERROR]: Analysis of function 0x00404FB3 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404FB3
FSEM[ERROR]: Analysis of function 0x0040249D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040249D
FSEM[ERROR]: Analysis of function 0x0040392C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040392C
FSEM[ERROR]: Analysis of function 0x0040BB79 failed: absolute memory exceeded
==750== ---Thread-Announcement------------------------------------------
==750==
==750== Thread #15 was created
==750== at 0xF01F9F3: clone (clone.S:76)
==750== by 0xF0208EE: __clone_internal (clone-internal.c:83)
==750== by 0xEF8E6D8: create_thread (pthread_create.c:295)
==750== by 0xEF8F1FF: pthread_create@@GLIBC_2.34 (pthread_create.c:828)
==750== by 0x4853767: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xF4E31F3: boost::thread::start_thread_noexcept() (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x5BABEC8: auto pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const [clone .constprop.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5BADEF0: pharos::BottomUpAnalyzer::analyze() (in /usr/local/lib/libpharos.so)
==750== by 0x122D06: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== ----------------------------------------------------------------
==750==
==750== Thread #15: lock order "0x2D149E10 before 0x2D37AA20" violated
==750==
==750== Observed (incorrect) order is: acquisition of lock at 0x2D37AA20
==750== at 0x48527CF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5B820D7: std::__shared_mutex_pthread::lock_shared() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23D0D: pharos::FunctionDescriptor::update_stack_parameters() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23872: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== followed by a later acquisition of lock at 0x2D149E10
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C23E28: pharos::FunctionDescriptor::update_stack_parameters() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23872: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== Required order was established by acquisition of lock at 0x2D149E10
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C1C389: pharos::FunctionDescriptor::propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C08711: pharos::DescriptorSet::update_connections() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D249: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== followed by a later acquisition of lock at 0x2D37AA20
==750== at 0x48527CF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C1B7BF: pharos::FunctionDescriptor::_follow_thunks(bool*) const (in /usr/local/lib/libpharos.so)
==750== by 0x5C1BB4C: pharos::FunctionDescriptor::_propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C1C396: pharos::FunctionDescriptor::propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C08711: pharos::DescriptorSet::update_connections() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D249: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== Lock at 0x2D149E10 was first observed
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C15E1B: pharos::FunctionDescriptor::set_address(unsigned long) (in /usr/local/lib/libpharos.so)
==750== by 0x5C1D267: pharos::FunctionDescriptor::FunctionDescriptor(pharos::DescriptorSet&, SgAsmFunction*) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0945E: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x2d149e10 is 48 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2D37AA20 was first observed
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C15E1B: pharos::FunctionDescriptor::set_address(unsigned long) (in /usr/local/lib/libpharos.so)
==750== by 0x5C1D267: pharos::FunctionDescriptor::FunctionDescriptor(pharos::DescriptorSet&, SgAsmFunction*) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0945E: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x2d37aa20 is 48 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750==
HASH[WARN ]: update_return_values, no output state for 0x0040BB79
FSEM[ERROR]: Analysis of function 0x0040A466 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040A466
FSEM[ERROR]: Analysis of function 0x00408B5C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408B5C
FSEM[ERROR]: Analysis of function 0x00408CD7 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408CD7
FSEM[ERROR]: Analysis of function 0x00408CC8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408CC8
FSEM[ERROR]: Analysis of function 0x00408CB2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408CB2
FSEM[ERROR]: Analysis of function 0x00408CE6 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408CE6
FSEM[ERROR]: Analysis of function 0x00410D35 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410D35
FSEM[ERROR]: Analysis of function 0x0040A528 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040A528
FSEM[ERROR]: Analysis of function 0x0041086A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041086A
FSEM[ERROR]: Analysis of function 0x00408A5C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408A5C
FSEM[ERROR]: Analysis of function 0x004084F2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004084F2
FSEM[ERROR]: Analysis of function 0x004083AB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004083AB
FSEM[ERROR]: Analysis of function 0x0040822C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040822C
FSEM[ERROR]: Analysis of function 0x00406383 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406383
FSEM[ERROR]: Analysis of function 0x00406342 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406342
[INFO ]: Analysis of function 0x00408C9C failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x00408C9C
[INFO ]: Analysis of function 0x004080C8 failed: absolute memory exceeded
==750== ---Thread-Announcement------------------------------------------
==750==
==750== Thread #20 was created
==750== at 0xF01F9F3: clone (clone.S:76)
==750== by 0xF0208EE: __clone_internal (clone-internal.c:83)
==750== by 0xEF8E6D8: create_thread (pthread_create.c:295)
==750== by 0xEF8F1FF: pthread_create@@GLIBC_2.34 (pthread_create.c:828)
==750== by 0x4853767: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xF4E31F3: boost::thread::start_thread_noexcept() (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x5BABEC8: auto pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const [clone .constprop.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5BADEF0: pharos::BottomUpAnalyzer::analyze() (in /usr/local/lib/libpharos.so)
==750== by 0x122D06: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== ----------------------------------------------------------------
==750==
==750== Thread #20: lock order "0x2CAD5880 before 0x2CAD6910" violated
==750==
==750== Observed (incorrect) order is: acquisition of lock at 0x2CAD6910
==750== at 0x48527CF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5B820D7: std::__shared_mutex_pthread::lock_shared() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23D0D: pharos::FunctionDescriptor::update_stack_parameters() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23872: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== followed by a later acquisition of lock at 0x2CAD5880
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C23E28: pharos::FunctionDescriptor::update_stack_parameters() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23872: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== Required order was established by acquisition of lock at 0x2CAD5880
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C1C389: pharos::FunctionDescriptor::propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C08711: pharos::DescriptorSet::update_connections() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D249: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== followed by a later acquisition of lock at 0x2CAD6910
==750== at 0x48527CF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C1B7BF: pharos::FunctionDescriptor::_follow_thunks(bool*) const (in /usr/local/lib/libpharos.so)
==750== by 0x5C1BB4C: pharos::FunctionDescriptor::_propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C1C396: pharos::FunctionDescriptor::propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C08711: pharos::DescriptorSet::update_connections() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D249: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== Lock at 0x2CAD5880 was first observed
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C15E1B: pharos::FunctionDescriptor::set_address(unsigned long) (in /usr/local/lib/libpharos.so)
==750== by 0x5C1D267: pharos::FunctionDescriptor::FunctionDescriptor(pharos::DescriptorSet&, SgAsmFunction*) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0945E: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x2cad5880 is 48 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CAD6910 was first observed
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C15E1B: pharos::FunctionDescriptor::set_address(unsigned long) (in /usr/local/lib/libpharos.so)
==750== by 0x5C1D267: pharos::FunctionDescriptor::FunctionDescriptor(pharos::DescriptorSet&, SgAsmFunction*) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0945E: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x2cad6910 is 48 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750==
[INFO ]: update_return_values, no output state for 0x004080C8
FSEM[ERROR]: Analysis of function 0x00405380 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405380
[INFO ]: Analysis of function 0x00408A6E failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x00408A6E
FSEM[ERROR]: Analysis of function 0x0040845F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040845F
FSEM[ERROR]: Analysis of function 0x00409EE8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409EE8
FSEM[ERROR]: Analysis of function 0x00409ED5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409ED5
FSEM[ERROR]: Analysis of function 0x00410BBB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410BBB
FSEM[ERROR]: Analysis of function 0x00410C75 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410C75
FSEM[ERROR]: Analysis of function 0x00410801 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410801
FSEM[ERROR]: Analysis of function 0x0040AD2C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040AD2C
FSEM[ERROR]: Analysis of function 0x0041077B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041077B
FSEM[ERROR]: Analysis of function 0x00410533 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410533
FSEM[ERROR]: Analysis of function 0x0040FCC8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040FCC8
FSEM[ERROR]: Analysis of function 0x00408ED9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408ED9
FSEM[ERROR]: Analysis of function 0x004080E5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004080E5
FSEM[ERROR]: Analysis of function 0x0040FD72 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040FD72
FSEM[ERROR]: Analysis of function 0x0040C16D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040C16D
FSEM[ERROR]: Analysis of function 0x00407453 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00407453
FSEM[ERROR]: Analysis of function 0x0040BFC4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040BFC4
FSEM[ERROR]: Analysis of function 0x00406C7B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406C7B
FSEM[ERROR]: Analysis of function 0x00403A72 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403A72
FSEM[ERROR]: Analysis of function 0x00403B17 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403B17
FSEM[ERROR]: Analysis of function 0x004045CA failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004045CA
FSEM[ERROR]: Analysis of function 0x0040F3C2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040F3C2
FSEM[ERROR]: Analysis of function 0x00408179 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408179
FSEM[ERROR]: Analysis of function 0x0040475E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040475E
FSEM[ERROR]: Analysis of function 0x00403E59 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403E59
FSEM[ERROR]: Analysis of function ...
FSEM[ERROR]: Analysis of function 0x0040397F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040397F
FSEM[ERROR]: Analysis of function 0x0040D4C4...
FSEM[ERROR]: Analysis of function 0x0040D4C4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040D4C4
FSEM[ERROR]: Analysis of function 0x0040A13F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040A13F
FSEM[ERROR]: Analysis of function 0x0040394D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040394D
FSEM[ERROR]: Analysis of function 0x004040AF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004040AF
FSEM[ERROR]: Analysis of function 0x00409EFB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409EFB
FSEM[ERROR]: Analysis of function 0x0040B35C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B35C
FSEM[ERROR]: Analysis of function 0x0040B3F8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B3F8
FSEM[ERROR]: Analysis of function 0x0040B1ED failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B1ED
FSEM[ERROR]: Analysis of function 0x0040FE86 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040FE86
FSEM[ERROR]: Analysis of function 0x0041043D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041043D
FSEM[ERROR]: Analysis of function 0x0040B272 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B272
[INFO ]: Analysis of function 0x00409DDE failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x00409DDE
FSEM[ERROR]: Analysis of function 0x0040750B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040750B
[INFO ]: Analysis of function 0x004081CD failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x004081CD
FSEM[ERROR]: Analysis of function 0x00409F1E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409F1E
[INFO ]: Analysis of function 0x004066FC failed: absolute memory exceeded
[INFO ]: update_return_values, no output state for 0x004066FC
FSEM[ERROR]: Analysis of function 0x004084D8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004084D8
FSEM[ERROR]: Analysis of function 0x00408F12 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408F12
FSEM[ERROR]: Analysis of function 0x00402B54 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402B54
FSEM[ERROR]: Analysis of function 0x00411560 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411560
FSEM[ERROR]: Analysis of function 0x004040BF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004040BF
FSEM[ERROR]: Analysis of function 0x00409740 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409740
FSEM[ERROR]: Analysis of function 0x00404FDB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404FDB
FSEM[ERROR]: Analysis of function 0x00403F63 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403F63
FSEM[ERROR]: Analysis of function 0x00403FE8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403FE8
FSEM[ERROR]: Analysis of function 0x0040406D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040406D
FSEM[ERROR]: Analysis of function 0x00405D65 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405D65
FSEM[ERROR]: Analysis of function 0x00404092 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404092
FSEM[ERROR]: Analysis of function 0x004036A9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004036A9
FSEM[ERROR]: Analysis of function 0x0040365C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040365C
FSEM[ERROR]: Analysis of function 0x0040360F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040360F
FSEM[ERROR]: Analysis of function 0x00401D0A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401D0A
FSEM[ERROR]: Analysis of function 0x00401420 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401420
FSEM[ERROR]: Analysis of function 0x00401440 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401440
FSEM[ERROR]: Analysis of function 0x004014A0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004014A0
FSEM[ERROR]: Analysis of function 0x00403FC1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403FC1
FSEM[ERROR]: Analysis of function 0x00404028 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404028
FSEM[ERROR]: Analysis of function 0x00403679 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403679
FSEM[ERROR]: Analysis of function 0x00401D86 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401D86
FSEM[ERROR]: Analysis of function 0x0040362C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040362C
FSEM[ERROR]: Analysis of function 0x00401060 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401060
FSEM[ERROR]: Analysis of function 0x004012C0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004012C0
FSEM[ERROR]: Analysis of function 0x00401320 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401320
FSEM[ERROR]: Analysis of function 0x00401360 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401360
FSEM[ERROR]: Analysis of function 0x004014F0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004014F0
FSEM[ERROR]: Analysis of function 0x00401560 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401560
FSEM[ERROR]: Analysis of function 0x0040194D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040194D
FSEM[ERROR]: Analysis of function 0x00401590 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401590
FSEM[ERROR]: Analysis of function 0x00401670 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401670
FSEM[ERROR]: Analysis of function 0x004015E0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004015E0
FSEM[ERROR]: Analysis of function 0x00405045 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405045
FSEM[ERROR]: Analysis of function 0x0040512C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040512C
FSEM[ERROR]: Analysis of function 0x00405168 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405168
FSEM[ERROR]: Analysis of function 0x004115AE failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004115AE
FSEM[ERROR]: Analysis of function 0x00411598 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411598
FSEM[ERROR]: Analysis of function 0x0041158C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041158C
FSEM[ERROR]: Analysis of function 0x00411580 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411580
FSEM[ERROR]: Analysis of function 0x0041156A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041156A
FSEM[ERROR]: Analysis of function 0x004114F1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004114F1
FSEM[ERROR]: Analysis of function 0x004114E5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004114E5
FSEM[ERROR]: Analysis of function 0x004114D9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004114D9
FSEM[ERROR]: Analysis of function 0x004114CD failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004114CD
FSEM[ERROR]: Analysis of function 0x00408AC5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408AC5
FSEM[ERROR]: Analysis of function 0x0040454A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040454A
FSEM[ERROR]: Analysis of function 0x00403EB6 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403EB6
FSEM[ERROR]: Analysis of function 0x00403BBA failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403BBA
FSEM[ERROR]: Analysis of function 0x004021D9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004021D9
FSEM[ERROR]: Analysis of function 0x004029B8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004029B8
FSEM[ERROR]: Analysis of function 0x00411507 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411507
FSEM[ERROR]: Analysis of function 0x0040242C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040242C
FSEM[ERROR]: Analysis of function 0x00403902 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403902
FSEM[ERROR]: Analysis of function 0x00401CC1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401CC1
FSEM[ERROR]: Analysis of function 0x00401E46 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401E46
FSEM[ERROR]: Analysis of function 0x00401F33 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401F33
FSEM[ERROR]: Analysis of function 0x00402F7D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402F7D
FSEM[ERROR]: Analysis of function 0x00402ED0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402ED0
FSEM[ERROR]: Analysis of function 0x00401F99 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401F99
FSEM[ERROR]: Analysis of function 0x00402034 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402034
FSEM[ERROR]: Analysis of function 0x004020AB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004020AB
FSEM[ERROR]: Analysis of function 0x004020FF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004020FF
FSEM[ERROR]: Analysis of function 0x004020DC failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004020DC
FSEM[ERROR]: Analysis of function 0x0040BE60 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040BE60
FSEM[ERROR]: Analysis of function 0x0040739C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040739C
FSEM[ERROR]: Analysis of function 0x00407376 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00407376
FSEM[ERROR]: Analysis of function 0x00406EA8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406EA8
FSEM[ERROR]: Analysis of function 0x004037F4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004037F4
FSEM[ERROR]: Analysis of function 0x004022C5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004022C5
FSEM[ERROR]: Analysis of function 0x0040B6DF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B6DF
FSEM[ERROR]: Analysis of function 0x00406BF4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406BF4
FSEM[ERROR]: Analysis of function 0x004106FB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004106FB
FSEM[ERROR]: Analysis of function 0x00410733 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410733
FSEM[ERROR]: Analysis of function 0x004105CB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004105CB
FSEM[ERROR]: Analysis of function 0x004106E1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004106E1
FSEM[ERROR]: Analysis of function 0x0040A55B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040A55B
FSEM[ERROR]: Analysis of function 0x0040AC58 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040AC58
FSEM[ERROR]: Analysis of function 0x0040FE4C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040FE4C
FSEM[ERROR]: Analysis of function 0x0040996A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040996A
FSEM[ERROR]: Analysis of function 0x0040D164 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040D164
FSEM[ERROR]: Analysis of function 0x0040CE76 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040CE76
FSEM[ERROR]: Analysis of function 0x0040C21A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040C21A
FSEM[ERROR]: Analysis of function 0x0040CD90 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040CD90
FSEM[ERROR]: Analysis of function 0x0040FD07 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040FD07
FSEM[ERROR]: Analysis of function 0x0040FD5A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040FD5A
FSEM[ERROR]: Analysis of function 0x00409138 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00409138
FSEM[ERROR]: Analysis of function 0x0040C0AB failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040C0AB
FSEM[ERROR]: Analysis of function 0x0040BF0C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040BF0C
FSEM[ERROR]: Analysis of function 0x00410E89 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410E89
FSEM[ERROR]: Analysis of function 0x004110B4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004110B4
FSEM[ERROR]: Analysis of function 0x00410A70 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410A70
FSEM[ERROR]: Analysis of function 0x0040D5E8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040D5E8
FSEM[ERROR]: Analysis of function 0x00406F50 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406F50
FSEM[ERROR]: Analysis of function 0x00406FA1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406FA1
FSEM[ERROR]: Analysis of function 0x00406ED1 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406ED1
FSEM[ERROR]: Analysis of function 0x00406F22 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406F22
FSEM[ERROR]: Analysis of function 0x0040B783 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B783
FSEM[ERROR]: Analysis of function 0x00406E62 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406E62
FSEM[ERROR]: Analysis of function 0x00410D74 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410D74
FSEM[ERROR]: Analysis of function 0x00410A86 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410A86
FSEM[ERROR]: Analysis of function 0x00410B68 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410B68
FSEM[ERROR]: Analysis of function 0x00410969 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410969
FSEM[ERROR]: Analysis of function 0x00410A29 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00410A29
FSEM[ERROR]: Analysis of function 0x0040D9B0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040D9B0
FSEM[ERROR]: Analysis of function 0x0040D7DF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040D7DF
FSEM[ERROR]: Analysis of function 0x0040D6DD failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040D6DD
FSEM[ERROR]: Analysis of function 0x0040D586 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040D586
FSEM[ERROR]: Analysis of function 0x0040DB13 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040DB13
FSEM[ERROR]: Analysis of function 0x0040B54F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for ...
FSEM[ERROR]: Analysis of function 0x00406FCF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B54F==750== ---Thread-Announcement------------------------------------------
==750==
==750== Thread #9 was created
==750== at 0xF01F9F3: clone (clone.S:76)
==750== by 0xF0208EE: __clone_internal (clone-internal.c:83)
==750== by 0xEF8E6D8: create_thread (pthread_create.c:295)
==750== by 0xEF8F1FF: pthread_create@@GLIBC_2.34 (pthread_create.c:828)
==750== by 0x4853767: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xF4E31F3: boost::thread::start_thread_noexcept() (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x5BABEC8: auto pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const [clone .constprop.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5BADEF0: pharos::BottomUpAnalyzer::analyze() (in /usr/local/lib/libpharos.so)
==750== by 0x122D06: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x13398418 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC6117: pharos::pharos_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int (*)(int, char**), int, char**, int) (in /usr/local/lib/libpharos.so)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13398418 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC6117: pharos::pharos_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int (*)(int, char**), int, char**, int) (in /usr/local/lib/libpharos.so)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2D1383A8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2d1383a8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x13485668 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13485668 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CA418D8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2ca418d8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during read of size 4 at 0xEAE2FC8 by thread #3
==750== Locks held: 2, at addresses 0x13398418 0x2D1383A8
==750== at 0x9A506F8: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A463C9: Sawyer::Message::StreamBuf::completeMessage() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4791F: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5C1B586: pharos::FunctionDescriptor::update_return_values() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23882: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750==
==750== This conflicts with a previous write of size 4 by thread #9
==750== Locks held: 2, at addresses 0x13485668 0x2CA418D8
==750== at 0x9A5071B: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A45B41: Sawyer::Message::StreamBuf::post() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A478E7: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC83: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== Address 0xeae2fc8 is 0 bytes inside data symbol "_ZN6Sawyer7Message4Mesg7nextId_E"
==750==
==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x13398418 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC6117: pharos::pharos_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int (*)(int, char**), int, char**, int) (in /usr/local/lib/libpharos.so)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13398418 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC6117: pharos::pharos_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int (*)(int, char**), int, char**, int) (in /usr/local/lib/libpharos.so)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2D1383A8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2d1383a8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x13485668 was first observed
==750== at 0x4854BFE: pthread_mutex_init (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x58FEABB: boost::mutex::mutex() (in /usr/local/lib/libpharos.so)
==750== by 0x9A47FBF: Sawyer::Message::Stream::Stream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Sawyer::Message::Importance, Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A48252: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x13485668 is 8 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2CA418D8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2ca418d8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during write of size 4 at 0xEAE2FC8 by thread #3
==750== Locks held: 2, at addresses 0x13398418 0x2D1383A8
==750== at 0x9A5071B: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A463C9: Sawyer::Message::StreamBuf::completeMessage() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4791F: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5C1B586: pharos::FunctionDescriptor::update_return_values() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23882: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750==
==750== This conflicts with a previous write of size 4 by thread #9
==750== Locks held: 2, at addresses 0x13485668 0x2CA418D8
==750== at 0x9A5071B: Sawyer::Container::Map<unsigned long, Sawyer::Message::Mesg, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, Sawyer::Message::Mesg> > >::insertMaybeDefault(unsigned long const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A508C0: Sawyer::MultiInstanceTls<Sawyer::Message::Mesg>::get() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A45B41: Sawyer::Message::StreamBuf::post() (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A478E7: Sawyer::Message::StreamBuf::xsputn(char const*, long) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A3A026: Sawyer::Message::StreamBuf::overflow(int) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0xEDEA269: std::ostream::put(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0xEDEA812: std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC83: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== Address 0xeae2fc8 is 0 bytes inside data symbol "_ZN6Sawyer7Message4Mesg7nextId_E"
==750==
FSEM[ERROR]: Analysis of function 0x0040B7FF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B7FF
FSEM[ERROR]: Analysis of function 0x0040B9E8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B9E8
FSEM[ERROR]: Analysis of function 0x0040BB82 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040BB82
FSEM[ERROR]: Analysis of function 0x004092D2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004092D2
FSEM[ERROR]: Analysis of function 0x0040905C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040905C
FSEM[ERROR]: Analysis of function 0x0040BB52 failed: absolute memory exceeded
FSEM[ERROR]: Analysis of function 0x00403D47 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403D47
FSEM[ERROR]: Analysis of function 0x00402377 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402377
FSEM[ERROR]: Analysis of function 0x0040235E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040235E
FSEM[ERROR]: Analysis of function 0x004036E7 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004036E7
FSEM[ERROR]: Analysis of function 0x00402330 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402330
FSEM[ERROR]: Analysis of function 0x00402317 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402317
FSEM[ERROR]: Analysis of function 0x0040879C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040879C
FSEM[ERROR]: Analysis of function 0x004089C9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004089C9
FSEM[ERROR]: Analysis of function 0x004087E8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004087E8
FSEM[ERROR]: Analysis of function 0x0040566A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040566A
FSEM[ERROR]: Analysis of function 0x004057E9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004057E9
FSEM[ERROR]: Analysis of function 0x0040540F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040540F
FSEM[ERROR]: Analysis of function 0x00404489 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404489
FSEM[ERROR]: Analysis of function 0x004043C3 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004043C3
FSEM[ERROR]: Analysis of function 0x004087D5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004087D5
FSEM[ERROR]: Analysis of function 0x00405485 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405485
FSEM[ERROR]: Analysis of function 0x00405872 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405872
FSEM[ERROR]: Analysis of function 0x004053CC failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004053CC
FSEM[ERROR]: Analysis of function 0x00405210 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405210
FSEM[ERROR]: Analysis of function 0x004053FE failed: absolute memory exceeded
==750== ----------------------------------------------------------------
==750==
==750== Thread #3: lock order "0x2BDC2900 before 0x2C486DC0" violated
==750==
==750== Observed (incorrect) order is: acquisition of lock at 0x2C486DC0
==750== at 0x48527CF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5B820D7: std::__shared_mutex_pthread::lock_shared() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23D0D: pharos::FunctionDescriptor::update_stack_parameters() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23872: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== followed by a later acquisition of lock at 0x2BDC2900
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C23E28: pharos::FunctionDescriptor::update_stack_parameters() (in /usr/local/lib/libpharos.so)
==750== by 0x5C23872: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== Required order was established by acquisition of lock at 0x2BDC2900
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C1C389: pharos::FunctionDescriptor::propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C08711: pharos::DescriptorSet::update_connections() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D249: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== followed by a later acquisition of lock at 0x2C486DC0
==750== at 0x48527CF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C1B7BF: pharos::FunctionDescriptor::_follow_thunks(bool*) const (in /usr/local/lib/libpharos.so)
==750== by 0x5C1BB4C: pharos::FunctionDescriptor::_propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C1C396: pharos::FunctionDescriptor::propagate_thunk_info() (in /usr/local/lib/libpharos.so)
==750== by 0x5C08711: pharos::DescriptorSet::update_connections() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D249: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== Lock at 0x2BDC2900 was first observed
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C15E1B: pharos::FunctionDescriptor::set_address(unsigned long) (in /usr/local/lib/libpharos.so)
==750== by 0x5C1D267: pharos::FunctionDescriptor::FunctionDescriptor(pharos::DescriptorSet&, SgAsmFunction*) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0945E: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x2bdc2900 is 48 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2C486DC0 was first observed
==750== at 0x48525DF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C15E1B: pharos::FunctionDescriptor::set_address(unsigned long) (in /usr/local/lib/libpharos.so)
==750== by 0x5C1D267: pharos::FunctionDescriptor::FunctionDescriptor(pharos::DescriptorSet&, SgAsmFunction*) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0945E: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Address 0x2c486dc0 is 48 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750==
HASH[WARN ]: update_return_values, no output state for 0x004053FE
FSEM[ERROR]: Analysis of function 0x0040212F failed: absolute memory exceeded
FSEM[ERROR]: Analysis of function 0x004016E0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004016E0
FSEM[ERROR]: Analysis of function 0x00411240 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411240
FSEM[ERROR]: Analysis of function 0x00411210 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411210
FSEM[ERROR]: Analysis of function 0x00401980 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401980
FSEM[ERROR]: Analysis of function 0x00401A80 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401A80
FSEM[ERROR]: Analysis of function 0x0040196D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040196D
FSEM[ERROR]: Analysis of function 0x00401740 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401740
FSEM[ERROR]: Analysis of function 0x00401B40 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401B40
FSEM[ERROR]: Analysis of function 0x00401B20 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401B20
FSEM[ERROR]: Analysis of function 0x00401B00 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401B00
FSEM[ERROR]: Analysis of function 0x00401AE0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401AE0
FSEM[ERROR]: Analysis of function 0x00401AC0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401AC0
FSEM[ERROR]: Analysis of function 0x00401B60 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401B60
FSEM[ERROR]: Analysis of function 0x00401AA0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00401AA0
FSEM[ERROR]: Analysis of function 0x0040533B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040533B
FSEM[ERROR]: Analysis of function 0x00405321 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405321
FSEM[ERROR]: Analysis of function 0x0040531B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040531B
FSEM[ERROR]: Analysis of function 0x0040525F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040525F
FSEM[ERROR]: Analysis of function 0x00404462 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404462
FSEM[ERROR]: Analysis of function 0x004055F4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004055F4
FSEM[ERROR]: Analysis of function 0x004055EE failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004055EE
FSEM[ERROR]: Analysis of function 0x00404436 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404436
FSEM[ERROR]: Analysis of function 0x004054CE failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004054CE
FSEM[ERROR]: Analysis of function 0x0040587B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040587B
FSEM[ERROR]: Analysis of function 0x0040424D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040424D
FSEM[ERROR]: Analysis of function 0x004058E9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004058E9
FSEM[ERROR]: Analysis of function 0x004059F0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004059F0
FSEM[ERROR]: Analysis of function 0x00405D82 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405D82
FSEM[ERROR]: Analysis of function 0x00404324 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404324
FSEM[ERROR]: Analysis of function 0x0040421A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040421A
FSEM[ERROR]: Analysis of function 0x004041E4 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004041E4
FSEM[ERROR]: Analysis of function 0x004114B2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004114B2
FSEM[ERROR]: Analysis of function 0x00411497 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411497
FSEM[ERROR]: Analysis of function 0x00411469 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411469
FSEM[ERROR]: Analysis of function 0x00411446 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411446
FSEM[ERROR]: Analysis of function 0x00411419 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411419
FSEM[ERROR]: Analysis of function 0x004113EC failed: ...
HASH[WARN ]: update_return_values, no output state for 0x00406FCF
FSEM[ERROR]: Analysis of function 0x004113EC failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004113EC
FSEM[ERROR]: Analysis of function 0x004113C9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004113C9
FSEM[ERROR]: Analysis of function 0x00411392 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411392
FSEM[ERROR]: Analysis of function 0x0041136F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041136F
FSEM[ERROR]: Analysis of function 0x0041134C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0041134C
FSEM[ERROR]: Analysis of function ...
FSEM[ERROR]: Analysis of function 0x00411263 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411263
OPTI[MARCH]: Function PDG analysis: 90% [#############--] 589==750== ---Thread-Announcement------------------------------------------
==750==
==750== Thread #12 was created
==750== at 0xF01F9F3: clone (clone.S:76)
==750== by 0xF0208EE: __clone_internal (clone-internal.c:83)
==750== by 0xEF8E6D8: create_thread (pthread_create.c:295)
==750== by 0xEF8F1FF: pthread_create@@GLIBC_2.34 (pthread_create.c:828)
==750== by 0x4853767: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xF4E31F3: boost::thread::start_thread_noexcept() (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x5BABEC8: auto pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const [clone .constprop.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5BADEF0: pharos::BottomUpAnalyzer::analyze() (in /usr/local/lib/libpharos.so)
==750== by 0x122D06: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750==
==750== ----------------------------------------------------------------
==750==
==750== Lock at 0x2DF108E8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2df108e8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Lock at 0x2DDBC3F8 was first observed
==750== at 0x4850CCF: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C234AE: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750== Address 0x2ddbc3f8 is 104 bytes inside a block of size 1,336 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x5C09445: pharos::FunctionDescriptor* pharos::DescriptorSet::add_function_descriptor<SgAsmFunction*&>(unsigned long, SgAsmFunction*&) [clone .isra.0] (in /usr/local/lib/libpharos.so)
==750== by 0x5C0B6A3: pharos::DescriptorSet::create() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0D22B: pharos::DescriptorSet::init() (in /usr/local/lib/libpharos.so)
==750== by 0x5C0DF07: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap 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> > > > const&, bool) (in /usr/local/lib/libpharos.so)
==750== by 0x5C0E5DC: pharos::DescriptorSet::DescriptorSet(pharos::ProgOptVarMap const&) (in /usr/local/lib/libpharos.so)
==750== by 0x122CD7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
==750== Possible data race during read of size 8 at 0x134856B0 by thread #5
==750== Locks held: 1, at address 0x2DF108E8
==750== at 0xEDEAA22: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC24: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== by 0xF01FA03: clone (clone.S:100)
==750==
==750== This conflicts with a previous write of size 8 by thread #12
==750== Locks held: 1, at address 0x2DDBC3F8
==750== at 0xEDEAAE0: std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
==750== by 0x5BEBC7B: pharos::DUAnalysis::DUAnalysis(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5CF8AB0: pharos::PDG::PDG(pharos::DescriptorSet&, pharos::FunctionDescriptor&) (in /usr/local/lib/libpharos.so)
==750== by 0x5C235BA: pharos::FunctionDescriptor::_get_pdg() (in /usr/local/lib/libpharos.so)
==750== by 0x5BAD68B: Sawyer::ThreadWorkers<Sawyer::Container::Graph<pharos::FunctionDescriptor*, Sawyer::Nothing, pharos::FunctionDescriptor*, Sawyer::Container::GraphEdgeNoKey<Sawyer::Nothing>, Sawyer::DefaultAllocator>, pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}>::worker(pharos::BottomUpAnalyzer::analyze()::{lambda(auto:1, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#4}::operator()<pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}>(pharos::BottomUpAnalyzer::analyze()::{lambda(unsigned long, pharos::FunctionDescriptor const*)#2}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const::{lambda(unsigned long, pharos::FunctionDescriptor*)#1}) (in /usr/local/lib/libpharos.so)
==750== by 0xF4E70CA: ??? (in /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0)
==750== by 0x485396A: ??? (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0xEF8EAC2: start_thread (pthread_create.c:442)
==750== Address 0x134856b0 is 80 bytes inside a block of size 328 alloc'd
==750== at 0x484B093: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_helgrind-amd64-linux.so)
==750== by 0x9A4823E: Sawyer::Message::Facility::initStreams(Sawyer::SharedPointer<Sawyer::Message::Destination> const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x9A4839C: Sawyer::Message::Facility::initialize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/librose.so.1.0.0)
==750== by 0x5CC92C7: pharos::parse_cert_options_internal(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x5CCAF86: pharos::parse_cert_options(int, char**, boost::program_options::options_description, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::optional<boost::program_options::positional_options_description>, Sawyer::SharedPointer<Sawyer::Message::UnformattedSink>) (in /usr/local/lib/libpharos.so)
==750== by 0x122AC7: fn2hash_main(int, char**) (in /usr/local/bin/fn2hash)
==750== by 0x12143F: main (in /usr/local/bin/fn2hash)
==750== Block was alloc'd by thread #1
==750==
FSEM[ERROR]: Analysis of function 0x004112B2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004112B2
FSEM[ERROR]: Analysis of function 0x00411248 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411248
FSEM[ERROR]: Analysis of function 0x00411218 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411218
FSEM[ERROR]: Analysis of function 0x0040AE36 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040AE36
FSEM[ERROR]: Analysis of function 0x0040B180 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040B180
FSEM[ERROR]: Analysis of function 0x00406942 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406942
FSEM[ERROR]: Analysis of function 0x00406420 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406420
FSEM[ERROR]: Analysis of function 0x00406AF3 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406AF3
FSEM[ERROR]: Analysis of function 0x00406B60 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406B60
FSEM[ERROR]: Analysis of function 0x0040A312 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040A312
FSEM[ERROR]: Analysis of function 0x0040699D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040699D
FSEM[ERROR]: Analysis of function 0x00406A39 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406A39
FSEM[ERROR]: Analysis of function 0x00406AB8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406AB8
FSEM[ERROR]: Analysis of function 0x00406606 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406606
FSEM[ERROR]: Analysis of function 0x00402D89 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402D89
FSEM[ERROR]: Analysis of function 0x00406488 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406488
FSEM[ERROR]: Analysis of function 0x004064D0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004064D0
FSEM[ERROR]: Analysis of function 0x004065FD failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004065FD
FSEM[ERROR]: Analysis of function 0x00406322 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406322
FSEM[ERROR]: Analysis of function 0x004065AA failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004065AA
FSEM[ERROR]: Analysis of function 0x00402B72 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402B72
FSEM[ERROR]: Analysis of function 0x0040611F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040611F
FSEM[ERROR]: Analysis of function 0x00406202 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406202
FSEM[ERROR]: Analysis of function 0x00402B34 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402B34
FSEM[ERROR]: Analysis of function 0x00402C58 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402C58
FSEM[ERROR]: Analysis of function 0x004111C0 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004111C0
FSEM[ERROR]: Analysis of function 0x004111E8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004111E8
FSEM[ERROR]: Analysis of function 0x00411198 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411198
FSEM[ERROR]: Analysis of function 0x004074CA failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004074CA
FSEM[ERROR]: Analysis of function 0x00411326 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411326
FSEM[ERROR]: Analysis of function 0x00408621 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00408621
FSEM[ERROR]: Analysis of function 0x0040A01D failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040A01D
FSEM[ERROR]: Analysis of function 0x00405F2F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00405F2F
FSEM[ERROR]: Analysis of function 0x00402AF6 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402AF6
FSEM[ERROR]: Analysis of function 0x00403026 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403026
FSEM[ERROR]: Analysis of function 0x0040A165 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040A165
FSEM[ERROR]: Analysis of function 0x00406771 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406771
FSEM[ERROR]: Analysis of function 0x004068C8 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004068C8
FSEM[ERROR]: Analysis of function 0x00403197 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403197
FSEM[ERROR]: Analysis of function 0x0040355A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040355A
FSEM[ERROR]: Analysis of function 0x004035A5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004035A5
FSEM[ERROR]: Analysis of function 0x004034A2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004034A2
FSEM[ERROR]: Analysis of function 0x004033EA failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004033EA
FSEM[ERROR]: Analysis of function 0x00406023 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00406023
FSEM[ERROR]: Analysis of function 0x00411301 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411301
FSEM[ERROR]: Analysis of function 0x00407695 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00407695
FSEM[ERROR]: Analysis of function 0x0040762A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040762A
FSEM[ERROR]: Analysis of function 0x004077FA failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004077FA
FSEM[ERROR]: Analysis of function 0x00407A1B failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00407A1B
FSEM[ERROR]: Analysis of function 0x00407D55 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00407D55
FSEM[ERROR]: Analysis of function 0x00407F71 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00407F71
FSEM[ERROR]: Analysis of function 0x004080B8 failed: absolute memory exceeded
FSEM[ERROR]: Analysis of function 0x00403ACA failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403ACA
FSEM[ERROR]: Analysis of function 0x0040284C failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040284C
FSEM[ERROR]: Analysis of function 0x00403A57 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00403A57
FSEM[ERROR]: Analysis of function 0x004028C6 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004028C6
FSEM[ERROR]: Analysis of function 0x00402D0A failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402D0A
FSEM[ERROR]: Analysis of function 0x00402E15 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402E15
FSEM[ERROR]: Analysis of function 0x00402EB2 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402EB2
FSEM[ERROR]: Analysis of function 0x0040293E failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040293E
FSEM[ERROR]: Analysis of function 0x00402A52 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402A52
FSEM[ERROR]: Analysis of function 0x00402DD5 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402DD5
FSEM[ERROR]: Analysis of function 0x00402F32 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402F32
FSEM[ERROR]: Analysis of function 0x00402FCC failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402FCC
FSEM[ERROR]: Analysis of function 0x00411541 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00411541
FSEM[ERROR]: Analysis of function 0x00404754 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00404754
FSEM[ERROR]: Analysis of function 0x004115EF failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004115EF
FSEM[ERROR]: Analysis of function 0x004035E9 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x004035E9
FSEM[ERROR]: Analysis of function 0x00402B16 failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x00402B16
FSEM[ERROR]: Analysis of function 0x0040328F failed: absolute memory exceeded
HASH[WARN ]: update_return_values, no output state for 0x0040328F
D3ABCCEDC43A1CE0768AA2C269A89A37,0x00411184,2,1,1,6,DB2F9993ED9DF0C1BEC95014178EDEE3,89047698F4380796A13F674942384C0D,80404D0C6D24E87F650FF7D1985CD762,0EF6CF926F2F394B0CC8E11BE8022625,8BB89053F8EBA0ACC6100219401EF9CD,19D3326F3137CBADD21CE901A9BED4A7,656E389D21C8DFC9E8F47E62C6488F6C,jmp:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 0% [---------------] 1D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401000,5,4,12,27,907809BCD75F0A5D8D4485B6828E33D1,907809BCD75F0A5D8D4485B6828E33D1,91464821679EDC746EDF1D53D3D427AB,7A424924E19AD3A8671130B0BB0435E0,A548C7975F639D545C402ED9B08037BD,2D193D1CB3453BF6B9A3B3A1003C1A37,A9C77FE75466B4ED46AAC06C10DF7C15,inc:1;jne:1;lea:2;mov:3;pop:1;push:1;ret:1;sub:1;test:1,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:4;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 0% [---------------] 2D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401020,2,1,6,11,2FDF6F07CF38A5B662D2077C3DA6E0F7,2FDF6F07CF38A5B662D2077C3DA6E0F7,8AAF7A95B1D7FC1A22F8628142FDA89C,CB2377AB03985062BB528AADF276BB15,122A8041F29C06A365ED299F45BC5725,45E03334C0D3E03375E48EE4021CCF43,351C09F623590F46F991820A1C7EA388,mov:2;movzx:1;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 0% [---------------] 3D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401030,2,1,10,20,D1C39C5C29DBCB2F6B0BCDA23814713E,D1C39C5C29DBCB2F6B0BCDA23814713E,87BC92DF56F52A7391084F85450F25D5,058EB36C79DBA6D5DD4864D941FFDFDD,2A9975C43D23AF93A55F1AC7F173A5DF,E22B1109069DD36754D4042B7638A962,CF54AB5DAE3476E25C916779D1A81478,cmp:1;mov:4;pop:1;push:1;ret:1;sete:1;xor:1,BR:1;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:6
OPTI[MARCH]: Function analysis: 1% [---------------] 4D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401050,2,1,2,4,C626156571E6154626C4C2F22F65E5DD,C626156571E6154626C4C2F22F65E5DD,588256C2549F98ADCC5B0F45E930CAD7,EAEB6A535A08E4D2E8E2B808D6730E8D,DE21BE94F88069B261F46B173B819955,F477C59266EC634D5FFDB6A15F3BB1E8,F76C2EDF71D11976D0EEAB3079517FFD,or:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 1% [---------------] 5D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401090,2,1,9,20,2AE50AE2B29BC6055B92989E745A91A4,2AE50AE2B29BC6055B92989E745A91A4,2C69E1F3EC73A19DD9C224731CA14B11,199496894051077A444AABB963143C31,9E9D22D27B629901F1814FB5F4690969,B60AD4266A43CF283754BE2AA7AA38E0,0F567574336B80A1FDCED2DB299D51C6,mov:6;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:8
OPTI[MARCH]: Function analysis: 1% [---------------] 6D3ABCCEDC43A1CE0768AA2C269A89A37,0x004010E0,2,1,2,4,74ADA40D0DBE690C2513B332AB678C9E,74ADA40D0DBE690C2513B332AB678C9E,96308EAABC3372B94C99DE06E3525EAB,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 1% [---------------] 7D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401110,2,1,2,4,777838C94BE461110061E1D2653FC24A,777838C94BE461110061E1D2653FC24A,A212C0E171AFCFD9EFE43AAD8DAE1E3F,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 1% [---------------] 8D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401120,2,1,3,7,D7D9B0885400B8B668A134CD0A498B90,D7D9B0885400B8B668A134CD0A498B90,F7379CB7E0D9FEBDD800A9992735D6D0,9121449ED1928F691DA4F4538874416F,94026DBAE32D5404C905C4220D4661D7,5ED6EF6BD7B8EDC2969CC8806850CE35,D8B65B438A1C25FA750571FF391FBA33,mov:2;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:2
OPTI[MARCH]: Function analysis: 1% [---------------] 9D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401130,2,1,12,27,1A54475001013B2E05AE6EE24C662F1C,1A54475001013B2E05AE6EE24C662F1C,CBD6C83620B5E4C23673059D14DBD13B,067C19585D718E5426E20AE6FEDAFD35,231906F0AE43252B738546246603494B,66C618A657A359CF62406715B6FFD2A3,785516134EDD578AB775CD3384CDF74B,mov:7;pop:2;push:2;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:11
OPTI[MARCH]: Function analysis: 2% [---------------] 10D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401150,2,1,3,9,FDADF8071B39B8C001D04D629156E129,630F458E0F3489941F8EE917D52AE0A7,6C19ED813DDE68F3F2002B3633AC9E9E,9121449ED1928F691DA4F4538874416F,94026DBAE32D5404C905C4220D4661D7,5ED6EF6BD7B8EDC2969CC8806850CE35,D8B65B438A1C25FA750571FF391FBA33,mov:2;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:2
OPTI[MARCH]: Function analysis: 2% [---------------] 11D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401160,2,1,3,9,95D7971836DAD4BE8C0E5121BEF8D78E,630F458E0F3489941F8EE917D52AE0A7,6C19ED813DDE68F3F2002B3633AC9E9E,9121449ED1928F691DA4F4538874416F,94026DBAE32D5404C905C4220D4661D7,5ED6EF6BD7B8EDC2969CC8806850CE35,D8B65B438A1C25FA750571FF391FBA33,mov:2;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:2
OPTI[MARCH]: Function analysis: 2% [---------------] 12D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401170,3,2,7,14,BF5B54E5C85963F725E939762CB24C90,BF5B54E5C85963F725E939762CB24C90,C8C102D4F24493F9CC782E0A12BC80C8,8B247589A51AAB713636652485C67C8A,529D672FFDD54C68ED2B277CEFF8A162,7C56B734E86700F37C0B03AA5B96BB9C,D30912940B0A889195FF139CDDD84EF6,add:1;call:1;mov:1;pop:1;push:2;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:4
OPTI[MARCH]: Function analysis: 2% [---------------] 13D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401180,2,1,2,4,4CC8AD2F362E74795463E86B07B21118,4CC8AD2F362E74795463E86B07B21118,03E8C0CC3D8CF0EC2BEAD5D8F3015756,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 2% [---------------] 14D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401190,2,1,3,7,FD61D4A3E3FBC7B8807C03622C6CABEC,FD61D4A3E3FBC7B8807C03622C6CABEC,CCFE70825F53A0531B5F2864785834CB,9CB3664DC208E88B35DBC1C99991220C,798134660B45F510F00A8CAF725023A3,5ED6EF6BD7B8EDC2969CC8806850CE35,D8B65B438A1C25FA750571FF391FBA33,jmp:1;mov:2,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:2
OPTI[MARCH]: Function analysis: 2% [---------------] 15D3ABCCEDC43A1CE0768AA2C269A89A37,0x004011A0,4,3,10,19,7AC93292E5C405CED5D8E4BE575E0F24,7AC93292E5C405CED5D8E4BE575E0F24,864F34CBE71BEB01EC97A36C798F6923,4E561BAA7764AC191F9D737FFD5AD414,B33FDDB07D994EB2F25817981E21FB4B,77B83308B85B7BB63D9014CCE16E4DA0,37C979D634778D1F00022A61276C0A8A,cdq:2;cmp:1;je:1;mov:3;ret:2;xor:1,BR:3;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 2% [---------------] 16D3ABCCEDC43A1CE0768AA2C269A89A37,0x004011C0,2,1,5,10,66F27EDD90707EA2000040F743249FA9,66F27EDD90707EA2000040F743249FA9,D4723AE101B9FE4040B348E2650DDFB3,9A01E053D6C186E8E8BAE30606EF4666,E30F04CF4CFAC207DA69DE125566DFC4,7AC0AD3BB6C88A09ABFC13EEA7C1EB60,A44878E47E6601D53A0ACCC6320DCEF5,cmp:1;dec:1;ret:1;setne:1;xor:1,BR:1;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 3% [---------------] 17D3ABCCEDC43A1CE0768AA2C269A89A37,0x004011D0,2,1,2,4,43E12FE7B969523FDF5F497C65FAC2D0,43E12FE7B969523FDF5F497C65FAC2D0,1AF81C43A58B409B79051A21F0CEBFA0,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 3% [---------------] 18D3ABCCEDC43A1CE0768AA2C269A89A37,0x004011E0,1,1,7,16,C0DB6DE64E34C5CBFC152FB6C13E95B4,C0DB6DE64E34C5CBFC152FB6C13E95B4,785EFBF8965AE718C8A466D6A44B0E64,8323DC0DBD019225B12782AD4A583081,C993739D98882C32F5E2128DB081485C,FA0E2CC037CBD18400245C3A35F9D5AB,985CD97317AD05D8EAF811381A8DF6DD,dec:1;lea:1;mov:4;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:2;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:4
OPTI[MARCH]: Function analysis: 3% [---------------] 19D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401260,2,1,2,4,9B8E2E180FC1F47A81BC2298812765D4,9B8E2E180FC1F47A81BC2298812765D4,F650104F3AF6BDB2B1C46CDB12AB0701,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 3% [---------------] 20D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401270,3,2,13,26,9D3EEFF93F29F39613BBAC3007DE5761,9D3EEFF93F29F39613BBAC3007DE5761,0993EB366A463E3D05758E8E50DFA1CB,97D1113466177A8306D9B8B0554A592C,3512B3A2345864C89808475942878B57,1D13381B4DB2769CF462D86CFEF77D83,00407CBBFB5FCF08BA7E4130B43A9F58,call:1;mov:6;pop:1;push:4;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:11
OPTI[MARCH]: Function analysis: 3% [---------------] 21D3ABCCEDC43A1CE0768AA2C269A89A37,0x004016CB,2,1,2,6,D5762C4690D328F4D66551FEBA18F937,B9BA558B6B78B07BF5AC69CC51457A82,55A51D61B90DA521E0BD2BEF8B6028E9,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 3% [#--------------] 22D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401C0C,5,5,16,33,36ED7B511F73E1D96BF466F8F4CB9CD7,36ED7B511F73E1D96BF466F8F4CB9CD7,88161AA53A3D2E3AA00F7CF32699A244,35A8D1609B3040715162B5D9ABD105BB,0D54CCF87E0214CEA1AE4523CD18FF2F,E5C0D8A89BCCA78CE756EAD29C9F61A4,7617B1E9447F790A55F4806C71238F48,cmp:2;inc:1;jmp:1;jne:2;mov:5;pop:1;push:1;ret:1;xor:2,BR:4;CMP:2;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:7
OPTI[MARCH]: Function analysis: 3% [#--------------] 23D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401C4E,5,5,15,31,E49D47F4C4D10C8D37AD7E761437EB25,E49D47F4C4D10C8D37AD7E761437EB25,23A5D253C82A4AC17E4AD53C2A943F74,B5E25D1CC567F79A09192DA1132AD03F,FBC772B181586222BF89A024F473D887,7D4D85135D578EFBF5DE131B0199A38D,1286923A792E0891F1AE1477B2A82C47,cmp:2;inc:1;jmp:1;jne:2;mov:4;pop:1;push:1;ret:1;xor:2,BR:4;CMP:2;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:6
OPTI[MARCH]: Function analysis: 4% [#--------------] 24D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401C9F,1,1,2,4,C0033306898C161CBE4368A2D946A789,C0033306898C161CBE4368A2D946A789,10B3F1BB7E051A8234F81872D9C543E5,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 4% [#--------------] 25D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401CA3,1,1,2,4,949B9AAFA0B84FC7A378CD8585404B8A,949B9AAFA0B84FC7A378CD8585404B8A,FBD2BC545BCB0C2CAED15D03A379EC9B,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 4% [#--------------] 26D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401CA7,1,1,9,20,CBB0CF7574EEA83E6C4125947B4CAFCA,CBB0CF7574EEA83E6C4125947B4CAFCA,D8E56F19820D759EB76285234612A417,0E357C303200004B6A161D012C6C4660,9E9D22D27B629901F1814FB5F4690969,B60AD4266A43CF283754BE2AA7AA38E0,0F567574336B80A1FDCED2DB299D51C6,mov:6;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:8
OPTI[MARCH]: Function analysis: 4% [#--------------] 27D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401CBB,1,1,2,6,34E7F9359A67B4B0B8D84E976FD561B4,B9BA558B6B78B07BF5AC69CC51457A82,55A51D61B90DA521E0BD2BEF8B6028E9,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 4% [#--------------] 28D3ABCCEDC43A1CE0768AA2C269A89A37,0x00401D49,12,12,27,61,F445B62642A361F813B417D18966D646,F445B62642A361F813B417D18966D646,8A288623AAA7284D0FB4963205640D85,4E242FB28D024AF3ED0C1D2EB33D1ED7,CBE4DB6623327F8CCF9512834A164DF6,061262F9B1538F6267ACED3605BCAB44,0D831FD2715623A5316562D29465BC93,add:1;cmp:5;jb:3;jbe:1;je:1;jmp:3;mov:9;pop:1;push:1;ret:1;xor:1,BR:9;CMP:5;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:11
OPTI[MARCH]: Function analysis: 4% [#--------------] 29D3ABCCEDC43A1CE0768AA2C269A89A37,0x004021D2,1,1,2,7,C10AC1892EA5ED061192AEF8A0E791A0,6768D401F478FF0F6BAF265430D8EC6F,7058400F234556B1D97A028384DCD42B,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 5% [#--------------] 30D3ABCCEDC43A1CE0768AA2C269A89A37,0x004023A5,1,1,6,12,4271BE930B2BE6FCD94EBF857AF3DC23,4271BE930B2BE6FCD94EBF857AF3DC23,2C2CD236075CD3A87BFAD94E2FBA861F,4219E9B8A7EC0FCDB0B4B7EEE8816D46,31A8146E3AFDE764EEA93356D922E60E,45E03334C0D3E03375E48EE4021CCF43,351C09F623590F46F991820A1C7EA388,mov:3;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 5% [#--------------] 31D3ABCCEDC43A1CE0768AA2C269A89A37,0x004023D2,1,1,6,12,01FE070908F42B5BF68ED3C471DE2A43,01FE070908F42B5BF68ED3C471DE2A43,2C2CD236075CD3A87BFAD94E2FBA861F,4219E9B8A7EC0FCDB0B4B7EEE8816D46,31A8146E3AFDE764EEA93356D922E60E,45E03334C0D3E03375E48EE4021CCF43,351C09F623590F46F991820A1C7EA388,mov:3;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 5% [#--------------] 32D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040249D,7,7,26,85,87B548EF4228701063AB8A81CC22D546,4FB02587EA0A39259D3255EBFB2612F9,E4D620F5AF90714E232B21FB90BA3A58,7797405A107AA90977D569683CDCC39A,6D037F1558216C2CEC7E4BC679FD85C8,E78E2B0A8AC760ECEC54C082C8CE4A8B,0700CD387BE6F11D6AB053EDEB600E3B,je:3;mov:17;pop:1;push:1;ret:1;test:3,BR:4;CMP:3;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:19
OPTI[MARCH]: Function analysis: 5% [#--------------] 33D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402544,1,1,2,6,AD5513F569515FAFF9454DE38F6A2B28,AD5513F569515FAFF9454DE38F6A2B28,588256C2549F98ADCC5B0F45E930CAD7,EAEB6A535A08E4D2E8E2B808D6730E8D,DE21BE94F88069B261F46B173B819955,F477C59266EC634D5FFDB6A15F3BB1E8,F76C2EDF71D11976D0EEAB3079517FFD,or:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 5% [#--------------] 34D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040254A,1,1,3,5,C115BB79968F76DA8A365AF5BEEB3C17,C115BB79968F76DA8A365AF5BEEB3C17,5744500FECC162057D0D8F5A43AF62CB,76EB17DFAD4A6B20BB94B1DDF0000C81,84E072C797014180892BFE34A12F23B1,BB78C962867BE73348B0D1E42B94CD4F,BE5DFC0AA84AA02B162B223E6F1B2FC4,ret:1;xor:2,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 5% [#--------------] 35D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040254F,1,1,2,4,C626156571E6154626C4C2F22F65E5DD,C626156571E6154626C4C2F22F65E5DD,588256C2549F98ADCC5B0F45E930CAD7,EAEB6A535A08E4D2E8E2B808D6730E8D,DE21BE94F88069B261F46B173B819955,F477C59266EC634D5FFDB6A15F3BB1E8,F76C2EDF71D11976D0EEAB3079517FFD,or:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 5% [#--------------] 36D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402553,1,1,2,5,B699B4C5E0EDACDEDE47D4290996BF24,B699B4C5E0EDACDEDE47D4290996BF24,CD09E3AF68E28ECA74AF32F5FCC047F5,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 6% [#--------------] 37D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402558,1,1,1,3,F02AE6A964271CC503F5135A7DD01817,F02AE6A964271CC503F5135A7DD01817,80404D0C6D24E87F650FF7D1985CD762,2CB9DF9898E55FD0AD829DC202DDBD1C,54F02AEA76CE9ECA4D113626FFA74277,19D3326F3137CBADD21CE901A9BED4A7,656E389D21C8DFC9E8F47E62C6488F6C,ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 6% [#--------------] 38D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040255B,4,4,19,39,E1625A7474CE61B57D88729DFCEDEC36,E1625A7474CE61B57D88729DFCEDEC36,251127A908027D4ED8FC10B69825A13F,EC484513C9CCD0B15E239A4B2B5650F8,378F565E71E92F8F72B179968082A4E0,3B778EC51B19E5729603620DD8668DC3,07F383948791FA7956C7B950BBDC450D,call:1;cmp:1;dec:1;jne:1;lea:1;mov:7;movzx:1;or:1;pop:2;push:1;ret:2,BR:4;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:2;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:11
OPTI[MARCH]: Function analysis: 6% [#--------------] 39D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402716,1,1,14,40,5FE7791A9E44526AFBF9D5A2285CEF68,23762673B506A536726B1BB2E2298B3C,1BC0758598EB5B66589B714B6320F9A5,E40789057E37DBDD7BD421F267617124,EB3A80B65AFAD1B7553AAE66CCD5055B,426F456BE507928509673FD9A2C49C45,0F3F3B3D7D37DA1B6120849FEABF6543,mov:10;pop:1;push:1;ret:1;xor:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:12
OPTI[MARCH]: Function analysis: 6% [#--------------] 40D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040273E,1,1,14,40,E34ADB1782BB3DDE9A09ECFB27F06427,E7B30CFA58D80AD42D45C84437265800,1BC0758598EB5B66589B714B6320F9A5,E40789057E37DBDD7BD421F267617124,EB3A80B65AFAD1B7553AAE66CCD5055B,426F456BE507928509673FD9A2C49C45,0F3F3B3D7D37DA1B6120849FEABF6543,mov:10;pop:1;push:1;ret:1;xor:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:12
OPTI[MARCH]: Function analysis: 6% [#--------------] 41D3ABCCEDC43A1CE0768AA2C269A89A37,0x004027AB,3,3,15,33,7A213244A191C45DB08031BF9294D35A,7A213244A191C45DB08031BF9294D35A,5481FF25D78C930FEEEA4BAEA294DBD3,41084D9283EC0461E0FF0D2430F22FC6,1CAD177ECA3F48AC1E47105DF7C5FDF5,7ABBB3FEA6C6733E91510423817A08C4,970AD37F96C5E7AB954775DD0F65F8D5,cmp:1;jne:1;lea:1;mov:8;pop:1;push:1;ret:1;sub:1,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:2;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:10
OPTI[MARCH]: Function analysis: 6% [#--------------] 42D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040280A,1,1,25,66,E6DBEDBF5CF49CBAED63A7A81C4BB99D,E6DBEDBF5CF49CBAED63A7A81C4BB99D,AC16DFBA2C3B8546090D2320B1E40410,2432095CE45DB25ABA7EF887CC179CC5,9B212C0EDAF40E2BAE54093A0907AE69,A59677F7BB975FD4DE339AC2507E10DC,1EA971A4F1B06BDA34A4448705AD199B,lea:6;mov:17;ret:1;xor:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:6;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:17
OPTI[MARCH]: Function analysis: 7% [#--------------] 43D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402AEF,1,1,2,3,37C58D8ECEA1DD7E36299D9E70CF8A4E,37C58D8ECEA1DD7E36299D9E70CF8A4E,40FC9CE46CB1BD5834104CBFDFF42201,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 7% [#--------------] 44D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402AF2,1,1,3,4,EEB1F5C3B9CDDD4A4462D4A3E5559212,EEB1F5C3B9CDDD4A4462D4A3E5559212,6989E6DAFCBA60E15C1CB0A1DA51CA23,87525EEFF08EFD3158FEE94BEE4E94E3,54DED398F10F426EF6177CFF650C6378,0D58488901CA959A79579EDBBC84302F,8D550B52913D131E3DD65206C6396BD7,inc:1;ret:1;xor:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 7% [#--------------] 45D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402B9F,8,8,32,62,509B0E5A9CFF1FC3FD40A045EC5B87AF,509B0E5A9CFF1FC3FD40A045EC5B87AF,FB54A08CDEF1F99B8D4346E99B964229,B8F8A6C35A3E0ABA3134AEF8752BA7B3,A59F715C5B7E73C0369B84AD8FFF26AB,5CDEE8A6F0B51E6A8B93C2284D3EDE4F,F8B88D5AEF00B0C37A8EEE598FE8946F,add:1;call:2;cmp:2;jae:1;je:2;mov:13;movzx:1;or:1;pop:3;push:3;ret:2;test:1,BR:7;CMP:3;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:20
OPTI[MARCH]: Function analysis: 7% [#--------------] 46D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402BDD,3,3,24,52,2E5C81ACE3019C00EC3AADC2FC01B28D,2E5C81ACE3019C00EC3AADC2FC01B28D,80E593A958D19D926A55A323D7F79F81,E84B874EE3AF4D63AA55F63605CBBFA1,FC52358DAC9D99A33B00BF33DA168242,ED0318B33F9E9B4E81EFE1B92E829B64,FCCF9842285AAB60A62DF38169D587A9,add:2;cmp:1;je:1;lea:1;mov:13;pop:2;push:2;ret:1;sub:1,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:4;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:17
OPTI[MARCH]: Function analysis: 7% [#--------------] 47D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402C11,1,1,13,28,322F40ED37CB70D56002F55266932754,322F40ED37CB70D56002F55266932754,A8222B8844417B931CC01837DF6D74A0,49AD1B9809EA95A9A70DCA6F4A42B75F,4BC5F28EAA62145D69BE4B2E75A84572,0EBB677CA244B06562928D9C603635D2,FC72D473D851FA0CE5F106211C786B74,mov:8;pop:2;push:2;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:12
OPTI[MARCH]: Function analysis: 7% [#--------------] 48D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402C2D,1,1,10,20,3160D3AADED3BB5ED3F2938A78CBF123,3160D3AADED3BB5ED3F2938A78CBF123,AF807C67D7A57E9187FFA705EB8A8552,786AD2CF49A17A9A3D5D4CCDAADE8366,43D1B0BEFA3423F9E4F8923BB011E805,1118E96716D5BAFB2E4E8BE61A013D84,FE4C88D8508C1A6251BA75310111F0CF,mov:5;pop:2;push:2;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:9
OPTI[MARCH]: Function analysis: 7% [#--------------] 49D3ABCCEDC43A1CE0768AA2C269A89A37,0x00402C41,3,3,10,23,5492472DA22B0872A49A7309FDAEA396,5492472DA22B0872A49A7309FDAEA396,764A0BAE66368BA6259E162153A258E1,09811F512F51A10393E3D902C4240533,B02FC7691597F55CD4B09570A9931EC1,5BB9FD841B1291853AFDF7F0952ED811,9ED3CC428D1ADCE40D03ED8BAE90A9AD,cmp:1;jae:1;mov:4;pop:1;push:1;ret:1;sub:1,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:6
OPTI[MARCH]: Function analysis: 8% [#--------------] 50D3ABCCEDC43A1CE0768AA2C269A89A37,0x00403979,1,1,2,6,92976BFEB29761A7A3349773BFF3640B,A34F48AE6288067BC704F5561FC410ED,F34EB42D815F1AF46808958A47F6A2C3,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 8% [#--------------] 51D3ABCCEDC43A1CE0768AA2C269A89A37,0x00403C49,5,5,20,39,D9CC8636C4FD875A141BB76A5BCD5187,D9CC8636C4FD875A141BB76A5BCD5187,04DB52E84F470544984FA40C7B615B2A,3FC6A724A104AC34ECE2679162419C30,D1D2CCE0A54CB1F655018DF1F850A743,0CC5E6EC4DFA1C77127C89BBCA6101E7,C6C9BDF24ADF062EC0A8045CD3E1460D,add:1;call:1;jmp:1;jne:1;mov:5;pop:3;push:6;ret:1;test:1,BR:4;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:14
OPTI[MARCH]: Function analysis: 8% [#--------------] 52D3ABCCEDC43A1CE0768AA2C269A89A37,0x00403EAC,5,5,11,41,281763BB94E99AAC18AAC273DFD1597A,F8A22F85545233FB1E91449761C19E7F,519F8E7D79FB952D6359CBD4299CE6AF,87CD0ADAECFAB4BEDD73C90F2A182FE6,AFA6B082358B6BCFB3448BC1CD0973A8,F1D876CC1650842795E894C906B16965,A86B49D74B917378CE4576416FF6D6AE,call:2;cmp:1;inc:1;jb:1;je:1;mov:2;push:1;ret:1;test:1,BR:5;CMP:2;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:3
OPTI[MARCH]: Function analysis: 8% [#--------------] 53D3ABCCEDC43A1CE0768AA2C269A89A37,0x00403EF9,2,2,7,16,B8C6AE6172BBAAD83FEE9EDAD20253D9,E73A1B7FD55EE571EBFB1460C0D2F0E1,3C7A1DCA51EA7E41703B91C093692578,72540CE347BDDCB8ADF9E92F57E34209,81EA1C1FE35847C24B4B2BE4688DDADC,E11424E91E239E82A56C424D0DA3E384,965BD072D3B5A8B8047969C672FFF7BF,call:1;mov:2;pop:1;push:2;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 8% [#--------------] 54D3ABCCEDC43A1CE0768AA2C269A89A37,0x00403F09,2,2,7,16,91B510CE9BF4962EBD60BE57C15AFCE1,E73A1B7FD55EE571EBFB1460C0D2F0E1,3C7A1DCA51EA7E41703B91C093692578,72540CE347BDDCB8ADF9E92F57E34209,81EA1C1FE35847C24B4B2BE4688DDADC,E11424E91E239E82A56C424D0DA3E384,965BD072D3B5A8B8047969C672FFF7BF,call:1;mov:2;pop:1;push:2;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 8% [#--------------] 55D3ABCCEDC43A1CE0768AA2C269A89A37,0x00403F19,2,2,7,16,F3BDB1372D377FF81088EF51AB87A846,E73A1B7FD55EE571EBFB1460C0D2F0E1,3C7A1DCA51EA7E41703B91C093692578,72540CE347BDDCB8ADF9E92F57E34209,81EA1C1FE35847C24B4B2BE4688DDADC,E11424E91E239E82A56C424D0DA3E384,965BD072D3B5A8B8047969C672FFF7BF,call:1;mov:2;pop:1;push:2;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 9% [#--------------] 56D3ABCCEDC43A1CE0768AA2C269A89A37,0x00403F29,2,2,7,16,D438D858306D349365AC10BDA70DF8F8,E73A1B7FD55EE571EBFB1460C0D2F0E1,3C7A1DCA51EA7E41703B91C093692578,72540CE347BDDCB8ADF9E92F57E34209,81EA1C1FE35847C24B4B2BE4688DDADC,E11424E91E239E82A56C424D0DA3E384,965BD072D3B5A8B8047969C672FFF7BF,call:1;mov:2;pop:1;push:2;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 9% [#--------------] 57D3ABCCEDC43A1CE0768AA2C269A89A37,0x00403F39,1,1,11,29,0F40AA3151E83B49FD4C63C02CF1F4F2,356DB5352EF7F77D37BAA9E311E504B6,6467FE922444D9554C156A67BF8ADACF,818C92CDD5EC26FF87D583659869C77D,A8E493F000B6334A777E6F0E65CAFB24,BF89DC1FE5ADEF6E95826610ADDCC598,3376C1FA6B24EC0C4D99FD4392DA7EB5,mov:8;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:10
OPTI[MARCH]: Function analysis: 9% [#--------------] 58D3ABCCEDC43A1CE0768AA2C269A89A37,0x00403F56,3,3,5,13,1AC6D83782C1ECFFD93DD433EB28069B,13430818F01F577A54B7286E4C50D86F,4413E8DCFA53E9F95382730D4E107428,AF9C9E3694CFC2DE380E2C781E1B8D8E,4F1FDB3AE57B11776A34A081818537D7,DD11659CB82587002696B9E7517959B5,B11DB86606F7EF96917B05678BFC0C34,jne:1;mov:2;ret:1;test:1,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:2
OPTI[MARCH]: Function analysis: 9% [#--------------] 59D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040410B,7,7,30,76,AD25FF6D4463CE36630792928076F489,DD6F67B0A531EF4450EB8990F6FF3849,0C222D9269D8C7E995318A1FD9331DFD,3960D1C99FAE6522561EFA481CC4C97D,B0ECEA2CAD4F60E74178CC4C18ECA27A,697D317BD17DF55C5E5D24D9FF8BC653,9FF5F39BBA7063E6D94F9CF9A0A3EE73,call:1;je:2;lea:2;leave:1;mov:8;pop:3;push:8;rep_movsd:1;ret:1;sub:1;test:2,BR:4;CMP:2;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:3;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:20
OPTI[MARCH]: Function analysis: 9% [#--------------] 60D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404157,1,1,16,45,81A77286433A2F9711F6D2DB536D0ECD,81A77286433A2F9711F6D2DB536D0ECD,E1C0B63639209EEF52CF618799A03594,763006230CAFF6DC1AEC557BA7A61AB6,74D30E4D6EE60A03D4FD5D2B37312BB8,DC405788BB5C6A8EB0A4FD08DB610D03,03A58C4FBC1CA68A6E29734BF7EA75C2,add:1;jmp:1;mov:11;push:3,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:14
OPTI[MARCH]: Function analysis: 9% [#--------------] 61D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404184,1,1,3,5,E649C9AF55EAC0F2B5948B4A100AD59D,E649C9AF55EAC0F2B5948B4A100AD59D,BACCD20EB0385890BD0D8CA4E67E8F3C,E77EBC498D0BA0B5F762A65984DB01C5,FACCF1FBAF8344CBE1F6D752D08AFA79,5ED6EF6BD7B8EDC2969CC8806850CE35,D8B65B438A1C25FA750571FF391FBA33,leave:1;pop:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:2
OPTI[MARCH]: Function analysis: 9% [#--------------] 62D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404189,1,1,4,7,80F8E79C849728D5168C1FD049426218,80F8E79C849728D5168C1FD049426218,BF58E00FD41A9D5E07B9B4D155D86329,90795D0A891E59F833652F1D554C1634,D5EC712234BDAF7879289FCEC59E0888,F30973C2452DB5A63453CE9E3AEBAFB8,1F2AC9B13B2611AE11D932C0946FFC08,jmp:1;pop:2;xchg:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:3
OPTI[MARCH]: Function analysis: 10% [#--------------] 63D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404190,2,2,30,84,7F1DB691691F9AE1EA798705DCA7629E,53D4677E8CDDF446F854E6CC632CD4B0,740BC97EB21D29748C2D30635CC5EE00,D8AF51A3DB0DB139C2B6E240213890B4,8EB86F64BD91D0E71FF32EDFFCB1E742,04BC369988FDBAF73F7AF79FB437FE82,BD9FA0D7BDE084786966C10EE448963C,and:1;call:1;leave:1;mov:13;pop:3;push:10;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:27
OPTI[MARCH]: Function analysis: 10% [#--------------] 64D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404790,15,14,46,139,546A66F79671A370F9DCD41B28482298,546A66F79671A370F9DCD41B28482298,C4F5515746380972991AE45748FF107D,C19EB783BCB1C1F0639CF150CF37A487,E826B2188A8840D9994FD67338CF3E27,662FA2E403F6A5A4849895AAAFCC9C68,827885CC335CE7DE7A08028BE7938383,add:4;je:7;jmp:1;jne:1;lea:6;mov:9;ret:4;sub:4;test:8;xor:2,BR:13;CMP:8;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:14;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:9
OPTI[MARCH]: Function analysis: 10% [#--------------] 65D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404820,117,89,336,961,BDD97A7DE01A27734518C13E1F1FC136,F6C580EAB4D61BB7998828BE19287ED2,734D26C20FDF03D4D4DDA0AE27494E08,087A3D27CB4C56F72B3064CBFBC72956,AD5F9E76CABE1E4CACCDD1AC341CE782,36873DA73153E93A00555B46659D90E4,F0C5E0272E9E06A0930841FF069002D4,add:12;and:17;cld:4;cmp:14;dec:6;inc:4;jb:12;jbe:1;je:9;jmp:19;jne:10;lea:13;leave:8;mov:110;movdqa:18;neg:1;pop:23;push:7;rep_movsd:8;ret:9;shr:12;std:4;sub:10;test:5,BR:60;CMP:19;CRYPTO:0;FLT:0;I/O:0;LOGIC:29;MATH:46;SIMD:18;STR:8;SYS:0;UNCAT:0;VMM:0;XFER:148
OPTI[MARCH]: Function analysis: 10% [##-------------] 66D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404EF1,1,1,17,51,5EFCBAA9C7773A8F5A8D0CD99B220426,BB41DBC8FE1B939698BA2AFDB38DFA09,E3497E0FBD424B1C5BE2957E000C6353,83DE2DE996784E7D8DFECC91506E2B72,0DB8BF8AE70A1100E2806A2C06B1C697,95E1FAF774D2D08F69639D552D273C5E,56F98727B9EAEC291F0AE1F0CC801B4E,lea:2;mov:5;push:7;ret:1;sub:1;xor:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:3;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:12
OPTI[MARCH]: Function analysis: 10% [##-------------] 67D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404F24,1,1,18,54,CF0503B495E13B6219C350DB14B5B0D6,4E55EF554F8FB1602CF2FA29DB541195,64EFA420DD502FED60DF122C2760A819,C85C9695C54A1CBA94A6EF69AD966869,2B091AADAD4E431DE51691792037A50F,6DC82B5D8F31B89748957BBA2D8B8E38,8C1ACE6362B0E1BE109040B3F5CDAACF,lea:2;mov:6;push:7;ret:1;sub:1;xor:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:3;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:13
OPTI[MARCH]: Function analysis: 10% [##-------------] 68D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404F5A,1,1,18,54,40B07D499BAC9A4DE911DCA75C46EC19,D678BED9F12E55CB2B682E476B60A0BC,9A3FC1BEC8C7CD7F6C293E94AB8D8390,C85C9695C54A1CBA94A6EF69AD966869,2B091AADAD4E431DE51691792037A50F,6DC82B5D8F31B89748957BBA2D8B8E38,8C1ACE6362B0E1BE109040B3F5CDAACF,lea:2;mov:6;push:7;ret:1;sub:1;xor:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:3;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:13
OPTI[MARCH]: Function analysis: 10% [##-------------] 69D3ABCCEDC43A1CE0768AA2C269A89A37,0x00404F90,1,1,11,20,954023B4658B64E2F589187DFB2FEB7C,954023B4658B64E2F589187DFB2FEB7C,CE60BEDCC2CF8A6D98FA13E6BB596489,6008137B4814F1E19CA8B90BB4FEC645,D2E95456870442F4F3E01B24D273FA84,BF89DC1FE5ADEF6E95826610ADDCC598,3376C1FA6B24EC0C4D99FD4392DA7EB5,mov:3;pop:6;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:10
OPTI[MARCH]: Function analysis: 11% [##-------------] 70D3ABCCEDC43A1CE0768AA2C269A89A37,0x004053C3,1,1,4,9,7BE445B0638567766A9856AAF75B4229,7BE445B0638567766A9856AAF75B4229,D323860E4A05068E94EF9BACE994AF76,B4F647BF49F2D191779756CC4FE3ADDC,E246477028702CDAE90D67E126BDD8B2,670D1977A78C0BBB9D016B3BB13D1444,F74B84EF67A574F2E3E68F529FEB56EE,cmp:1;ret:1;setne:1;xor:1,BR:1;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 11% [##-------------] 71D3ABCCEDC43A1CE0768AA2C269A89A37,0x004053D5,3,3,19,41,E6A5D2D9B42D8FC65D40EA843537D522,E6A5D2D9B42D8FC65D40EA843537D522,70874DCB4D3E844B590BEBA03065B538,8651CA8CA95FD0C9DFA97640DE6DE539,9CA1CF7BE8C5F081609BD0320610D64C,DB15F81D880197AFC808A02806E48E5C,44AF8A69E40679B32EA8ED782517DFBD,add:3;cmp:1;jl:1;mov:9;pop:2;push:2;ret:1,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:3;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:13
OPTI[MARCH]: Function analysis: 11% [##-------------] 72D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040586E,1,1,3,4,EEB1F5C3B9CDDD4A4462D4A3E5559212,EEB1F5C3B9CDDD4A4462D4A3E5559212,6989E6DAFCBA60E15C1CB0A1DA51CA23,87525EEFF08EFD3158FEE94BEE4E94E3,54DED398F10F426EF6177CFF650C6378,0D58488901CA959A79579EDBBC84302F,8D550B52913D131E3DD65206C6396BD7,inc:1;ret:1;xor:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 11% [##-------------] 73D3ABCCEDC43A1CE0768AA2C269A89A37,0x00405E70,37,36,120,305,8AE2390AA9164CE8D11D80895832E62A,6CD756AA31D9AB016BDEB55E4B34B4AD,9B55BD4AF6C0DFEE84C6F19E29E7315B,2EF43193688993D965B938E1A5BD7E96,7D216332593CB2364AAED12F7797EAF1,C9E319B182150CD8C37155A3D4F526A5,C705BFED0A239F76B61E9E13523CB909,add:5;and:7;cmp:3;dec:6;inc:2;jb:2;je:13;jmp:3;jne:10;lea:5;mov:21;movdqa:9;neg:2;pop:4;push:4;pxor:1;rep_stosd:1;ret:3;shl:2;shr:5;sub:4;test:5;xor:3,BR:31;CMP:8;CRYPTO:0;FLT:0;I/O:0;LOGIC:17;MATH:24;SIMD:10;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:29
OPTI[MARCH]: Function analysis: 11% [##-------------] 74D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040626B,1,1,2,6,775C9EF082D33A1552313EF39B508E0E,B9BA558B6B78B07BF5AC69CC51457A82,55A51D61B90DA521E0BD2BEF8B6028E9,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 11% [##-------------] 75D3ABCCEDC43A1CE0768AA2C269A89A37,0x004073C2,9,9,28,69,BC2DB2DCCB445A845397BB6DE8C6E4C5,331825751868DE2F9F2B2A5D07636AE2,AE94B5BCD3FADC0A54CFEEC095EA4767,EE459A7D7A2301C1B742EF07D67B42B6,735D697952866071FE75CE3A58FBF1BA,433534CF70B3F1B28D3982E22D7F33FF,CA84F1F9AA8B282D76951E7F72506705,call:2;cmp:3;jbe:2;jne:2;lea:1;mov:5;or:1;pop:4;push:5;ret:1;test:1;xor:1,BR:7;CMP:4;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:14
OPTI[MARCH]: Function analysis: 12% [##-------------] 76D3ABCCEDC43A1CE0768AA2C269A89A37,0x004074C7,1,1,2,3,F45569CF1C69CD3CFCF57BF0917A4EE1,F45569CF1C69CD3CFCF57BF0917A4EE1,CA51040AE11CF10EC74013DE3427998C,A7998BB970AC20CB4A64D9E80747B078,B819AFE0D8845F48B0DDB2F00D622272,F477C59266EC634D5FFDB6A15F3BB1E8,F76C2EDF71D11976D0EEAB3079517FFD,ret:1;xor:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 12% [##-------------] 77D3ABCCEDC43A1CE0768AA2C269A89A37,0x004080E0,1,1,2,5,BA0E3D951E0A0FF9607F5C1826367B56,BA0E3D951E0A0FF9607F5C1826367B56,02C6CDC69895F86A10AABFF28DA423D8,875D6B9EFF87B0FF6A7B4F3D14DBCAED,772A3967DFCB435B57808BEAF78AA251,F477C59266EC634D5FFDB6A15F3BB1E8,F76C2EDF71D11976D0EEAB3079517FFD,and:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 12% [##-------------] 78D3ABCCEDC43A1CE0768AA2C269A89A37,0x004081AC,1,1,13,33,A4D19F92FDA14F127B701871D7C24923,8AA0313ACABE981E340F799B859F6FDE,7CCD059F40F6433138922E4B24D18E85,48D90FE3D05E9B71E6B1BD0743565170,EDD6E4597877E6BAC1B79928872DBDCD,F50E2FBFFE12B5EB9E78AD2342CE3B73,40228C8E213F2ADD5AC05BC817043E2D,and:2;mov:6;not:1;or:1;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:4;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:8
OPTI[MARCH]: Function analysis: 12% [##-------------] 79D3ABCCEDC43A1CE0768AA2C269A89A37,0x004082A0,22,21,54,135,9CB2B70DC0682D322BA8886901B0BEC1,9CB2B70DC0682D322BA8886901B0BEC1,783829F53497D8AFD57D28597B421B65,C676A8F4A003C168FB5F501F13F0B323,D5890EC87503F518C45439611CB9D2C0,16C60C983E511CD7A407ECAC1D65C0B2,40E1C2EF1D8587FDFC8233B8927DD969,add:7;cmp:7;je:8;jmp:1;jne:9;mov:6;or:7;ret:2;sbb:1;shl:1;shr:1;test:3;xor:1,BR:20;CMP:10;CRYPTO:0;FLT:0;I/O:0;LOGIC:10;MATH:8;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:6
OPTI[MARCH]: Function analysis: 12% [##-------------] 80D3ABCCEDC43A1CE0768AA2C269A89A37,0x00408328,2,2,3,9,DC4AA9A1F9F3564D1E76CE49AAA4651A,BE1D9F4AC3520FBF9CAB53E087E922AB,53C59D56524594E9E5E42C249DFD989F,F0FE9924D9A11242DE6DD231A546652A,7D5757117A5D41DFE8FC6A8776A9CEBD,B1B7E5425E57A097476E430E3961C073,FD228D5D393E19FB5FD6A286F64E946B,call:1;push:1;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 12% [##-------------] 81D3ABCCEDC43A1CE0768AA2C269A89A37,0x00408331,2,2,2,9,9554E0698C1D653DFAF8698FD973C90D,2B511D3E9B6CF25561704B2F3C296463,00D4C36433BC4719D88AB49FB1726E36,6791FEE2E6A974C22365CF0B02A07DDB,CFFAF6F6DDEFCCD688F8AC9700E989D2,95A8BDB6B1F4AC5C3DA0C028F3AB8204,462E4031546C0CC3F726224EB36C35C5,call:1;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:0
OPTI[MARCH]: Function analysis: 12% [##-------------] 82D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040833A,5,5,16,52,B87590CD6D4B98A58B8AD8ECCC364A37,058A430677ADA00F3DCE11B236B26F6F,2857F23F0CF4027030AB5CE28CC726DD,5841DC93E6A9BA46D83FFB7F437F1C73,E91762D3B8FF2848F295983B4291EBD4,EE1CA17966D31B8FE3EDCCD6A5891991,E25889DB190DFF4099C208E02B99A5A2,call:3;jne:1;mov:4;pop:1;push:5;ret:1;test:1,BR:5;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:10
OPTI[MARCH]: Function analysis: 13% [##-------------] 83D3ABCCEDC43A1CE0768AA2C269A89A37,0x00408820,3,2,4,17,AF48C3506F93E91265A13F7FB86DB0D5,CF5C3877BB1D5FDDA1809477CA87EFC0,5FD299E0D2BCE568D3B32ED920418E0C,C04C2D7D4FC7E022E166E7DA777A483D,5A8D651FDD41F3BE7EAD73DB4F43CF93,7227BA3F7E42DFB91696EBA1F1790E8D,8156D7DD2B9F5B359847A58FF6BA2FDD,call:1;mov:1;push:1;ret:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:2
OPTI[MARCH]: Function analysis: 13% [##-------------] 84D3ABCCEDC43A1CE0768AA2C269A89A37,0x00408992,1,1,7,15,BFF5578F683C8E59D107752633D8C102,F363675C14F2E1E52D6576238596638C,7CA7B58C53743DC0D441CF7CF6305DB3,C718C230E0DBE7E187E6EE39A4F34498,509F916E5568203E0E9A404671915780,DAB88A92D2EA975AB837179956FA88FC,88145A58A893CA8BADF303C692ED9E74,mov:4;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:6
OPTI[MARCH]: Function analysis: 13% [##-------------] 85D3ABCCEDC43A1CE0768AA2C269A89A37,0x004089A1,6,6,19,40,EB73ABDA1B24C7025E43D14B5D901D7F,A2327DD61C2E3DFC83007731B8FF1A8E,F692564A4AFABC6471147C2F18A9651D,75D1F8E6B321E32B99BAA8941CEC9955,1B30CA9FC5EFB63904E4DFB888BCCBC4,2C8E266C2BC28EB9DFAD1905478F5F92,96EE2A5A0CB8BEB62A8E2DC4A2F1BA61,call:2;inc:1;je:2;mov:2;pop:3;push:3;ret:2;test:2;xor:2,BR:6;CMP:2;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:8
OPTI[MARCH]: Function analysis: 13% [##-------------] 86D3ABCCEDC43A1CE0768AA2C269A89A37,0x00408A0B,2,2,4,14,74ACAEEC645F8A890C60C20D9F38BC79,0F3E4FDD2DA761BA890663A47FEE7CAE,D0E6D97E3F389EC4A0660960585BB918,33B2CC978B3B9D9E6BB5E28CF81F2BED,451A7D85631CAB63A878BBFBDF127B8C,B0C13F53F94844C0B4B5C3E7117CCB01,1503E2B51C0433157B1ED188BD0067F6,call:1;push:1;ret:1;xor:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 13% [##-------------] 87D3ABCCEDC43A1CE0768AA2C269A89A37,0x00408A19,6,6,16,43,C29584467DEA51B85517BD5497146295,D9F123B44525E7AF1090789E4D95BEE2,0799B00EFFD54BBE18F8C545D4F69AC7,A1EFEF9312F585F2BC4573783306742F,FEEF9FB41ECB8289DC71719491A33ADF,D501CB89D0EF87ABC6BD06C8B301BDEE,6E928D4EDCBE8C8BBA7C128EECA06842,call:3;je:2;mov:2;pop:1;push:5;ret:1;test:2,BR:6;CMP:2;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:8
OPTI[MARCH]: Function analysis: 13% [##-------------] 88D3ABCCEDC43A1CE0768AA2C269A89A37,0x00408AA1,7,7,19,36,F2C31B62D4ECB2AB3D7EC68DFFD57099,F2C31B62D4ECB2AB3D7EC68DFFD57099,958B1E608A20C5899AB33D971DABACA1,A89843AABACA7AAB895601382A86077E,E874C632B738EF164193B964B38918E7,D022433331DE32236F0D41B38A311FC8,034019D727DD0B6987247C5B70F44071,add:1;call:1;cmp:1;jb:1;je:1;jmp:1;jne:1;mov:4;pop:2;push:2;ret:1;test:2;xor:1,BR:6;CMP:3;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:8
OPTI[MARCH]: Function analysis: 14% [##-------------] 89D3ABCCEDC43A1CE0768AA2C269A89A37,0x00408D04,5,5,16,38,D3A88EB03DB2FA1935F07E66D13E31D2,043A172D585E8DD9FEC2EC704346385B,4CA5859C5D454E2DC6B4348680EEB19C,8EA265AEBDB21671075E4627C49658B7,34B719081AC044C6CEB65A7A56FE0AFF,998FEB7C4F661CE117668C4213144A2C,7617B1E9447F790A55F4806C71238F48,cmp:2;inc:1;jb:1;je:1;mov:4;pop:2;push:1;ret:2;xor:2,BR:4;CMP:2;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:7
OPTI[MARCH]: Function analysis: 14% [##-------------] 90D3ABCCEDC43A1CE0768AA2C269A89A37,0x00409669,5,2,11,23,F63C1B92D107C5E371F5CAD19D8F250D,C4D53B5D4661D7AB10B383B1F20A9A84,0EF4FADA893BE7A321D51094D89A9404,F2425F9F9B1B0DE86678EBF7C76E4FA3,796BAACC03E23F321809027204F336F8,CF7E5BAC96171E923715C54A706335E7,D9B7EB9882CF2A8268CDCAB45C2CD564,cmp:1;jae:1;mov:4;pop:2;push:2;ret:1,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:8
OPTI[MARCH]: Function analysis: 14% [##-------------] 91D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040968F,5,2,11,23,49E8F48FA4EEAFA338DB41C29131DBCE,C4D53B5D4661D7AB10B383B1F20A9A84,0EF4FADA893BE7A321D51094D89A9404,F2425F9F9B1B0DE86678EBF7C76E4FA3,796BAACC03E23F321809027204F336F8,CF7E5BAC96171E923715C54A706335E7,D9B7EB9882CF2A8268CDCAB45C2CD564,cmp:1;jae:1;mov:4;pop:2;push:2;ret:1,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:8
OPTI[MARCH]: Function analysis: 14% [##-------------] 92D3ABCCEDC43A1CE0768AA2C269A89A37,0x004096B5,3,2,10,30,A868CADCE258B22F6F9A440D3BCEB203,DDEDAE3FAA713015F09E31EE72D3A719,9B4D31F3AE4B705EFE11B3CCD1C203FA,F44E296D6A05D4AE3454A560FE025407,CEBDAB065C585CC49C519D0778FDF7E5,CB0D0C1BB911D903BF3B7A03299904CE,44C875249AF03D7B7030B69BE75B4D24,call:1;mov:2;push:3;ret:1;setne:1;test:1;xor:1,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:5
OPTI[MARCH]: Function analysis: 14% [##-------------] 93D3ABCCEDC43A1CE0768AA2C269A89A37,0x004096E0,1,1,21,69,464BB09AA08F9BAD6407D12D9A772DBB,811CD12E227C10CBE2ADB732931501E6,7070816E8824A5F766514DF097116CA0,4D2B434465BDF383942B42741E8F1DC8,0F1AAB02191C4668636547A5831189B9,FE16AC851108686F79AE7D87D7657FC9,1CDFB73D257FD528F84A7A814F8A7DC4,lea:2;mov:8;push:7;ret:1;sub:1;xor:2,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:3;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:15
OPTI[MARCH]: Function analysis: 14% [##-------------] 94D3ABCCEDC43A1CE0768AA2C269A89A37,0x00409725,2,1,11,20,6D8F3966E9628C8669E9799EDFD35A32,6D8F3966E9628C8669E9799EDFD35A32,91BD60ED3E01A138F60136C565D0A0EF,6008137B4814F1E19CA8B90BB4FEC645,D2E95456870442F4F3E01B24D273FA84,BF89DC1FE5ADEF6E95826610ADDCC598,3376C1FA6B24EC0C4D99FD4392DA7EB5,mov:3;pop:6;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:10
OPTI[MARCH]: Function analysis: 14% [##-------------] 95D3ABCCEDC43A1CE0768AA2C269A89A37,0x004098CF,14,14,54,155,8402CBEACD3825352D2134E4F008CCC1,39E293512FCFA57FC7B51F843B5EB233,8CB07F462790BA57DFCC6D762E189E19,8CBBD18A5A70E91AE57643663994BBA8,A63A1E1A5DE64D18FCCC33F201FAA00D,A851D2218400B425D6D712733883FC6B,99D98AEBF442AFC9939CAE466E6DF4EB,and:2;call:5;cmp:2;je:2;jmp:2;jne:2;lea:2;leave:1;mov:12;not:2;or:2;pop:3;push:6;ret:1;shl:1;sub:1;test:2;xor:6,BR:12;CMP:4;CRYPTO:0;FLT:0;I/O:0;LOGIC:13;MATH:3;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:22
OPTI[MARCH]: Function analysis: 15% [##-------------] 96D3ABCCEDC43A1CE0768AA2C269A89A37,0x00409B16,1,1,7,15,A6848FC6157AB3B6B2DF71F9F01D234E,F363675C14F2E1E52D6576238596638C,7CA7B58C53743DC0D441CF7CF6305DB3,C718C230E0DBE7E187E6EE39A4F34498,509F916E5568203E0E9A404671915780,DAB88A92D2EA975AB837179956FA88FC,88145A58A893CA8BADF303C692ED9E74,mov:4;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:6
OPTI[MARCH]: Function analysis: 15% [##-------------] 97D3ABCCEDC43A1CE0768AA2C269A89A37,0x00409C28,2,2,5,16,39D56A1FB747AFCE5F7E3F74005FEF3A,21BB99DC0646AEDA21FEEF1BDE2F7EDA,122DE21CF43DA11BF1B3B6F93A51EEB4,C5EE0BDBB66EDA006073463581556EDA,CC505A7DEFC3DA54508FA468AE0B4ED8,B1E141102387DD3E14271AD517A8D444,059BD4DD3C49A2450983910C76331125,call:1;mov:1;push:1;ret:1;xor:1,BR:2;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:1;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:2
OPTI[MARCH]: Function analysis: 15% [##-------------] 98D3ABCCEDC43A1CE0768AA2C269A89A37,0x00409C38,1,1,7,15,E180EC2A2E2E51D1FD8791316F3AE272,F363675C14F2E1E52D6576238596638C,7CA7B58C53743DC0D441CF7CF6305DB3,C718C230E0DBE7E187E6EE39A4F34498,509F916E5568203E0E9A404671915780,DAB88A92D2EA975AB837179956FA88FC,88145A58A893CA8BADF303C692ED9E74,mov:4;pop:1;push:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:6
OPTI[MARCH]: Function analysis: 15% [##-------------] 99D3ABCCEDC43A1CE0768AA2C269A89A37,0x00409DD2,1,1,2,6,4F28BD7785EF5481C96CD2A0F14E74E5,B9BA558B6B78B07BF5AC69CC51457A82,55A51D61B90DA521E0BD2BEF8B6028E9,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 15% [##-------------] 100D3ABCCEDC43A1CE0768AA2C269A89A37,0x00409DD8,1,1,2,6,86620F1D43BC707C30BF3DAE2C1F48BE,B9BA558B6B78B07BF5AC69CC51457A82,55A51D61B90DA521E0BD2BEF8B6028E9,CF92BBDAE77FD2E5C82F15EE002E1231,12F4408892AFD4130F2041AB3577A464,D9CD7C03D5B961035AA1C5AE522BD8D4,31BF9F7B7828726215C76123939F5F2D,mov:1;ret:1,BR:1;CMP:0;CRYPTO:0;FLT:0;I/O:0;LOGIC:0;MATH:0;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:1
OPTI[MARCH]: Function analysis: 15% [##-------------] 101D3ABCCEDC43A1CE0768AA2C269A89A37,0x00409E93,7,7,29,66,A085457C299F17D0684CB9459ED6FD58,088C552852173B48083D11A9B96A58FF,993814B3D87A395739908C567509107B,675624BF2DC4479481CFF61F62FD7500,DC3242CABF409FE6A0BB537B3318A309,B3D5AA44E1F9ABC7A285CAC7001C1587,3391C789CF13750B8C9688B9F131E7BF,add:2;and:1;cmp:4;inc:1;ja:1;jb:1;je:1;lea:1;mov:4;pop:5;push:3;ret:3;sbb:1;xor:1,BR:6;CMP:4;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:5;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:12
OPTI[MARCH]: Function analysis: 16% [##-------------] 102D3ABCCEDC43A1CE0768AA2C269A89A37,0x00409F51,3,3,10,18,024D5E602A259070ED2887566C943AFD,024D5E602A259070ED2887566C943AFD,1D792344930E0F0ACD5899C20DB8029C,9ACB755CCF526E7B148BA97CD53424AD,8533E9ED63BD3DBF45ECBEC9F7902337,9D102016F2F6A0101FAE70CE833D7E71,70023C52CC8711BC3A8558AE5B58FFAD,cmp:1;inc:1;jne:1;mov:2;pop:1;push:1;ret:1;xor:2,BR:2;CMP:1;CRYPTO:0;FLT:0;I/O:0;LOGIC:2;MATH:1;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:4
OPTI[MARCH]: Function analysis: 16% [##-------------] 103D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040A3AE,8,8,26,74,4C63ED895DBA515A2567378CA181A194,E815D4054B7DC5B664352C3E8FC30001,4AA4EB59BE909452C90815D45712EF0D,B1102497BF14B1101BDB8257AB024E67,524A77E048C7BC9E91D04CB7CC6B4994,AE3881AD41198CCE310F14BAF074C494,680D4D2BE2C99BB6E360D47364B2E8D1,add:1;and:1;call:1;cmp:2;inc:2;je:1;jl:1;jmp:1;jne:1;lea:1;mov:3;pop:2;push:4;ret:1;test:1;xor:3,BR:6;CMP:3;CRYPTO:0;FLT:0;I/O:0;LOGIC:4;MATH:4;SIMD:0;STR:0;SYS:0;UNCAT:0;VMM:0;XFER:9
OPTI[MARCH]: Function analysis: 16% [##-------------] 104D3ABCCEDC43A1CE0768AA2C269A89A37,0x0040A44F,2,2,8,23,099E883BE6537ADE526B728677A9D969,DC9D21F51DA8B25A61D32AF27E084C7B,A4DEBFC15579D7F4C30EF845B91A2899,,,,,���I�����0����(�_/Vx:0;2GH(�p:�p:�ڡ�����p:�(�GH(�GH(����XFER0���FER:0
�P���0^/(�p���FER:0;
�����
0x0040A44F���������I�����XFERIC���GH8q9 ���@���`���:�x���x�����������O��������k���F0�/@���8S-Killed
root@0dbf71ad0c1f:/#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment