Skip to content

Cppyy test memory leak with valgrind job on clang 16 #240

@aaronj0

Description

@aaronj0
Collaborator

A passing test on the CI's cppyy test job contains a memory leak on with LLVM 16 that is unexpected and should be fixed

We seem to be calling an invalid delete[] operator when the Interpreter invokes the JitCall, during CPyCppyy's method execution pipeline (CPyCppyy::CPPMethod::Execute)

The test responsible is test_lowlevel/test06_ctypes_as_ref_and_ptr, something like:

# integer types
  i = POINTER(ctypes.c_short)();        ctd.set_short_ppa(i)
  assert i[0] ==  -1; assert i[1] ==  -2; assert i[2] ==  -3
  cppyy.ll.array_delete(i)

Valgrind report:

  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D711065: ???
  ==6998==    by 0x2D711030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bfac10 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D715065: ???
  ==6998==    by 0x2D715030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bfbc90 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D719065: ???
  ==6998==    by 0x2D719030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bfbc10 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D71D065: ???
  ==6998==    by 0x2D71D030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bfbb90 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D721065: ???
  ==6998==    by 0x2D721030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bfbb10 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D725065: ???
  ==6998==    by 0x2D725030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bf8290 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D729065: ???
  ==6998==    by 0x2D729030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bfbf90 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D72D065: ???
  ==6998==    by 0x2D72D030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bf8490 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D735065: ???
  ==6998==    by 0x2D735030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bf8c90 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D739065: ???
  ==6998==    by 0x2D739030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bf8d10 is in a rw- anonymous segment
  ==6998== 
  ==6998== Invalid free() / delete / delete[] / realloc()
  ==6998==    at 0x484CA8F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6998==    by 0x2D73D065: ???
  ==6998==    by 0x2D73D030: ???
  ==6998==    by 0x101045C2: Cpp::JitCall::Invoke(void*, Cpp::JitCall::ArgList, void*) const (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x101018D8: WrapperCall(void*, unsigned long, void*, void*, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x10101A72: Cppyy::CallV(void*, void*, unsigned long, void*) (in /home/runner/work/cppyy-backend/cppyy-backend/python/cppyy_backend/lib/libcppyy-backend.so)
  ==6998==    by 0x12DEFF95: GILCallV(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12DF2824: CPyCppyy::(anonymous namespace)::VoidExecutor::Execute(void*, void*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D70E7F: CPyCppyy::CPPMethod::ExecuteFast(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D7048B: CPyCppyy::CPPMethod::Execute(void*, long, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D67FA3: CPyCppyy::CPPFunction::Call(CPyCppyy::CPPInstance*&, _object* const*, unsigned long, _object*, CPyCppyy::CallContext*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==    by 0x12D76BF7: CPyCppyy::(anonymous namespace)::mp_vectorcall(CPyCppyy::CPPOverload*, _object* const*, unsigned long, _object*) (in /home/runner/work/cppyy-backend/CPyCppyy/build/libcppyy.so)
  ==6998==  Address 0x14bf8d90 is in a rw- anonymous segment
  ==6998== 

Activity

changed the title [-]Memory leak with valgrind job on clang 16[/-] [+]Cppyy test memory leak with valgrind job on clang 16[/+] on Apr 25, 2024
added
cppyyAffects python bindings with cppyy
on May 16, 2024
github-actions

github-actions commented on Dec 5, 2024

@github-actions
Contributor

This issue is stale because it has been open for 90 days with no activity.

github-actions

github-actions commented on Dec 20, 2024

@github-actions
Contributor

This issue was closed because it has been inactive for 14 days since being marked as stale.

mcbarton

mcbarton commented on Feb 21, 2025

@mcbarton
Collaborator

Are there still plans to fix this, or is this issue basically not to be fixed now since the llvm 16 cppyy job was disabled in the ci?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    cppyyAffects python bindings with cppyyto-fix

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @vgvassilev@aaronj0@mcbarton

        Issue actions

          Cppyy test memory leak with valgrind job on clang 16 · Issue #240 · compiler-research/CppInterOp