Giter VIP home page Giter VIP logo

voxbloxpy's Introduction

voxbloxpy CI pypi-version

voxblox is a ROS-based revolutionary project for online creation of signed distance field. This repository voxbloxpy provides the python-wrapper of the voxblox and some utils for volumetric rendering using plotly. This python package is standalone, that is, the package is ros-dependencies-free and can be installed from pypi.

The wrapper's core source code can be found in wrapper.cpp (lower-level) and python/voxbloxpy (higher-level) directory.

The following animation is created using point cloud collected by a robot rotating in our lab.

pr2_rotating_around_73b2room.mp4

This project is just a wrapper. So, please cite the paper (Oleynikova+, IROS 2017) for the original project when you use this in your research.

@inproceedings{oleynikova2017voxblox,
  author={Oleynikova, Helen and Taylor, Zachary and Fehr, Marius and Siegwart, Roland and  Nieto, Juan},
  booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  title={Voxblox: Incremental 3D Euclidean Signed Distance Fields for On-Board MAV Planning},
  year={2017}
}

Usage

from voxbloxpy import EsdfMap, CameraPose

esdf = EsdfMap(0.02)  # voxel size in meter
camera_pose = CameraPose(pos, quat_wxyz)  # set camera pose wrt world
esdf.udpate(camera_pose, cloud_wrt_camera)  # able to update as many as you want with different camera-cloud pair
sd_values = esdf.get_sd_batch(pts_wrt_world)

installation

NOTE: ROS not required

Install from pypi

sudo apt-get install libgoogle-glog-dev
pip3 install voxbloxpy

Note: Dependency on libgoogle-glog-dev is kind of a pain, though it can be resolved by apt install. I'm planning to remove this dependency by building glog from source and build a static library.

Source build

git clone https://github.com/HiroIshida/voxbloxpy.git
cd voxbloxpy
git submodule update --init
sudo apt-get install libeigen3-dev libgtest-dev libgflags-dev libgoogle-glog-dev libprotobuf-dev protobuf-compiler
pip3 install -e .

Run demo (real dataset)

download dataset (pickled pointcloud and camera poses)

pip3 install gdown  # if not installed yet
cd example/dataset/
./download_dataset.sh

The dataset is created by the scan when PR2 robot is directing toward the fridge with the opened door.

Then run esdf creation demo

python3 example/real_data.py --visualize

The bottom left figure shows the rviz-image at the scan time, and the bottom right figure shows the output of the visualization.

Run demo playing rosbag (you need to have ROS)

cd example/ros
bash download_rosbag.sh
roscore  # run in different terminal
rosbag play pr2_jsk_73b2_movearound.bag # run in different terminal
python3 example_node.py

The sequence of figures and interactive html will be dumped in /example/ros/figs. See the mp4 video at the top of this README for the visualization of the result.

voxbloxpy's People

Contributors

hiroishida avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

lanwu076

voxbloxpy's Issues

sd value collapse when voxel size < 0.05

After little experiments, I found that size = 0.5 is the critical point.
size = 0.5
aaa
size = 0.49
bbb

FYI, when using voxblox_ros with pr2 with voxel size = 0.02, it seems working well. But I'm not sure because, maybe the pointcloud is published well but after interpolation, it will collapse.
Screenshot from 2022-11-01 08-41-31

bug: memory leak on ApproxHashSset

Note

As for leak realted enum, the problem is already reported in
pybind/pybind11#3865

So, probably ApproxHashSset is the only thing we have to fix

reproduce

at v0.0.2 reproduce

export LD_PRELOAD=/lib/x86_64-linux-gnu/libasan.so.5
python3 incremetal_update.py 2> log.txt

output
log.txt

at v0.0.1, the shorted error message is outputted

h-ishida@stone-jsk:~/cpp/voxbloxpy/example$ python3 incremetal_update.py 

h-ishida@stone-jsk:~/cpp/voxbloxpy/example$ python3 incremetal_update.py 

=================================================================
==168826==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 8468608 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b81587 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cc:104
    #1 0x7f91c6176794 in __gnu_cxx::new_allocator<std::atomic<unsigned long> >::allocate(unsigned long, void const*) /usr/include/c++/9/ext/new_allocator.h:114
    #2 0x7f91c616c353 in std::allocator_traits<std::allocator<std::atomic<unsigned long> > >::allocate(std::allocator<std::atomic<unsigned long> >&, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:443
    #3 0x7f91c615d4c9 in std::_Vector_base<std::atomic<unsigned long>, std::allocator<std::atomic<unsigned long> > >::_M_allocate(unsigned long) /usr/include/c++/9/bits/stl_vector.h:343
    #4 0x7f91c6149938 in std::_Vector_base<std::atomic<unsigned long>, std::allocator<std::atomic<unsigned long> > >::_M_create_storage(unsigned long) /usr/include/c++/9/bits/stl_vector.h:358
    #5 0x7f91c612c52a in std::_Vector_base<std::atomic<unsigned long>, std::allocator<std::atomic<unsigned long> > >::_Vector_base(unsigned long, std::allocator<std::atomic<unsigned long> > const&) /usr/include/c++/9/bits/stl_vector.h:302
    #6 0x7f91c61123d0 in std::vector<std::atomic<unsigned long>, std::allocator<std::atomic<unsigned long> > >::vector(unsigned long, std::allocator<std::atomic<unsigned long> > const&) /usr/include/c++/9/bits/stl_vector.h:508
    #7 0x7f91c60f817c in voxblox::ApproxHashSet<20ul, 10000ul, Eigen::Matrix<long, 3, 1, 0, 3, 1>, voxblox::LongIndexHash>::ApproxHashSet() (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x3a017c)
    #8 0x7f91c60e0e74 in voxblox::FastTsdfIntegrator::FastTsdfIntegrator(voxblox::TsdfIntegratorBase::Config const&, voxblox::Layer<voxblox::TsdfVoxel>*) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x388e74)
    #9 0x7f91c60e4a16 in PyTsdfMap::PyTsdfMap(voxblox::Layer<voxblox::TsdfVoxel> const&) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x38ca16)
    #10 0x7f91c60e40f7 in PyTsdfMap::PyTsdfMap(float, int) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x38c0f7)
    #11 0x7f91c60e5e95 in PyEsdfMap::PyEsdfMap(voxblox::Layer<voxblox::EsdfVoxel> const&, float, float) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x38de95)
    #12 0x7f91c60e5ba2 in PyEsdfMap::PyEsdfMap(float, int, float, float) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x38dba2)
    #13 0x7f91c61374d8 in PyEsdfMap* pybind11::detail::initimpl::construct_or_initialize<PyEsdfMap, float, int, float, float, 0>(float&&, int&&, float&&, float&&) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x3df4d8)
    #14 0x7f91c611bfa1 in pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}::operator()(pybind11::detail::value_and_holder&, float, int, float, float) const (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x3c3fa1)
    #15 0x7f91c617a356 in void pybind11::detail::argument_loader<pybind11::detail::value_and_holder&, float, int, float, float>::call_impl<void, pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}&, 0ul, 1ul, 2ul, 3ul, 4ul, pybind11::detail::void_type>(pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>, pybind11::detail::void_type&&) && (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x422356)
    #16 0x7f91c6171b67 in std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::value_and_holder&, float, int, float, float>::call<void, pybind11::detail::void_type, pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}&>(pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}&) && (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x419b67)
    #17 0x7f91c6162938 in pybind11::cpp_function::initialize<pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}, void, pybind11::detail::value_and_holder&, float, int, float, float, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor>(pybind11::class_<PyEsdfMap>&&, void (*)(pybind11::detail::value_and_holder&, float, int, float, float), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::detail::is_new_style_constructor const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x40a938)
    #18 0x7f91c6162aae in pybind11::cpp_function::initialize<pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}, void, pybind11::detail::value_and_holder&, float, int, float, float, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor>(pybind11::class_<PyEsdfMap>&&, void (*)(pybind11::detail::value_and_holder&, float, int, float, float), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::detail::is_new_style_constructor const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x40aaae)
    #19 0x7f91c60d7b37 in pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x37fb37)
    #20 0x5f3988 in PyCFunction_Call (/usr/bin/python3.8+0x5f3988)

Direct leak of 8468608 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b81587 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cc:104
    #1 0x7f91c6176794 in __gnu_cxx::new_allocator<std::atomic<unsigned long> >::allocate(unsigned long, void const*) /usr/include/c++/9/ext/new_allocator.h:114
    #2 0x7f91c616c353 in std::allocator_traits<std::allocator<std::atomic<unsigned long> > >::allocate(std::allocator<std::atomic<unsigned long> >&, unsigned long) /usr/include/c++/9/bits/alloc_traits.h:443
    #3 0x7f91c615d4c9 in std::_Vector_base<std::atomic<unsigned long>, std::allocator<std::atomic<unsigned long> > >::_M_allocate(unsigned long) /usr/include/c++/9/bits/stl_vector.h:343
    #4 0x7f91c6149938 in std::_Vector_base<std::atomic<unsigned long>, std::allocator<std::atomic<unsigned long> > >::_M_create_storage(unsigned long) /usr/include/c++/9/bits/stl_vector.h:358
    #5 0x7f91c612c52a in std::_Vector_base<std::atomic<unsigned long>, std::allocator<std::atomic<unsigned long> > >::_Vector_base(unsigned long, std::allocator<std::atomic<unsigned long> > const&) /usr/include/c++/9/bits/stl_vector.h:302
    #6 0x7f91c61123d0 in std::vector<std::atomic<unsigned long>, std::allocator<std::atomic<unsigned long> > >::vector(unsigned long, std::allocator<std::atomic<unsigned long> > const&) /usr/include/c++/9/bits/stl_vector.h:508
    #7 0x7f91c60f817c in voxblox::ApproxHashSet<20ul, 10000ul, Eigen::Matrix<long, 3, 1, 0, 3, 1>, voxblox::LongIndexHash>::ApproxHashSet() (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x3a017c)
    #8 0x7f91c60e0e62 in voxblox::FastTsdfIntegrator::FastTsdfIntegrator(voxblox::TsdfIntegratorBase::Config const&, voxblox::Layer<voxblox::TsdfVoxel>*) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x388e62)
    #9 0x7f91c60e4a16 in PyTsdfMap::PyTsdfMap(voxblox::Layer<voxblox::TsdfVoxel> const&) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x38ca16)
    #10 0x7f91c60e40f7 in PyTsdfMap::PyTsdfMap(float, int) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x38c0f7)
    #11 0x7f91c60e5e95 in PyEsdfMap::PyEsdfMap(voxblox::Layer<voxblox::EsdfVoxel> const&, float, float) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x38de95)
    #12 0x7f91c60e5ba2 in PyEsdfMap::PyEsdfMap(float, int, float, float) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x38dba2)
    #13 0x7f91c61374d8 in PyEsdfMap* pybind11::detail::initimpl::construct_or_initialize<PyEsdfMap, float, int, float, float, 0>(float&&, int&&, float&&, float&&) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x3df4d8)
    #14 0x7f91c611bfa1 in pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}::operator()(pybind11::detail::value_and_holder&, float, int, float, float) const (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x3c3fa1)
    #15 0x7f91c617a356 in void pybind11::detail::argument_loader<pybind11::detail::value_and_holder&, float, int, float, float>::call_impl<void, pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}&, 0ul, 1ul, 2ul, 3ul, 4ul, pybind11::detail::void_type>(pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>, pybind11::detail::void_type&&) && (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x422356)
    #16 0x7f91c6171b67 in std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<pybind11::detail::value_and_holder&, float, int, float, float>::call<void, pybind11::detail::void_type, pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}&>(pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}&) && (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x419b67)
    #17 0x7f91c6162938 in pybind11::cpp_function::initialize<pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}, void, pybind11::detail::value_and_holder&, float, int, float, float, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor>(pybind11::class_<PyEsdfMap>&&, void (*)(pybind11::detail::value_and_holder&, float, int, float, float), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::detail::is_new_style_constructor const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x40a938)
    #18 0x7f91c6162aae in pybind11::cpp_function::initialize<pybind11::detail::initimpl::constructor<float, int, float, float>::execute<pybind11::class_<PyEsdfMap>, , 0>(pybind11::class_<PyEsdfMap>&)::{lambda(pybind11::detail::value_and_holder&, float, int, float, float)#1}, void, pybind11::detail::value_and_holder&, float, int, float, float, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::detail::is_new_style_constructor>(pybind11::class_<PyEsdfMap>&&, void (*)(pybind11::detail::value_and_holder&, float, int, float, float), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::detail::is_new_style_constructor const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x40aaae)
    #19 0x7f91c60d7b37 in pybind11::cpp_function::dispatcher(_object*, _object*, _object*) (/home/h-ishida/cpp/voxbloxpy/python/voxbloxpy/_voxbloxpy.cpython-38-x86_64-linux-gnu.so+0x37fb37)
    #20 0x5f3988 in PyCFunction_Call (/usr/bin/python3.8+0x5f3988)

Direct leak of 1005464 byte(s) in 320 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x5ba023 in PyObject_Malloc (/usr/bin/python3.8+0x5ba023)

Direct leak of 80523 byte(s) in 63 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x589ef6  (/usr/bin/python3.8+0x589ef6)

Direct leak of 23960 byte(s) in 17 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x4f08d9  (/usr/bin/python3.8+0x4f08d9)

Direct leak of 19944 byte(s) in 22 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x5d42e7 in PyDict_Copy (/usr/bin/python3.8+0x5d42e7)

Direct leak of 7559 byte(s) in 44 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x5b9597  (/usr/bin/python3.8+0x5b9597)

Direct leak of 4376 byte(s) in 7 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x53c017 in _PyObject_GC_NewVar (/usr/bin/python3.8+0x53c017)

Direct leak of 4040 byte(s) in 6 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x5f8a00 in PyBytes_FromStringAndSize (/usr/bin/python3.8+0x5f8a00)

Direct leak of 3397 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b7fc3e in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:163
    #1 0x59009c  (/usr/bin/python3.8+0x59009c)

Direct leak of 2808 byte(s) in 3 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x5a9cc6 in PyType_GenericAlloc (/usr/bin/python3.8+0x5a9cc6)

Direct leak of 672 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b7fc3e in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:163
    #1 0x53be71 in _PyObject_GC_Resize (/usr/bin/python3.8+0x53be71)

Direct leak of 412 byte(s) in 38 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x7f92351128f9 in PyUFunc_FromFuncAndDataAndSignatureAndIdentity (/home/h-ishida/.local/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so+0x35b8f9)

Direct leak of 64 byte(s) in 2 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x53dca0 in PyThread_allocate_lock (/usr/bin/python3.8+0x53dca0)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b7fc3e in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:163
    #1 0x7f9235112de0 in PyUFunc_FromFuncAndDataAndSignatureAndIdentity (/home/h-ishida/.local/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so+0x35bde0)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b7fc3e in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:163
    #1 0x7f9235112df8 in PyUFunc_FromFuncAndDataAndSignatureAndIdentity (/home/h-ishida/.local/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so+0x35bdf8)

Direct leak of 23 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x7f9235112938 in PyUFunc_FromFuncAndDataAndSignatureAndIdentity (/home/h-ishida/.local/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so+0x35b938)

Direct leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b7fc3e in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:163
    #1 0x7f9235112e13 in PyUFunc_FromFuncAndDataAndSignatureAndIdentity (/home/h-ishida/.local/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so+0x35be13)

Direct leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x7f923511299e in PyUFunc_FromFuncAndDataAndSignatureAndIdentity (/home/h-ishida/.local/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so+0x35b99e)

Direct leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x7f923511298d in PyUFunc_FromFuncAndDataAndSignatureAndIdentity (/home/h-ishida/.local/lib/python3.8/site-packages/numpy/core/_multiarray_umath.cpython-38-x86_64-linux-gnu.so+0x35b98d)

Indirect leak of 86832 byte(s) in 91 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x5a9cc6 in PyType_GenericAlloc (/usr/bin/python3.8+0x5a9cc6)

Indirect leak of 25279 byte(s) in 13 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x4f08d9  (/usr/bin/python3.8+0x4f08d9)

Indirect leak of 14649 byte(s) in 11 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x5ba023 in PyObject_Malloc (/usr/bin/python3.8+0x5ba023)

Indirect leak of 14458 byte(s) in 12 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x589ef6  (/usr/bin/python3.8+0x589ef6)

Indirect leak of 1344 byte(s) in 2 object(s) allocated from:
    #0 0x7f9239b7f808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x53c017 in _PyObject_GC_NewVar (/usr/bin/python3.8+0x53c017)

Indirect leak of 840 byte(s) in 1 object(s) allocated from:
    #0 0x7f9239b7fc3e in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:163
    #1 0x53be71 in _PyObject_GC_Resize (/usr/bin/python3.8+0x53be71)

SUMMARY: AddressSanitizer: 18233944 byte(s) leaked in 662 allocation(s).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.