segfault in ASP version

Issue #13 new
Bart Bogaerts created an issue

ASP support results in a segfault on the attached file.

Possibly related to issue #10

(this is a problem in saucy; the issue is a non-issue with bliss)

gringo ~/Downloads/ijp_expt_cases-2.dl -o smodels | ./BreakID -asp -t 300 -s 100 -v 0

Comments (3)

  1. JoD

    Valgrind gives the below, but it looks something deep in Saucy.

    ==158777== Memcheck, a memory error detector
    ==158777== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
    ==158777== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
    ==158777== Command: ./BreakID -f /tmp/gringo -asp -t 300 -s 100
    ==158777== 
    *** Reading instance: /tmp/gringo
    *** Creating first graph...
    *** Detecting symmetry group...
    ==158777== Invalid read of size 8
    ==158777==    at 0x485293F: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15CE0D: ref_nonsingle(saucy*, coloring*, int const*, int const*, int) (saucy.c:801)
    ==158777==    by 0x15D028: ref_nonsingle_undirected(saucy*, coloring*, int) (saucy.c:833)
    ==158777==    by 0x15D23A: refine(saucy*, coloring*) (saucy.c:872)
    ==158777==    by 0x15F716: saucy_search (saucy.c:1529)
    ==158777==    by 0x1422E7: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:97)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==  Address 0x57474e0 is 0 bytes after a block of size 30,720 alloc'd
    ==158777==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15F8A8: ints(int) (saucy.c:1552)
    ==158777==    by 0x15FAE9: saucy_alloc (saucy.c:1585)
    ==158777==    by 0x1422B3: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:95)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==    by 0x130837: std::__shared_ptr<LogicProgram, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:1342)
    ==158777==    by 0x130148: std::shared_ptr<LogicProgram>::shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr.h:409)
    ==158777== 
    ==158777== Invalid read of size 8
    ==158777==    at 0x4852947: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15CE0D: ref_nonsingle(saucy*, coloring*, int const*, int const*, int) (saucy.c:801)
    ==158777==    by 0x15D028: ref_nonsingle_undirected(saucy*, coloring*, int) (saucy.c:833)
    ==158777==    by 0x15D23A: refine(saucy*, coloring*) (saucy.c:872)
    ==158777==    by 0x15F716: saucy_search (saucy.c:1529)
    ==158777==    by 0x1422E7: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:97)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==  Address 0x57474e8 is 8 bytes after a block of size 30,720 alloc'd
    ==158777==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15F8A8: ints(int) (saucy.c:1552)
    ==158777==    by 0x15FAE9: saucy_alloc (saucy.c:1585)
    ==158777==    by 0x1422B3: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:95)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==    by 0x130837: std::__shared_ptr<LogicProgram, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:1342)
    ==158777==    by 0x130148: std::shared_ptr<LogicProgram>::shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr.h:409)
    ==158777== 
    ==158777== Invalid read of size 8
    ==158777==    at 0x485294F: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15CE0D: ref_nonsingle(saucy*, coloring*, int const*, int const*, int) (saucy.c:801)
    ==158777==    by 0x15D028: ref_nonsingle_undirected(saucy*, coloring*, int) (saucy.c:833)
    ==158777==    by 0x15D23A: refine(saucy*, coloring*) (saucy.c:872)
    ==158777==    by 0x15F716: saucy_search (saucy.c:1529)
    ==158777==    by 0x1422E7: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:97)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==  Address 0x57474f0 is 16 bytes after a block of size 30,720 alloc'd
    ==158777==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15F8A8: ints(int) (saucy.c:1552)
    ==158777==    by 0x15FAE9: saucy_alloc (saucy.c:1585)
    ==158777==    by 0x1422B3: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:95)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==    by 0x130837: std::__shared_ptr<LogicProgram, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:1342)
    ==158777==    by 0x130148: std::shared_ptr<LogicProgram>::shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr.h:409)
    ==158777== 
    ==158777== Invalid read of size 8
    ==158777==    at 0x4852934: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15CE0D: ref_nonsingle(saucy*, coloring*, int const*, int const*, int) (saucy.c:801)
    ==158777==    by 0x15D028: ref_nonsingle_undirected(saucy*, coloring*, int) (saucy.c:833)
    ==158777==    by 0x15D23A: refine(saucy*, coloring*) (saucy.c:872)
    ==158777==    by 0x15F716: saucy_search (saucy.c:1529)
    ==158777==    by 0x1422E7: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:97)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==  Address 0x57474f8 is 24 bytes after a block of size 30,720 in arena "client"
    ==158777== 
    ==158777== Invalid write of size 8
    ==158777==    at 0x485293B: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15CE0D: ref_nonsingle(saucy*, coloring*, int const*, int const*, int) (saucy.c:801)
    ==158777==    by 0x15D028: ref_nonsingle_undirected(saucy*, coloring*, int) (saucy.c:833)
    ==158777==    by 0x15D23A: refine(saucy*, coloring*) (saucy.c:872)
    ==158777==    by 0x15F716: saucy_search (saucy.c:1529)
    ==158777==    by 0x1422E7: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:97)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==  Address 0x5730c20 is 0 bytes after a block of size 30,720 alloc'd
    ==158777==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15F8A8: ints(int) (saucy.c:1552)
    ==158777==    by 0x15FAAA: saucy_alloc (saucy.c:1582)
    ==158777==    by 0x1422B3: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:95)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==    by 0x130837: std::__shared_ptr<LogicProgram, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:1342)
    ==158777==    by 0x130148: std::shared_ptr<LogicProgram>::shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr.h:409)
    ==158777== 
    ==158777== Invalid write of size 8
    ==158777==    at 0x4852943: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15CE0D: ref_nonsingle(saucy*, coloring*, int const*, int const*, int) (saucy.c:801)
    ==158777==    by 0x15D028: ref_nonsingle_undirected(saucy*, coloring*, int) (saucy.c:833)
    ==158777==    by 0x15D23A: refine(saucy*, coloring*) (saucy.c:872)
    ==158777==    by 0x15F716: saucy_search (saucy.c:1529)
    ==158777==    by 0x1422E7: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:97)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==  Address 0x5730c28 is 8 bytes after a block of size 30,720 alloc'd
    ==158777==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15F8A8: ints(int) (saucy.c:1552)
    ==158777==    by 0x15FAAA: saucy_alloc (saucy.c:1582)
    ==158777==    by 0x1422B3: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:95)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==    by 0x130837: std::__shared_ptr<LogicProgram, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:1342)
    ==158777==    by 0x130148: std::shared_ptr<LogicProgram>::shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr.h:409)
    ==158777== 
    ==158777== Invalid write of size 8
    ==158777==    at 0x485294B: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15CE0D: ref_nonsingle(saucy*, coloring*, int const*, int const*, int) (saucy.c:801)
    ==158777==    by 0x15D028: ref_nonsingle_undirected(saucy*, coloring*, int) (saucy.c:833)
    ==158777==    by 0x15D23A: refine(saucy*, coloring*) (saucy.c:872)
    ==158777==    by 0x15F716: saucy_search (saucy.c:1529)
    ==158777==    by 0x1422E7: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:97)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==  Address 0x5730c30 is 16 bytes after a block of size 30,720 alloc'd
    ==158777==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15F8A8: ints(int) (saucy.c:1552)
    ==158777==    by 0x15FAAA: saucy_alloc (saucy.c:1582)
    ==158777==    by 0x1422B3: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:95)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==    by 0x130837: std::__shared_ptr<LogicProgram, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:1342)
    ==158777==    by 0x130148: std::shared_ptr<LogicProgram>::shared_ptr<std::allocator<LogicProgram>, std::istream&>(std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr.h:409)
    ==158777== 
    ==158777== Invalid write of size 8
    ==158777==    at 0x4852953: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15CE0D: ref_nonsingle(saucy*, coloring*, int const*, int const*, int) (saucy.c:801)
    ==158777==    by 0x15D028: ref_nonsingle_undirected(saucy*, coloring*, int) (saucy.c:833)
    ==158777==    by 0x15D23A: refine(saucy*, coloring*) (saucy.c:872)
    ==158777==    by 0x15F716: saucy_search (saucy.c:1529)
    ==158777==    by 0x1422E7: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:97)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==  Address 0x5730c38 is 24 bytes after a block of size 30,720 in arena "client"
    ==158777== 
    ==158777== 
    ==158777== Process terminating with default action of signal 11 (SIGSEGV)
    ==158777==  Access not within mapped region at address 0x5A5A000
    ==158777==    at 0x485293F: memmove (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==158777==    by 0x15CE0D: ref_nonsingle(saucy*, coloring*, int const*, int const*, int) (saucy.c:801)
    ==158777==    by 0x15D028: ref_nonsingle_undirected(saucy*, coloring*, int) (saucy.c:833)
    ==158777==    by 0x15D23A: refine(saucy*, coloring*) (saucy.c:872)
    ==158777==    by 0x15F716: saucy_search (saucy.c:1529)
    ==158777==    by 0x1422E7: Graph::getSymmetryGeneratorsInternal(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:97)
    ==158777==    by 0x144A20: Graph::getSymmetryGenerators(std::vector<std::shared_ptr<Permutation>, std::allocator<std::shared_ptr<Permutation> > >&) (Graph.cpp:505)
    ==158777==    by 0x14AF28: LogicProgram::LogicProgram(std::istream&) (Theory.cpp:360)
    ==158777==    by 0x132DEA: void __gnu_cxx::new_allocator<LogicProgram>::construct<LogicProgram, std::istream&>(LogicProgram*, std::istream&) (new_allocator.h:162)
    ==158777==    by 0x1326EF: void std::allocator_traits<std::allocator<LogicProgram> >::construct<LogicProgram, std::istream&>(std::allocator<LogicProgram>&, LogicProgram*, std::istream&) (alloc_traits.h:516)
    ==158777==    by 0x131C4D: std::_Sp_counted_ptr_inplace<LogicProgram, std::allocator<LogicProgram>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::istream&>(std::allocator<LogicProgram>, std::istream&) (shared_ptr_base.h:519)
    ==158777==    by 0x130F3F: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<LogicProgram, std::allocator<LogicProgram>, std::istream&>(LogicProgram*&, std::_Sp_alloc_shared_tag<std::allocator<LogicProgram> >, std::istream&) (shared_ptr_base.h:650)
    ==158777==  If you believe this happened as a result of a stack
    ==158777==  overflow in your program's main thread (unlikely but
    ==158777==  possible), you can try to increase the size of the
    ==158777==  main thread stack using the --main-stacksize= flag.
    ==158777==  The main thread stack size used in this run was 8388608.
    ==158777== 
    ==158777== HEAP SUMMARY:
    ==158777==     in use at exit: 2,629,337 bytes in 13,225 blocks
    ==158777==   total heap usage: 62,700 allocs, 49,475 frees, 5,560,660 bytes allocated
    ==158777== 
    ==158777== LEAK SUMMARY:
    ==158777==    definitely lost: 0 bytes in 0 blocks
    ==158777==    indirectly lost: 0 bytes in 0 blocks
    ==158777==      possibly lost: 30,724 bytes in 1 blocks
    ==158777==    still reachable: 2,598,613 bytes in 13,224 blocks
    ==158777==         suppressed: 0 bytes in 0 blocks
    ==158777== Rerun with --leak-check=full to see details of leaked memory
    ==158777== 
    ==158777== For lists of detected and suppressed errors, rerun with: -s
    ==158777== ERROR SUMMARY: 634813 errors from 8 contexts (suppressed: 0 from 0)
    

  2. JoD

    I can’t make much sense of it. My thoughts right now are to move to bliss as automorphism detection tool, as it seems better supported, and we might be able to report a bug like this.

  3. Log in to comment