You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
==3173479== HEAP SUMMARY:
==3173479== in use at exit: 2,026,556 bytes in 1,523 blocks
==3173479== total heap usage: 21,861 allocs, 20,338 frees, 28,825,491 bytes allocated
==3173479==
==3173479== 1 bytes in 1 blocks are still reachable in loss record 1 of 723
==3173479== at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==3173479== by 0x587976: PyMem_Malloc (in /usr/bin/python3.12)
==3173479== by 0x582E89: PyModule_ExecDef (in /usr/bin/python3.12)
==3173479== by 0x5FDEE6: ??? (in /usr/bin/python3.12)
==3173479== by 0x5822A1: ??? (in /usr/bin/python3.12)
==3173479== by 0x5DBA02: PyEval_EvalFrameDefault (in /usr/bin/python3.12)
==3173479== by 0x549FF6: ??? (in /usr/bin/python3.12)
==3173479== by 0x54B882: PyObject_CallMethodObjArgs (in /usr/bin/python3.12)
==3173479== by 0x5FE2E4: PyImport_ImportModuleLevelObject (in /usr/bin/python3.12)
==3173479== by 0x5DCCDF: PyEval_EvalFrameDefault (in /usr/bin/python3.12)
==3173479== by 0x5D5E4A: PyEval_EvalCode (in /usr/bin/python3.12)
==3173479== by 0x5D39DB: ??? (in /usr/bin/python3.12)
==3173479==
==3173479== 1 bytes in 1 blocks are still reachable in loss record 2 of 723
==3173479== at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==3173479== by 0x4A4835E: strdup (strdup.c:42)
==3173479== by 0xA972A04F: operator() (pybind11.h:356)
==3173479== by 0xA972A04F: pybind11::cpp_function::initialize_generic(std::unique_ptr<pybind11::detail::function_record, pybind11::cpp_function::Init
ializingFunctionRecordDeleter>&&, char const*, std::type_info const* const*, unsigned long) (pybind11.h:386)
==3173479== by 0xA9753AE7: initialize<const pybind11::enumunum::usearch::metric_punned_signature_t::enum<>(const pybind11::handle&, char const*):
:<lambda(unum::usearch::metric_punned_signature_t)>&, int, unum::usearch::metric_punned_signature_t> (pybind11.h:328)
==3173479== by 0xA9753AE7: cpp_function<const pybind11::enum_unum::usearch::metric_punned_signature_t::enum_<>(const pybind11::handle&, char const*
)::<lambda(unum::usearch::metric_punned_signature_t)>&> (pybind11.h:127)
==3173479== by 0xA9753AE7: def_property_readonly<pybind11::enum_unum::usearch::metric_punned_signature_t::enum_<>(const pybind11::handle&, char con
st*)::<lambda(unum::usearch::metric_punned_signature_t)> > (pybind11.h:1753)
==3173479== by 0xA9753AE7: pybind11::enum_unum::usearch::metric_punned_signature_t::enum_<>(pybind11::handle const&, char const*) (pybind11.h:2238)
==3173479== by 0xA96DDE73: pybind11_init_compiled(pybind11::module_&) (lib.cpp:977)
==3173479== by 0xA96E26CE: PyInit_compiled (lib.cpp:957)
==3173479== by 0x6A9D80: ??? (in /usr/bin/python3.12)
==3173479== by 0x6A94D1: ??? (in /usr/bin/python3.12)
==3173479== by 0x582426: ??? (in /usr/bin/python3.12)
==3173479== by 0x5DBA02: PyEval_EvalFrameDefault (in /usr/bin/python3.12)
==3173479== by 0x549FF6: ??? (in /usr/bin/python3.12)
==3173479== by 0x54B882: PyObject_CallMethodObjArgs (in /usr/bin/python3.12)
==3173479==
==3173479== 1 bytes in 1 blocks are still reachable in loss record 3 of 723
==3173479== at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==3173479== by 0x4A4835E: strdup (strdup.c:42)
==3173479== by 0xA972A04F: operator() (pybind11.h:356)
==3173479== by 0xA972A04F: pybind11::cpp_function::initialize_generic(std::unique_ptr<pybind11::detail::function_record, pybind11::cpp_function::Init
ializingFunctionRecordDeleter>&&, char const*, std::type_info const* const*, unsigned long) (pybind11.h:386)
==3173479== by 0xA9752FD7: initialize<const pybind11::enumunum::usearch::metric_kind_t::enum_<>(const pybind11::handle&, char const*)::<lambda(unu
m::usearch::metric_kind_t)>&, unsigned char, unum::usearch::metric_kind_t> (pybind11.h:328)
==3173479== by 0xA9752FD7: cpp_function<const pybind11::enum_unum::usearch::metric_kind_t::enum_<>(const pybind11::handle&, char const*)::<lambda(u
num::usearch::metric_kind_t)>&> (pybind11.h:127)
==3173479== by 0xA9752FD7: def_property_readonly<pybind11::enum_unum::usearch::metric_kind_t::enum_<>(const pybind11::handle&, char const*)::<lambd
a(unum::usearch::metric_kind_t)> > (pybind11.h:1753)
==3173479== by 0xA9752FD7: pybind11::enum_unum::usearch::metric_kind_t::enum_<>(pybind11::handle const&, char const*) (pybind11.h:2238)
==3173479== by 0xA96DDEBA: pybind11_init_compiled(pybind11::module_&) (lib.cpp:981)
==3173479== by 0xA96E26CE: PyInit_compiled (lib.cpp:957)
==3173479== by 0x6A9D80: ??? (in /usr/bin/python3.12)
==3173479== by 0x6A94D1: ??? (in /usr/bin/python3.12)
==3173479== by 0x582426: ??? (in /usr/bin/python3.12)
==3173479== by 0x5DBA02: _PyEval_EvalFrameDefault (in /usr/bin/python3.12)
==3173479== by 0x549FF6: ??? (in /usr/bin/python3.12)
==3173479== by 0x54B882: PyObject_CallMethodObjArgs (in /usr/bin/python3.12)
Steps to reproduce
import numpy as np
from usearch.index import Index
num_vectors = 33
vector_dim = 128
vectors = np.random.rand(num_vectors, vector_dim).astype(np.float32)
index = Index(ndim=vector_dim)
for i in range(1,num_vectors):
key = i*7
index.add(key, vectors[i])
if i == 25:
example_index = key
query = vectors[25].reshape(1, -1) # Convert to a 2D array
query[0][0] = 0.8
results = index.search(query, count=3)
Describe the bug
trace is quite long, but seems many originate here
==3173479== HEAP SUMMARY:
==3173479== in use at exit: 2,026,556 bytes in 1,523 blocks
==3173479== total heap usage: 21,861 allocs, 20,338 frees, 28,825,491 bytes allocated
==3173479==
==3173479== 1 bytes in 1 blocks are still reachable in loss record 1 of 723
==3173479== at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==3173479== by 0x587976: PyMem_Malloc (in /usr/bin/python3.12)
==3173479== by 0x582E89: PyModule_ExecDef (in /usr/bin/python3.12)
==3173479== by 0x5FDEE6: ??? (in /usr/bin/python3.12)
==3173479== by 0x5822A1: ??? (in /usr/bin/python3.12)
==3173479== by 0x5DBA02: PyEval_EvalFrameDefault (in /usr/bin/python3.12)
==3173479== by 0x549FF6: ??? (in /usr/bin/python3.12)
==3173479== by 0x54B882: PyObject_CallMethodObjArgs (in /usr/bin/python3.12)
==3173479== by 0x5FE2E4: PyImport_ImportModuleLevelObject (in /usr/bin/python3.12)
==3173479== by 0x5DCCDF: PyEval_EvalFrameDefault (in /usr/bin/python3.12)
==3173479== by 0x5D5E4A: PyEval_EvalCode (in /usr/bin/python3.12)
==3173479== by 0x5D39DB: ??? (in /usr/bin/python3.12)
==3173479==
==3173479== 1 bytes in 1 blocks are still reachable in loss record 2 of 723
==3173479== at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==3173479== by 0x4A4835E: strdup (strdup.c:42)
==3173479== by 0xA972A04F: operator() (pybind11.h:356)
==3173479== by 0xA972A04F: pybind11::cpp_function::initialize_generic(std::unique_ptr<pybind11::detail::function_record, pybind11::cpp_function::Init
ializingFunctionRecordDeleter>&&, char const*, std::type_info const* const*, unsigned long) (pybind11.h:386)
==3173479== by 0xA9753AE7: initialize<const pybind11::enumunum::usearch::metric_punned_signature_t::enum<>(const pybind11::handle&, char const*):
:<lambda(unum::usearch::metric_punned_signature_t)>&, int, unum::usearch::metric_punned_signature_t> (pybind11.h:328)
==3173479== by 0xA9753AE7: cpp_function<const pybind11::enum_unum::usearch::metric_punned_signature_t::enum_<>(const pybind11::handle&, char const*
)::<lambda(unum::usearch::metric_punned_signature_t)>&> (pybind11.h:127)
==3173479== by 0xA9753AE7: def_property_readonly<pybind11::enum_unum::usearch::metric_punned_signature_t::enum_<>(const pybind11::handle&, char con
st*)::<lambda(unum::usearch::metric_punned_signature_t)> > (pybind11.h:1753)
==3173479== by 0xA9753AE7: pybind11::enum_unum::usearch::metric_punned_signature_t::enum_<>(pybind11::handle const&, char const*) (pybind11.h:2238)
==3173479== by 0xA96DDE73: pybind11_init_compiled(pybind11::module_&) (lib.cpp:977)
==3173479== by 0xA96E26CE: PyInit_compiled (lib.cpp:957)
==3173479== by 0x6A9D80: ??? (in /usr/bin/python3.12)
==3173479== by 0x6A94D1: ??? (in /usr/bin/python3.12)
==3173479== by 0x582426: ??? (in /usr/bin/python3.12)
==3173479== by 0x5DBA02: PyEval_EvalFrameDefault (in /usr/bin/python3.12)
==3173479== by 0x549FF6: ??? (in /usr/bin/python3.12)
==3173479== by 0x54B882: PyObject_CallMethodObjArgs (in /usr/bin/python3.12)
==3173479==
==3173479== 1 bytes in 1 blocks are still reachable in loss record 3 of 723
==3173479== at 0x4846828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==3173479== by 0x4A4835E: strdup (strdup.c:42)
==3173479== by 0xA972A04F: operator() (pybind11.h:356)
==3173479== by 0xA972A04F: pybind11::cpp_function::initialize_generic(std::unique_ptr<pybind11::detail::function_record, pybind11::cpp_function::Init
ializingFunctionRecordDeleter>&&, char const*, std::type_info const* const*, unsigned long) (pybind11.h:386)
==3173479== by 0xA9752FD7: initialize<const pybind11::enumunum::usearch::metric_kind_t::enum_<>(const pybind11::handle&, char const*)::<lambda(unu
m::usearch::metric_kind_t)>&, unsigned char, unum::usearch::metric_kind_t> (pybind11.h:328)
==3173479== by 0xA9752FD7: cpp_function<const pybind11::enum_unum::usearch::metric_kind_t::enum_<>(const pybind11::handle&, char const*)::<lambda(u
num::usearch::metric_kind_t)>&> (pybind11.h:127)
==3173479== by 0xA9752FD7: def_property_readonly<pybind11::enum_unum::usearch::metric_kind_t::enum_<>(const pybind11::handle&, char const*)::<lambd
a(unum::usearch::metric_kind_t)> > (pybind11.h:1753)
==3173479== by 0xA9752FD7: pybind11::enum_unum::usearch::metric_kind_t::enum_<>(pybind11::handle const&, char const*) (pybind11.h:2238)
==3173479== by 0xA96DDEBA: pybind11_init_compiled(pybind11::module_&) (lib.cpp:981)
==3173479== by 0xA96E26CE: PyInit_compiled (lib.cpp:957)
==3173479== by 0x6A9D80: ??? (in /usr/bin/python3.12)
==3173479== by 0x6A94D1: ??? (in /usr/bin/python3.12)
==3173479== by 0x582426: ??? (in /usr/bin/python3.12)
==3173479== by 0x5DBA02: _PyEval_EvalFrameDefault (in /usr/bin/python3.12)
==3173479== by 0x549FF6: ??? (in /usr/bin/python3.12)
==3173479== by 0x54B882: PyObject_CallMethodObjArgs (in /usr/bin/python3.12)
Steps to reproduce
Expected behavior
I guess there should be no memory issues :)
USearch version
2.17.2
Operating System
Ubuntu 24.04.1 LTS
Hardware architecture
x86
Which interface are you using?
Python bindings
Contact Details
No response
Are you open to being tagged as a contributor?
.git
history as a contributorIs there an existing issue for this?
Code of Conduct
The text was updated successfully, but these errors were encountered: