Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strange leak below FreeAddrInfoW on Chromium base and net unittests #438

Open
derekbruening opened this issue Nov 28, 2014 · 2 comments
Open

Comments

@derekbruening
Copy link
Contributor

From timurrrr@google.com on June 03, 2011 12:28:48

(base: couldn't identify the particular test case yet) http://build.chromium.org/p/chromium.fyi/builders/Windows%20Tests%20%28DrMemory%29/builds/4044/steps/memory%20test%3A%20base/logs/stdio LEAK 88 direct bytes 0x02df8538-0x02df8590 + 0 indirect bytes
#1 Ordinal496 WS2_32.dll+0x260c
#2 FreeAddrInfoW WS2_32.dll+0x2b76
#3 FreeAddrInfoW WS2_32.dll+0x2c61
#4 WSAProviderConfigChange WS2_32.dll+0x8c52
#5 RpcServerUseProtseqExW RPCRT4.dll+0x2743f
#6 I_RpcBCacheFree RPCRT4.dll+0x72a0
#7 I_RpcBCacheFree RPCRT4.dll+0x7328
#8 I_RpcBCacheFree RPCRT4.dll+0x6ad1
#9 I_RpcBCacheFree RPCRT4.dll+0x6c97
#10 GetModuleFileNameA KERNEL32.dll+0xb729

(net: reproducible on XP32 with --gtest_filter="HostRe_.A_Lookup_") http://build.chromium.org/p/chromium.fyi/builders/Windows%20Tests%20%28DrMemory%29/builds/4044/steps/memory%20test%3A%20net_1/logs/stdio LEAK 88 direct bytes 0x00377ad0-0x00377b28 + 0 indirect bytes
#1 Ordinal496 WS2_32.dll+0x260c
#2 FreeAddrInfoW WS2_32.dll+0x2b76
#3 FreeAddrInfoW WS2_32.dll+0x2c61
#4 WSAStringToAddressW WS2_32.dll+0x2838
#5 GetAddrInfoW WS2_32.dll+0x29d0
#6 getaddrinfo WS2_32.dll+0x2aca
#7 net::SystemHostResolverProc net\base\host_resolver_proc.cc:199
#8 net::RuleBasedHostResolverProc::Resolve net\base\mock_host_resolver.cc:256
#9 net::HostResolverProc::ResolveUsingPrevious net\base\host_resolver_proc.cc:78
#10 net::LookupAttemptHostResolverProc::Resolve net\base\host_resolver_impl_unittest.cc:226
#11 net::ResolveAddrInfo net\base\host_resolver_impl.cc:172
#12 net::HostResolverImpl::Job::DoLookup net\base\host_resolver_impl.cc:546
#13 DispatchToMethod<net::HostResolverImpl::Job,void (__thiscall net::HostResolverImpl::Job::_)(base::TimeTicks const &,unsigned int),base::TimeTicks,unsigned int> base\tuple.h:558
#14 RunnableMethod<net::HostResolverImpl::Job,void (__thiscall net::HostResolverImpl::Job::*)(base::TimeTicks const &,unsigned int),Tuple2<base::TimeTicks,unsigned int> >::Run base\task.h:338
#15 base::`anonymous namespace'::WorkItemCallback base\threading\worker_pool_win.cc:16
#16 RtlGUIDFromString ntdll.dll+0x2796d
#17 RtlGUIDFromString ntdll.dll+0x279ab
#18 RtlGUIDFromString ntdll.dll+0x27a6d
#19 RtlGUIDFromString ntdll.dll+0x27a44
#20 GetModuleFileNameA KERNEL32.dll+0xb729

So far I couldn't understand why the latter is reported (the getaddrinfo is matched with freeaddrinfo)

Original issue: http://code.google.com/p/drmemory/issues/detail?id=438

@derekbruening
Copy link
Contributor Author

From timurrrr@google.com on June 03, 2011 09:30:54

Maybe I'm not reading the dumpbin correctly
but could Ordinal496 be LocalFree? http://www.44342.com/vc-f957-t7860-p1.htm

@derekbruening
Copy link
Contributor Author

From timurrrr@google.com on June 03, 2011 09:54:59

Re-running the latter with _NT_SYMBOL_PATH trick gives a different stack:
LEAK 88 direct bytes 0x0037f130-0x0037f188 + 0 indirect bytes

1 operator new WS2_32.dll+0x260c

2 DTHREAD::CreateDThreadForCurrentThread WS2_32.dll+0x2b76

3 Prolog_v2 WS2_32.dll+0x2c61

4 WSAStringToAddressW WS2_32.dll+0x2838

5 GetAddrInfoW WS2_32.dll+0x29d0

6 getaddrinfo WS2_32.dll+0x2aca

7 net::SystemHostResolverProc c:\chromium\src\net\base\host_resolver_proc.cc:199

8 net::RuleBasedHostResolverProc::Resolve c:\chromium\src\net\base\mock_host_resolver.cc:256

9 net::ResolveAddrInfo c:\chromium\src\net\base\host_resolver_impl.cc:126

#10 net::HostResolverImpl::Job::DoLookup c:\chromium\src\net\base\host_resolver_impl.cc:531
#11 DispatchToMethod<...> c:\chromium\src\base\tuple.h:558
#12 RunnableMethod<...>::Run c:\chromium\src\base\task.h:332
#13 base::`anonymous namespace'::WorkItemCallback c:\chromium\src\base\threading\worker_pool_win.cc:16
#14 RtlpWorkerCallout ntdll.dll+0x2796d
#15 RtlpExecuteWorkerRequest ntdll.dll+0x279ab
#16 RtlpApcCallout ntdll.dll+0x27a6d
#17 RtlpWorkerThread ntdll.dll+0x27a44
#18 BaseThreadStart KERNEL32.dll+0xb729

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant