pybind11/tests/valgrind-numpy-scipy.supp
Yannick Jadoul 0f8d5f2eb6
Add a Valgrind build on debug Python 3.9 (#2746)
* Adding a valgrind build on debug Python 3.9

Co-authored-by: Boris Staletic <boris.staletic@gmail.com>

* Add Valgrind suppression files

- Introduce suppression file, populate it with a first suppression taken from CPython, and fix one leak in the tests
- Suppress leak in NumPy
- More clean tests!
- Tests with names a-e passing (except for test_buffer)
- Suppress multiprocessing errors
- Merge multiprocessing suppressions into other suppression files
- Numpy seems to be spelled with a big P
- Append single entry from valgrind-misc.supp to valgrind-python.supp, and make clear valgrind-python.supp is only CPython

Co-authored-by: Boris Staletic <boris.staletic@gmail.com>

* Enable test_virtual_functions with a workaround

* Add a memcheck cmake target

- Add a memcheck cmake target
- Reformat cmake
- Appease the formatting overlords - they are angry
- Format CMake valgrind target decently

* Update CI config to new action versions

* fix: separate memcheck from pytest

* ci: cleanup

* Merge Valgrind and other deadsnakes builds

Co-authored-by: Boris Staletic <boris.staletic@gmail.com>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
2021-01-15 21:07:31 +01:00

119 lines
2.5 KiB
Plaintext

# Valgrind suppression file for NumPy & SciPy errors and leaks in pybind11 tests
{
Leaks when importing NumPy
Memcheck:Leak
fun:malloc
fun:_PyMem_RawMalloc
fun:PyObject_Malloc
fun:_PyObject_GC_Alloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_NewVar
fun:tuple_alloc
fun:PyTuple_Pack
...
fun:__pyx_pymod_exec_*
}
{
Leaks when importing NumPy (bis)
Memcheck:Leak
fun:malloc
fun:_PyMem_RawMalloc
fun:PyObject_Malloc
fun:_PyObject_New
fun:PyCode_NewWithPosOnlyArgs
fun:PyCode_New
...
fun:__pyx_pymod_exec_*
}
{
Leaks when importing NumPy (tris)
Memcheck:Leak
fun:malloc
fun:_PyMem_RawMalloc
fun:PyObject_Malloc
fun:_PyObject_GC_Alloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_NewVar
fun:tuple_alloc
fun:_PyTuple_FromArray
fun:_PyObject_MakeTpCall
fun:_PyObject_VectorcallTstate
fun:PyObject_Vectorcall
fun:call_function
fun:_PyEval_EvalFrameDefault
fun:_PyEval_EvalFrame
fun:function_code_fastcall
fun:_PyFunction_Vectorcall
}
{
Leaks when importing NumPy (quater)
Memcheck:Leak
fun:malloc
fun:_PyMem_RawMalloc
fun:PyObject_Malloc
fun:_PyObject_GC_Alloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_NewVar
fun:tuple_alloc
fun:PyTuple_New
fun:r_object
fun:r_object
fun:r_object
fun:r_object
}
{
Leaks when importing NumPy (quinquies)
Memcheck:Leak
fun:malloc
fun:_PyMem_RawMalloc
fun:PyObject_Malloc
fun:_PyObject_GC_Alloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_NewVar
fun:tuple_alloc
fun:PyTuple_New
fun:dictiter_iternextitem
fun:list_extend
fun:_PyList_Extend
fun:PySequence_List
}
{
Leak when importing scipy.fft
Memcheck:Leak
fun:_Znwm
fun:PyInit_pypocketfft
fun:_PyImport_LoadDynamicModuleWithSpec
fun:_imp_create_dynamic_impl.constprop.3
fun:_imp_create_dynamic
fun:cfunction_vectorcall_FASTCALL
fun:PyVectorcall_Call
fun:_PyObject_Call
fun:PyObject_Call
fun:do_call_core
fun:_PyEval_EvalFrameDefault
fun:_PyEval_EvalFrame
fun:_PyEval_EvalCode
}
{
NumPy leaks when spawning a subprocess
Memcheck:Leak
fun:malloc
...
fun:_buffer_get_info
fun:array_getbuffer
fun:PyObject_GetBuffer
fun:__Pyx__GetBufferAndValidate*
fun:__pyx_f_5numpy_6random_13bit_generator_12SeedSequence_mix_entropy
fun:__pyx_pw_5numpy_6random_13bit_generator_12SeedSequence_1__init__
fun:type_call
fun:__Pyx__PyObject_CallOneArg
fun:__pyx_pw_5numpy_6random_13bit_generator_12BitGenerator_1__init__
}