bkietz commented on PR #571: URL: https://github.com/apache/arrow-nanoarrow/pull/571#issuecomment-2276228301
Now valgrind is complaining about protobuf singletons which are not free'd before exit: ``` ==74086== ==74086== HEAP SUMMARY: ==74086== in use at exit: 17,120 bytes in 283 blocks ==74086== total heap usage: 5,783 allocs, 5,500 frees, 591,780 bytes allocated ==74086== ==74086== 160 bytes in 1 blocks are possibly lost in loss record 217 of 235 ==74086== at 0x4849F0F: operator new(unsigned long) (vg_replace_malloc.c:487) ==74086== by 0x760BFE8: bool absl::lts_20240116::container_internal::HashSetResizeHelper::InitializeSlots<std::allocator<char>, 8ul, true, 8ul>(absl::lts_20240116::conta iner_internal::CommonFields&, void*, std::allocator<char>) [clone .isra.0] (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x760EE3F: absl::lts_20240116::container_internal::raw_hash_set<absl::lts_20240116::container_internal::FlatHashSetPolicy<google::protobuf::internal::Descri ptorTable const*>, google::protobuf::(anonymous namespace)::GeneratedMessageFactory::DescriptorByNameHash, google::protobuf::(anonymous namespace)::GeneratedMessageFactory: :DescriptorByNameEq, std::allocator<google::protobuf::internal::DescriptorTable const*> >::resize(unsigned long) (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so. 25.3.0) ==74086== by 0x760F0A1: absl::lts_20240116::container_internal::raw_hash_set<absl::lts_20240116::container_internal::FlatHashSetPolicy<google::protobuf::internal::Descri ptorTable const*>, google::protobuf::(anonymous namespace)::GeneratedMessageFactory::DescriptorByNameHash, google::protobuf::(anonymous namespace)::GeneratedMessageFactory: :DescriptorByNameEq, std::allocator<google::protobuf::internal::DescriptorTable const*> >::prepare_insert(unsigned long) (in /home/ben/mambaforge/envs/nanoarrow/lib/libprot obuf.so.25.3.0) ==74086== by 0x7610491: google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) (in /home/ben/mambaforge/envs /nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x400647D: call_init.part.0 (dl-init.c:70) ==74086== by 0x4006567: call_init (dl-init.c:33) ==74086== by 0x4006567: _dl_init (dl-init.c:117) ==74086== by 0x40202C9: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) ==74086== by 0x1: ??? ==74086== by 0x1FFEFFE68A: ??? ==74086== by 0x1FFEFFE6AB: ??? ==74086== ==74086== 414 bytes in 16 blocks are possibly lost in loss record 230 of 235 ==74086== at 0x4849F0F: operator new(unsigned long) (vg_replace_malloc.c:487) ==74086== by 0x74E5F4A: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag ) [clone .constprop.0] (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750EF04: google::protobuf::DescriptorPool::Tables::Tables() (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750F172: google::protobuf::DescriptorPool::DescriptorPool(google::protobuf::DescriptorDatabase*, google::protobuf::DescriptorPool::ErrorCollector*) (in /h ome/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750F232: google::protobuf::DescriptorPool::internal_generated_pool() (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750F307: google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x75703CF: google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) (in /home/ben/mambafor ge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x400647D: call_init.part.0 (dl-init.c:70) ==74086== by 0x4006567: call_init (dl-init.c:33) ==74086== by 0x4006567: _dl_init (dl-init.c:117) ==74086== by 0x40202C9: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) ==74086== by 0x1: ??? ==74086== by 0x1FFEFFE68A: ??? ==74086== ==74086== 1,296 bytes in 1 blocks are possibly lost in loss record 234 of 235 ==74086== at 0x4849F0F: operator new(unsigned long) (vg_replace_malloc.c:487) ==74086== by 0x74E7487: bool absl::lts_20240116::container_internal::HashSetResizeHelper::InitializeSlots<std::allocator<char>, 40ul, false, 8ul>(absl::lts_20240116::con tainer_internal::CommonFields&, void*, std::allocator<char>) [clone .isra.0] (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750C68A: absl::lts_20240116::container_internal::raw_hash_set<absl::lts_20240116::container_internal::FlatHashMapPolicy<std::__cxx11::basic_string<char, s td::char_traits<char>, std::allocator<char> >, google::protobuf::Descriptor::WellKnownType>, absl::lts_20240116::container_internal::StringHash, absl::lts_20240116::contain er_internal::StringEq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, google::protobuf::Descriptor::WellKno wnType> > >::resize(unsigned long) (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750CA9F: absl::lts_20240116::container_internal::raw_hash_set<absl::lts_20240116::container_internal::FlatHashMapPolicy<std::__cxx11::basic_string<char, s td::char_traits<char>, std::allocator<char> >, google::protobuf::Descriptor::WellKnownType>, absl::lts_20240116::container_internal::StringHash, absl::lts_20240116::contain er_internal::StringEq, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, google::protobuf::Descriptor::WellKno wnType> > >::prepare_insert(unsigned long) (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750EED9: google::protobuf::DescriptorPool::Tables::Tables() (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750F172: google::protobuf::DescriptorPool::DescriptorPool(google::protobuf::DescriptorDatabase*, google::protobuf::DescriptorPool::ErrorCollector*) (in /h ome/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750F232: google::protobuf::DescriptorPool::internal_generated_pool() (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x750F307: google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) (in /home/ben/mambaforge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x75703CF: google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) (in /home/ben/mambafor ge/envs/nanoarrow/lib/libprotobuf.so.25.3.0) ==74086== by 0x400647D: call_init.part.0 (dl-init.c:70) ==74086== by 0x4006567: call_init (dl-init.c:33) ==74086== by 0x4006567: _dl_init (dl-init.c:117) ==74086== by 0x40202C9: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) ==74086== ==74086== LEAK SUMMARY: ==74086== definitely lost: 0 bytes in 0 blocks ==74086== indirectly lost: 0 bytes in 0 blocks ==74086== possibly lost: 1,870 bytes in 18 blocks ==74086== still reachable: 14,770 bytes in 264 blocks ==74086== suppressed: 480 bytes in 1 blocks ==74086== Reachable blocks (those to which a pointer was found) are not shown. ==74086== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==74086== ==74086== For lists of detected and suppressed errors, rerun with: -s ==74086== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 1 from 1) ``` I'll add a suppression for that as well. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org