================================================================= ==19029==ERROR: AddressSanitizer: heap-use-after-free on address 0x62100001f500 at pc 0x00000051e490 bp 0x7ffda966ffa0 sp 0x7ffda966ff98 READ of size 32 at 0x62100001f500 thread T0 #0 0x51e48f in double __vector(4) Eigen::internal::ploadu(Eigen::internal::unpacket_traits::type const*) /mnt/Vers1/keyboardTest/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h:218:114 #1 0x52850d in void Eigen::internal::generic_dense_assignment_kernel >, Eigen::internal::evaluator, 0, Eigen::Stride<0, 0> > >, Eigen::internal::assign_op, 0>::assignPacket<32, 0, double __vector(4)>(long) /mnt/Vers1/keyboardTest/eigen3/Eigen/src/Core/AssignEvaluator.h:658:87 #2 0x5282fa in Eigen::internal::dense_assignment_loop >, Eigen::internal::evaluator, 0, Eigen::Stride<0, 0> > >, Eigen::internal::assign_op, 0>, 3, 0>::run(Eigen::internal::generic_dense_assignment_kernel >, Eigen::internal::evaluator, 0, Eigen::Stride<0, 0> > >, Eigen::internal::assign_op, 0>&) /mnt/Vers1/keyboardTest/eigen3/Eigen/src/Core/AssignEvaluator.h:416:23 #3 0x5280f2 in void Eigen::internal::call_dense_assignment_loop, Eigen::Map, 0, Eigen::Stride<0, 0> >, Eigen::internal::assign_op >(Eigen::Matrix&, Eigen::Map, 0, Eigen::Stride<0, 0> > const&, Eigen::internal::assign_op const&) /mnt/Vers1/keyboardTest/eigen3/Eigen/src/Core/AssignEvaluator.h:741:3 #4 0x527f24 in Eigen::Matrix& Eigen::PlainObjectBase >::_set_noalias, 0, Eigen::Stride<0, 0> > >(Eigen::DenseBase, 0, Eigen::Stride<0, 0> > > const&) /mnt/Vers1/keyboardTest/eigen3/Eigen/src/Core/PlainObjectBase.h:728:7 #5 0x527dc1 in Eigen::PlainObjectBase >::PlainObjectBase, 0, Eigen::Stride<0, 0> > >(Eigen::DenseBase, 0, Eigen::Stride<0, 0> > > const&) /mnt/Vers1/keyboardTest/eigen3/Eigen/src/Core/PlainObjectBase.h:537:7 #6 0x52656b in rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}::operator()(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&) const /mnt/Vers1/keyboardTest/./rnn.h:123:6 #7 0x52639d in rnnStack<16, 16, 2, 30, 2>::layer* std::transform::layer const*, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::layer*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}>(rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::layer*, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}) /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_algo.h:4216:14 #8 0x526268 in std::array::layer, 2ul> build::layer, 2ul>, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}, 0>(rnnStack<16, 16, 2, 30, 2>::layer const*, std::array::layer, 2ul>, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}) /mnt/Vers1/keyboardTest/./FRC.h:274:2 #9 0x525fc9 in rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const /mnt/Vers1/keyboardTest/./rnn.h:118:16 #10 0x5237db in generations::Individual, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> > generations::breed, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> > >(generations::Individual, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> > const&, generations::Individual, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> > const&, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) /mnt/Vers1/keyboardTest/./gens.h:57:10 #11 0x50f497 in generations::gen, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> >, std::array, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> >, 10ul>, 10>::advance(int) const /mnt/Vers1/keyboardTest/./gens.h:100:16 #12 0x50b36c in generations::Individual, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> >::test(std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> const&, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&, std::mutex*) /mnt/Vers1/keyboardTest/./gens.h:231:16 #13 0x51225f in long long generations::gen, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> >, std::array, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> >, 8ul>, 8>::test(std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> const&) /mnt/Vers1/keyboardTest/./gens.h:114:13 #14 0x50d62a in main /mnt/Vers1/keyboardTest/main.cpp:295:10 #15 0x7ffabf60b2b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0) #16 0x4201f9 in _start (/mnt/Vers1/keyboardTest/keyboardtest+0x4201f9) 0x62100001f500 is located 0 bytes inside of 4096-byte region [0x62100001f500,0x621000020500) freed by thread T0 here: #0 0x507df0 in operator delete(void*) (/mnt/Vers1/keyboardTest/keyboardtest+0x507df0) #1 0x527d4d in std::_Vector_base >::~_Vector_base() /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h:160:9 #2 0x526557 in rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}::operator()(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&) const /mnt/Vers1/keyboardTest/./rnn.h:123:6 #3 0x52639d in rnnStack<16, 16, 2, 30, 2>::layer* std::transform::layer const*, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::layer*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}>(rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::layer*, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}) /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_algo.h:4216:14 #4 0x526268 in std::array::layer, 2ul> build::layer, 2ul>, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}, 0>(rnnStack<16, 16, 2, 30, 2>::layer const*, std::array::layer, 2ul>, rnnStack<16, 16, 2, 30, 2>::layer const*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(rnnStack<16, 16, 2, 30, 2>::layer const&, rnnStack<16, 16, 2, 30, 2>::layer const&)#1}) /mnt/Vers1/keyboardTest/./FRC.h:274:2 #5 0x5237db in generations::Individual, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> > generations::breed, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> > >(generations::Individual, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> > const&, generations::Individual, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> > const&, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) /mnt/Vers1/keyboardTest/./gens.h:57:10 #6 0x50f497 in generations::gen, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> >, std::array, std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > >, long long, path::spacialRepresentation* const> >, 10ul>, 10>::advance(int) const /mnt/Vers1/keyboardTest/./gens.h:100:16 #7 0x50b36c in generations::Individual, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> >::test(std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> const&, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&, std::mutex*) /mnt/Vers1/keyboardTest/./gens.h:231:16 #8 0x51225f in long long generations::gen, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> >, std::array, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> >, 8ul>, 8>::test(std::tuple, std::allocator >, long long>, std::allocator, std::allocator >, long long> > > const&, int> const&) /mnt/Vers1/keyboardTest/./gens.h:114:13 previously allocated by thread T0 here: #0 0x507770 in operator new(unsigned long) (/mnt/Vers1/keyboardTest/keyboardtest+0x507770) #1 0x5272e0 in void std::vector >::_M_emplace_back_aux(double&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/vector.tcc:412:28 #2 0x526bf0 in std::vector > build >, double const*, double const*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(double, double)#1}>(double const*, std::vector >, double const*, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(double, double)#1}, rnnStack<16, 16, 2, 30, 2>::mutate_toward(rnnStack<16, 16, 2, 30, 2> const&, double, pcg_detail::extended<(unsigned char)6, (unsigned char)16, pcg_detail::engine, true, pcg_detail::specific_stream, pcg_detail::default_multiplier >, pcg_detail::engine, true, pcg_detail::oneseq_stream, pcg_detail::default_multiplier >, true>&) const::{lambda(double, double)#1}::allocator_type) /mnt/Vers1/keyboardTest/./FRC.h:310:2 SUMMARY: AddressSanitizer: heap-use-after-free /mnt/Vers1/keyboardTest/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h:218:114 in double __vector(4) Eigen::internal::ploadu(Eigen::internal::unpacket_traits::type const*) Shadow bytes around the buggy address: 0x0c427fffbe50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c427fffbe60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c427fffbe70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c427fffbe80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c427fffbe90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x0c427fffbea0:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c427fffbeb0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c427fffbec0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c427fffbed0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c427fffbee0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c427fffbef0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Heap right redzone: fb Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack partial redzone: f4 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==19029==ABORTING