|
From: Ulrich H. <kni...@fr...> - 2017-03-04 17:49:24
|
Hi valgrind folk, I am currently transforming my build-slave from a virtual machine to a docker container. One step of my build is to run valgrind. The problem is that I now get new memory leaks that do not occur on the virtual machine. The errors come from libc and std::string, here is an example: ==11397== 101 bytes in 1 blocks are possibly lost in loss record 241 of 365 ==11397== at 0x4C29180: operator new(unsigned long) (vg_replace_malloc.c:324) ==11397== by 0x62ABE98: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==11397== by 0x4FD2F1: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (basic_string.tcc:138) ==11397== by 0x62ADC45: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==11397== by 0x4D6644: testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*) (gtest.cc:2555) ==11397== by 0x4B0798: __static_initialization_and_destruction_0(int, int) (ClassFilesManipulator_expensive_tests.cpp:166) ==11397== by 0x4B8F8B: _GLOBAL__sub_I_ClassFilesManipulator_expensive_tests.cpp (ClassFilesManipulator_expensive_tests.cpp:269) ==11397== by 0x55FE6C: __libc_csu_init (in /home/jenkins/CppLibraries/CppCodeBase/Generated/CompiledBinaries/LinuxMakeGccDebug/CodeAssistant_expensive_tests) ==11397== by 0x6A30AD4: (below main) (libc-start.c:246) Now I am not sure if this is a problem of running valgrind in a docker container or if my container has a different libc then my virtual machine which may cause the problem. Do you have experience with valgrind in a container and are there any known issues? Cheers Knitschi |