Hi Matthew, We have sent you dump file with required information. Please let us know if you need more information. Regards, Dhaval On Wed, Jul 23, 2014 at 6:49 PM, Matthew van Eerde < Matthew.van.Eerde@xxxxxxxxxxxxx> wrote: > Hmm…. can you create a dump file of audiodg.exe in the hung state, and > send it to me off-list? > > > > 1. Set the DisableProtectedAudioDg registry key as described here: > http://msdn.microsoft.com/en-us/library/windows/hardware/ff538609(v=vs.85).aspx > > 2. Reboot (or just *net stop audiosrv* and *net start audiosrv*) so > the key change takes effect > > 3. Get into the hung state (*net stop audiosrv* should take the > place of shutting down so you can still interact with the computer) > > 4. Go into Task Manager | More details | Details | Find the > audiodg.exe process | Right-click | Create dump file > > > > Symbols for your APO .dll would also help. > > > > *From:* wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto: > wdmaudiodev-bounce@xxxxxxxxxxxxx] *On Behalf Of *Dhaval Kavar > *Sent:* Tuesday, July 22, 2014 11:48 PM > *To:* wdmaudiodev@xxxxxxxxxxxxx > *Subject:* [wdmaudiodev] audiodg.exe hangs while system is shutting down > on Windows 8.1 > > > > Hi All, > > We are developing an APO for Input devices. > > For echo cancellation, we use Loop-back feature and we use similar method > as described in: > *http://msdn.microsoft.com/en-us/library/windows/desktop/dd370800%28v=vs.85%29.aspx > <http://msdn.microsoft.com/en-us/library/windows/desktop/dd370800%28v=vs.85%29.aspx>* > > To capture the render audio data, we have a thread in APO. > > We are facing issues on Windows 8.1 OS (both 32bit and 64bit) that happen > in below use case: > a. Start Windows Sound Recorder. This will load our Input APO (MFX on > Windows 8.1 or LFX on Windows 7) in memory under audidg.exe. > b. Shutdown the Windows OS. > > When system is getting shutting down, input APO gets APO::UnlockForProcess > and then we make a call to IAudioClient -> Stop method. But, IAudioClient > -> Stop method hangs! This is issue 1. > > IAudioClient -> Stop executes in a capture thread and we wait for the > thread to complete its task. Because capture thread is already in hung > state WaitForSingleObject on thread handle times out. Then we release the > objects that we hold and IAudioCaptureClient -> Release hangs too. This is > issue number 2. > > *Some consequences that we saw on above hangs are as follows:* > Because audiodg.exe is in hung state, System does not shutdown properly > and "System" process (process ID: 4) makes the system to Sleep. We observe > this behavior via Event Viewer application where we can see an Event ID 42 > is added with "The system is entering sleep. Sleep Reason: Application API" > description. > > When we start the machine again, it starts in the same state where > audiodg.exe is in hung state! So, we cannot use input or output device > anymore unless we kill audiodg.exe and restart the audio services again. > > *More analysis:* > We saw that when we make IAudioClient -> Stop method call, > IAudioSessionEvents:: > > OnStateChanged -> AudioSessionStateInactive gets called on Windows 7 while > system is shutting down. But, same method does not executed on Windows 8.1! > > Any help or idea on how to solve these issues would be much appreciated. > > Regards, > Dhaval >