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

Uninits and leaks below WINMM.dll!waveOutGetNumDevs #454

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

Uninits and leaks below WINMM.dll!waveOutGetNumDevs #454

derekbruening opened this issue Nov 28, 2014 · 2 comments

Comments

@derekbruening
Copy link
Contributor

From timurrrr@google.com on June 10, 2011 11:48:18

Happens on Chromium media_unittests http://build.chromium.org/p/chromium.fyi/builders/Windows%20Tests%20%28DrMemory%29/builds/4125/steps/memory%20test%3A%20media/logs/stdio Repro:

#include <windows.h>
#include <mmsystem.h>

#pragma comment(lib, "winmm.lib")

#include <stdio.h>

int main() {
printf("Audio devices are %spresent\n", (::waveOutGetNumDevs() != 0) ? "" : "not ");
return 0;
}

w/o symbols they look like this:
Error #1: UNINITIALIZED READ: reading register eax
@0:00:04.387 in thread 1732
0x76b464d2 <WINMM.dll+0x64d2> WINMM.dll!waveOutMessage
0x76b463de <WINMM.dll+0x63de> WINMM.dll!waveOutMessage
0x76b46487 <WINMM.dll+0x6487> WINMM.dll!waveOutMessage
0x76b45fbb <WINMM.dll+0x5fbb> WINMM.dll!waveOutGetNumDevs
0x0040132d <test.exe+0x132d> test.exe!main
test.cpp:9
...

...
Error #87: LEAK 228 direct bytes 0x00157928-0x00157a0c + 32 indirect bytes
0x77e781f9 <RPCRT4.dll+0x81f9> RPCRT4.dll!I_RpcBCacheFree
0x77e781d0 <RPCRT4.dll+0x81d0> RPCRT4.dll!I_RpcBCacheFree
0x77e87685 <RPCRT4.dll+0x17685> RPCRT4.dll!I_RpcBindingIsClientLocal
0x77e87651 <RPCRT4.dll+0x17651> RPCRT4.dll!I_RpcBindingIsClientLocal
0x77e7e959 <RPCRT4.dll+0xe959> RPCRT4.dll!RpcBindingFromStringBindingW
0x76b46a1c <WINMM.dll+0x6a1c> WINMM.dll!waveOutMessage
0x76b46835 <WINMM.dll+0x6835> WINMM.dll!waveOutMessage
0x76b45fbb <WINMM.dll+0x5fbb> WINMM.dll!waveOutGetNumDevs
0x0040132d <test.exe+0x132d> test.exe!main
test.cpp:9

With symbols they look like this:
Error #1: UNINITIALIZED READ: reading register eax
@0:00:02.451 in thread 1528
0x76b464d2 <WINMM.dll+0x64d2> WINMM.dll!winmmGetPnpInfo
0x76b463de <WINMM.dll+0x63de> WINMM.dll!ClientPnpChange
0x76b46487 <WINMM.dll+0x6487> WINMM.dll!ClientUpdatePnpInfo
0x76b45fbb <WINMM.dll+0x5fbb> WINMM.dll!waveOutGetNumDevs
0x0040132d <test.exe+0x132d> test.exe!main
test.cpp:9
...

...
Error #92: LEAK 228 direct bytes 0x00157920-0x00157a04 + 32 indirect bytes
0x77e781f9 <RPCRT4.dll+0x81f9> RPCRT4.dll!AllocWrapper
0x77e781d0 <RPCRT4.dll+0x81d0> RPCRT4.dll!operator new
0x77e87685 <RPCRT4.dll+0x17685> RPCRT4.dll!LrpcCreateBindingHandle
0x77e87651 <RPCRT4.dll+0x17651> RPCRT4.dll!DCE_BINDING::CreateBindingHandle
0x77e7e959 <RPCRT4.dll+0xe959> RPCRT4.dll!RpcBindingFromStringBindingW
0x76b46a1c <WINMM.dll+0x6a1c> WINMM.dll!AudioSrvBinding
0x76b46835 <WINMM.dll+0x6835> WINMM.dll!ClientUpdatePnpInfo
0x76b45fbb <WINMM.dll+0x5fbb> WINMM.dll!waveOutGetNumDevs
0x0040132d <test.exe+0x132d> test.exe!main
test.cpp:9

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

@derekbruening
Copy link
Contributor Author

From timurrrr@google.com on June 10, 2011 08:52:05

WARNING: unknown ioctl 0x1d8000 => op 0
WARNING: unknown ioctl 0x1d8004 => op 1
WARNING: unknown ioctl 0x1d800c => op 3
WARNING: unknown ioctl 0x1d8010 => op 4
WARNING: unknown ioctl 0x1d8014 => op 5
WARNING: unknown ioctl 0x1d8024 => op 9
WARNING: unknown ioctl 0x1d8300 => op 192
WARNING: unknown ioctl 0x1d8304 => op 193
WARNING: unknown ioctl 0x1d8308 => op 194

@derekbruening
Copy link
Contributor Author

From timurrrr@google.com on July 28, 2011 03:54:10

Unsurprisingly, "::waveInGetNumDevs()" gives similar reports.
The unknown ioctls list is the same.

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