Skip to content

Instantly share code, notes, and snippets.

@andreabedini
Created September 13, 2021 07:39
Show Gist options
  • Save andreabedini/c09e23c1175e6e4853c2546b88745191 to your computer and use it in GitHub Desktop.
Save andreabedini/c09e23c1175e6e4853c2546b88745191 to your computer and use it in GitHub Desktop.
souffle functor valgrind
[~/.../amt-souffle/test_functor] (master) valgrind ~/code/souffle/build_debug/src/souffle test.dl
==238126== Memcheck, a memory error detector
==238126== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==238126== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==238126== Command: /home/andrea/code/souffle/build_debug/src/souffle test.dl
==238126==
0
==238126== Use of uninitialised value of size 8
==238126== at 0x485A44E: std::pair<unsigned long, bool> souffle::ConcurrentFlyweight<souffle::SeqConcurrentLanes, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, souffle::details::Factory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::findOrInsert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (ConcurrentFlyweight.h:300)
==238126== by 0x4859FB4: std::pair<unsigned long, bool> souffle::SeqFlyweight<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, souffle::details::Factory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::findOrInsert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (ConcurrentFlyweight.h:470)
==238126== by 0x4859C8C: souffle::SymbolTable::encode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (SymbolTable.h:92)
==238126== by 0x4859416: test (functors.cpp:65)
==238126== by 0x4A83FF4: ??? (in /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0)
==238126== by 0x4A83409: ??? (in /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0)
==238126== by 0x4C07A1: souffle::interpreter::Engine::execute(souffle::interpreter::Node const*, souffle::interpreter::Context&)::{lambda()#7}::operator()() const (Engine.cpp:696)
==238126== by 0x4DC6BE: souffle::interpreter::Engine::execute(souffle::interpreter::Node const*, souffle::interpreter::Context&) (Engine.cpp:780)
==238126== by 0x5DF561: int souffle::interpreter::Engine::evalInsert<souffle::interpreter::Relation<1ul, souffle::interpreter::Btree> >(souffle::interpreter::Relation<1ul, souffle::interpreter::Btree>&, souffle::interpreter::Insert const&, souffle::interpreter::Context&) (Engine.cpp:1732)
==238126== by 0x4D8CD5: souffle::interpreter::Engine::execute(souffle::interpreter::Node const*, souffle::interpreter::Context&)::{lambda()#865}::operator()() const (Engine.cpp:1102)
==238126== by 0x4E49A0: souffle::interpreter::Engine::execute(souffle::interpreter::Node const*, souffle::interpreter::Context&) (Engine.cpp:1102)
==238126== by 0x52A4FB: int souffle::interpreter::Engine::evalScan<souffle::interpreter::Relation<1ul, souffle::interpreter::Btree> >(souffle::interpreter::Relation<1ul, souffle::interpreter::Btree> const&, souffle::ram::Scan const&, souffle::interpreter::Scan const&, souffle::interpreter::Context&) (Engine.cpp:1367)
==238126==
==238126== Invalid read of size 8
==238126== at 0x485A44E: std::pair<unsigned long, bool> souffle::ConcurrentFlyweight<souffle::SeqConcurrentLanes, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, souffle::details::Factory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::findOrInsert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (ConcurrentFlyweight.h:300)
==238126== by 0x4859FB4: std::pair<unsigned long, bool> souffle::SeqFlyweight<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, souffle::details::Factory<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::findOrInsert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (ConcurrentFlyweight.h:470)
==238126== by 0x4859C8C: souffle::SymbolTable::encode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (SymbolTable.h:92)
==238126== by 0x4859416: test (functors.cpp:65)
==238126== by 0x4A83FF4: ??? (in /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0)
==238126== by 0x4A83409: ??? (in /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0)
==238126== by 0x4C07A1: souffle::interpreter::Engine::execute(souffle::interpreter::Node const*, souffle::interpreter::Context&)::{lambda()#7}::operator()() const (Engine.cpp:696)
==238126== by 0x4DC6BE: souffle::interpreter::Engine::execute(souffle::interpreter::Node const*, souffle::interpreter::Context&) (Engine.cpp:780)
==238126== by 0x5DF561: int souffle::interpreter::Engine::evalInsert<souffle::interpreter::Relation<1ul, souffle::interpreter::Btree> >(souffle::interpreter::Relation<1ul, souffle::interpreter::Btree>&, souffle::interpreter::Insert const&, souffle::interpreter::Context&) (Engine.cpp:1732)
==238126== by 0x4D8CD5: souffle::interpreter::Engine::execute(souffle::interpreter::Node const*, souffle::interpreter::Context&)::{lambda()#865}::operator()() const (Engine.cpp:1102)
==238126== by 0x4E49A0: souffle::interpreter::Engine::execute(souffle::interpreter::Node const*, souffle::interpreter::Context&) (Engine.cpp:1102)
==238126== by 0x52A4FB: int souffle::interpreter::Engine::evalScan<souffle::interpreter::Relation<1ul, souffle::interpreter::Btree> >(souffle::interpreter::Relation<1ul, souffle::interpreter::Btree> const&, souffle::ram::Scan const&, souffle::interpreter::Scan const&, souffle::interpreter::Context&) (Engine.cpp:1367)
==238126== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==238126==
Segmentation violation signal in rule:
Out(@test(x)) :-
In(x).
in file /home/andrea/work/amt-souffle/test_functor/test.dl [11:1-11:24]
==238126==
==238126== HEAP SUMMARY:
==238126== in use at exit: 333,813 bytes in 3,559 blocks
==238126== total heap usage: 11,492 allocs, 7,933 frees, 789,935 bytes allocated
==238126==
==238126== LEAK SUMMARY:
==238126== definitely lost: 0 bytes in 0 blocks
==238126== indirectly lost: 0 bytes in 0 blocks
==238126== possibly lost: 0 bytes in 0 blocks
==238126== still reachable: 333,813 bytes in 3,559 blocks
==238126== of which reachable via heuristic:
==238126== multipleinheritance: 224 bytes in 4 blocks
==238126== suppressed: 0 bytes in 0 blocks
==238126== Rerun with --leak-check=full to see details of leaked memory
==238126==
==238126== Use --track-origins=yes to see where uninitialised values come from
==238126== For lists of detected and suppressed errors, rerun with: -s
==238126== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment