P2VectorFunction::enableTiming() crashes
Hi,
there is a problem with the enableTiming()
method when called on an P2VectorFunction
object. See e.g. this failed job. When executing the VectorFunctionBasicTest on mohr/timingTree we get a segault (valgrind output below). Not sure where this comes from, as the same test works for P1VectorFunction
and both just delegate the call down to their respective component functions.
==32487== Invalid write of size 8
==32487== at 0x480A15: operator= (shared_ptr_base.h:1122)
==32487== by 0x480A15: operator= (shared_ptr.h:296)
==32487== by 0x480A15: enableTiming (BufferedCommunication.hpp:104)
==32487== by 0x480A15: hyteg::Function<hyteg::P2Function<double> >::enableTiming(std::shared_ptr<walberla::timing::TimingTree<walberla::timing::WcPolicy> > const&) (Function.hpp:89)
==32487== by 0x45A91B: enableTiming (CSFVectorFunction.hpp:166)
==32487== by 0x45A91B: void hyteg::testVectorFunction<hyteg::P2VectorFunction<double> >(bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (VectorFunctionBasicTest.cpp:57)
==32487== by 0x4595B3: main (VectorFunctionBasicTest.cpp:129)
==32487== Address 0x230 is not stack'd, malloc'd or (recently) free'd