Skip to content

VLD detects memory leaks in googletest library building project as Multi-threaded Debug #15

@netmonitoring

Description

@netmonitoring

VLD detects memory leaks in googletest library building project as Multi-threaded Debug (/MTd) (output below).

Building the project as Multi-threaded Debug DLL (/MDd), VLD does not catch whose leaks.

Visual Leak Detector read settings from: C:\test\build\bin\vld.ini
Visual Leak Detector Version 2.5.8 installed.
Running main() from C:\test\googletest\googletest\src\gtest_main.cc
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from AppUnitTest
[ RUN ] AppUnitTest.Test
[ OK ] AppUnitTest.Test (0 ms)
[----------] 1 test from AppUnitTest (1 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (4 ms total)
[ PASSED ] 1 test.
WARNING: Visual Leak Detector detected memory leaks!
---------- Block 844 at 0x00000000AE693C10: 64 bytes ----------
Leak Hash: 0x139C30F4, Count: 1, Total 64 bytes
Call Stack (TID 26640):
Data:
10 3C 69 AE D3 01 00 00 10 3C 69 AE D3 01 00 00 .<i..... .<i.....
10 3C 69 AE D3 01 00 00 01 01 CD CD CD CD CD CD .<i..... ........
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD ........ ........

---------- Block 842 at 0x00000000AE695090: 24 bytes ----------
Leak Hash: 0x34CD339C, Count: 1, Total 24 bytes
Call Stack (TID 26640):
ntdll.dll!RtlAllocateHeap()
d:\a01_work\43\s\src\vctools\crt\vcstartup\src\heap\new_scalar.cpp (35): app_unit_test.exe!operator new() + 0xA bytes
C:\test\googletest\googletest\src\gtest-port.cc (661): app_unit_test.exe!testing::internal::ThreadLocalRegistryImpl::GetThreadLocalsMapLocked() + 0x44 bytes
C:\test\googletest\googletest\src\gtest-port.cc (556): app_unit_test.exe!testing::internal::ThreadLocalRegistryImpl::OnThreadLocalDestroyed() + 0x5 bytes
C:\test\googletest\googletest\src\gtest-port.cc (683): app_unit_test.exe!testing::internal::ThreadLocalRegistry::OnThreadLocalDestroyed()
C:\test\googletest\googletest\include\gtest\internal\gtest-port.h (1532): app_unit_test.exe!testing::internal::ThreadLocal<std::vector<testing::internal::TraceInfo,std::allocatortesting::internal::TraceInfo > >::~ThreadLocal<std::vector<testing::internal::TraceInfo,std::allocatortesting::internal::TraceInfo > >() + 0x23 bytes
C:\test\googletest\googletest\src\gtest.cc (5599): app_unit_test.exe!testing::internal::UnitTestImpl::~UnitTestImpl() + 0x13 bytes
app_unit_test.exe!testing::internal::UnitTestImpl::scalar deleting destructor'() + 0x18 bytes C:\test\googletest\googletest\src\gtest.cc (5542): app_unit_test.exe!testing::UnitTest::~UnitTest() + 0x34 bytes app_unit_test.exe!testing::UnitTest::GetInstance'::2'::dynamic atexit destructor for 'instance''() + 0x12 bytes
minkernel\crts\ucrt\src\appcrt\startup\onexit.cpp (206): app_unit_test.exe!<lambda_d121dba8a4adeaf3a9819e48611155df>::operator()()
VCCRT\vcruntime\inc\internal_shared.h (204): app_unit_test.exe!__crt_seh_guarded_call::operator()<<lambda_6a47f4c8fd0152770a780fc1d70204eb>,<lambda_d121dba8a4adeaf3a9819e48611155df> &,<lambda_6aaa2265f5b6a89667e7d7630012e97a> >() + 0xA bytes
minkernel\crts\ucrt\inc\corecrt_internal.h (980): app_unit_test.exe!__acrt_lock_and_call<<lambda_d121dba8a4adeaf3a9819e48611155df> >()
minkernel\crts\ucrt\src\appcrt\startup\onexit.cpp (231): app_unit_test.exe!_execute_onexit_table()
minkernel\crts\ucrt\src\appcrt\startup\exit.cpp (226): app_unit_test.exe!<lambda_6e4b09c48022b2350581041d5f6b0c4c>::operator()() + 0xC bytes
VCCRT\vcruntime\inc\internal_shared.h (224): app_unit_test.exe!__crt_seh_guarded_call::operator()<<lambda_d80eeec6fff315bfe5c115232f3240e3>,<lambda_6e4b09c48022b2350581041d5f6b0c4c> &,<lambda_2358e3775559c9db80273638284d5e45> >() + 0xA bytes
minkernel\crts\ucrt\inc\corecrt_internal.h (980): app_unit_test.exe!__acrt_lock_and_call<<lambda_6e4b09c48022b2350581041d5f6b0c4c> >()
minkernel\crts\ucrt\src\appcrt\startup\exit.cpp (259): app_unit_test.exe!common_exit()
minkernel\crts\ucrt\src\appcrt\startup\exit.cpp (294): app_unit_test.exe!exit()
d:\a01_work\43\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl (297): app_unit_test.exe!__scrt_common_main_seh()
d:\a01_work\43\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl (331): app_unit_test.exe!__scrt_common_main()
d:\a01_work\43\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp (17): app_unit_test.exe!mainCRTStartup()
KERNEL32.DLL!BaseThreadInitThunk() + 0x14 bytes
ntdll.dll!RtlUserThreadStart() + 0x21 bytes
Data:
60 76 69 AE D3 01 00 00 10 3C 69 AE D3 01 00 00 `vi..... .<i.....
00 00 00 00 00 00 00 00 ........ ........

---------- Block 843 at 0x00000000AE697660: 16 bytes ----------
Leak Hash: 0xC8E434DD, Count: 1, Total 16 bytes
Call Stack (TID 26640):
Data:
90 50 69 AE D3 01 00 00 00 00 00 00 00 00 00 00 .Pi..... ........

---------- Block 841 at 0x00000000AE698640: 40 bytes ----------
Leak Hash: 0x57875347, Count: 1, Total 40 bytes
Call Stack (TID 26640):
ntdll.dll!RtlAllocateHeap()
d:\a01_work\43\s\src\vctools\crt\vcstartup\src\heap\new_scalar.cpp (35): app_unit_test.exe!operator new() + 0xA bytes
C:\test\googletest\googletest\src\gtest-port.cc (412): app_unit_test.exe!testing::internal::Mutex::ThreadSafeLazyInit() + 0xA bytes
C:\test\googletest\googletest\src\gtest-port.cc (341): app_unit_test.exe!testing::internal::Mutex::Lock()
C:\test\googletest\googletest\include\gtest\internal\gtest-port.h (1395): app_unit_test.exe!testing::internal::GTestMutexLock::GTestMutexLock() + 0x1A bytes
C:\test\googletest\googletest\src\gtest-port.cc (555): app_unit_test.exe!testing::internal::ThreadLocalRegistryImpl::OnThreadLocalDestroyed() + 0x11 bytes
C:\test\googletest\googletest\src\gtest-port.cc (683): app_unit_test.exe!testing::internal::ThreadLocalRegistry::OnThreadLocalDestroyed()
C:\test\googletest\googletest\include\gtest\internal\gtest-port.h (1532): app_unit_test.exe!testing::internal::ThreadLocal<std::vector<testing::internal::TraceInfo,std::allocatortesting::internal::TraceInfo > >::~ThreadLocal<std::vector<testing::internal::TraceInfo,std::allocatortesting::internal::TraceInfo > >() + 0x23 bytes
C:\test\googletest\googletest\src\gtest.cc (5599): app_unit_test.exe!testing::internal::UnitTestImpl::~UnitTestImpl() + 0x13 bytes
app_unit_test.exe!testing::internal::UnitTestImpl::scalar deleting destructor'() + 0x18 bytes C:\test\googletest\googletest\src\gtest.cc (5542): app_unit_test.exe!testing::UnitTest::~UnitTest() + 0x34 bytes app_unit_test.exe!testing::UnitTest::GetInstance'::2'::dynamic atexit destructor for 'instance''() + 0x12 bytes
minkernel\crts\ucrt\src\appcrt\startup\onexit.cpp (206): app_unit_test.exe!<lambda_d121dba8a4adeaf3a9819e48611155df>::operator()()
VCCRT\vcruntime\inc\internal_shared.h (204): app_unit_test.exe!__crt_seh_guarded_call::operator()<<lambda_6a47f4c8fd0152770a780fc1d70204eb>,<lambda_d121dba8a4adeaf3a9819e48611155df> &,<lambda_6aaa2265f5b6a89667e7d7630012e97a> >() + 0xA bytes
minkernel\crts\ucrt\inc\corecrt_internal.h (980): app_unit_test.exe!__acrt_lock_and_call<<lambda_d121dba8a4adeaf3a9819e48611155df> >()
minkernel\crts\ucrt\src\appcrt\startup\onexit.cpp (231): app_unit_test.exe!_execute_onexit_table()
minkernel\crts\ucrt\src\appcrt\startup\exit.cpp (226): app_unit_test.exe!<lambda_6e4b09c48022b2350581041d5f6b0c4c>::operator()() + 0xC bytes
VCCRT\vcruntime\inc\internal_shared.h (224): app_unit_test.exe!__crt_seh_guarded_call::operator()<<lambda_d80eeec6fff315bfe5c115232f3240e3>,<lambda_6e4b09c48022b2350581041d5f6b0c4c> &,<lambda_2358e3775559c9db80273638284d5e45> >() + 0xA bytes
minkernel\crts\ucrt\inc\corecrt_internal.h (980): app_unit_test.exe!__acrt_lock_and_call<<lambda_6e4b09c48022b2350581041d5f6b0c4c> >()
minkernel\crts\ucrt\src\appcrt\startup\exit.cpp (259): app_unit_test.exe!common_exit()
minkernel\crts\ucrt\src\appcrt\startup\exit.cpp (294): app_unit_test.exe!exit()
d:\a01_work\43\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl (297): app_unit_test.exe!__scrt_common_main_seh()
d:\a01_work\43\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl (331): app_unit_test.exe!__scrt_common_main()
d:\a01_work\43\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp (17): app_unit_test.exe!mainCRTStartup()
KERNEL32.DLL!BaseThreadInitThunk() + 0x14 bytes
ntdll.dll!RtlUserThreadStart() + 0x21 bytes
Data:
FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 ........ ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
D0 07 00 02 00 00 00 00 ........ ........

Visual Leak Detector detected 4 memory leaks (352 bytes).
Largest number used: 40773 bytes.
Total allocations: 127947 bytes.
Visual Leak Detector is now exiting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions