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

Reply via email to