[wdmaudiodev] Re: wdmaudiodev Digest V7 #10

  • From: "David Roach" <david.roach@xxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 21 Jan 2010 23:56:01 -1000

In response to your BSOD, 0xC0000005 is an access violation, which means
that CPU is trying to write or read from memory that doesn't exist or is not
allowed. 

The stack trace indicates that the issue occurs when you are parsing a
registry key. The access violation likely has to do with reading the key
name, which might be malformed and causing this error. 

I would load the correct symbols, and then pay very close attention to the
key name and how it is being accessed.

Best,
David Roach


-------------------------

Date: Thu, 21 Jan 2010 23:06:09 +0800
Subject: [wdmaudiodev] BSOD at nt!CmpGetNameControlBlock+ff (Vista 32bit
SP2)
From: KS <wakeup1504@xxxxxxxxx>

Hi,

I'm trying to carry out some stress testing by playing audio on an
audio device for 24 hours on a system running on Vista 32bit SP2. For
some reason, I'm getting some BSOD during the stress test which does
not seem to be related in any way to what I'm doing.

Below is the crash dump analysis of the 1st BSOD I get.

1: kd> !analyze -v
****************************************************************************
***
*
*
*                        Bugcheck Analysis
*
*
*
****************************************************************************
***

KERNEL_MODE_EXCEPTION_NOT_HANDLED (8e)
This is a very common bugcheck.  Usually the exception address pinpoints
the driver/function that caused the problem.  Always note this address
as well as the link date of the driver/image that contains this address.
Some common problems are exception code 0x80000003.  This means a hard
coded breakpoint or assertion was hit, but this system was booted
/NODEBUG.  This is not supposed to happen as developers should never have
hardcoded breakpoints in retail code, but ...
If this happens, make sure a debugger gets connected, and the
system is booted /DEBUG.  This will let us see why this breakpoint is
happening.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 81dedae3, The address that the exception occurred at
Arg3: 9c5d38ec, Trap Frame
Arg4: 00000000

Debugging Details:
------------------

*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx"
referenced memory at "0x%08lx". The memory could not be "%s".

FAULTING_IP:
nt!CmpGetNameControlBlock+ff
81dedae3 3b01            cmp     eax,dword ptr [ecx]

TRAP_FRAME:  9c5d38ec -- (.trap 0xffffffff9c5d38ec)
ErrCode = 00000000
eax=1b37ecd4 ebx=9c5d39a8 ecx=3c3e413c edx=0b1164a4 esi=a7326ae0
edi=8861a000
eip=81dedae3 esp=9c5d3960 ebp=9c5d3988 iopl=0         nv up ei pl nz na pe
nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000
efl=00010206
nt!CmpGetNameControlBlock+0xff:
81dedae3 3b01            cmp     eax,dword ptr [ecx]
ds:0023:3c3e413c=????????
Resetting default scope

DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT

BUGCHECK_STR:  0x8E

PROCESS_NAME:  svchost.exe

CURRENT_IRQL:  0

LAST_CONTROL_TRANSFER:  from 81c37918 to 81cddb0d

STACK_TEXT:
9c5d34ac 81c37918 0000008e c0000005 81dedae3 nt!KeBugCheckEx+0x1e
9c5d387c 81c5b83a 9c5d3898 00000000 9c5d38ec nt!KiDispatchException+0x1a9
9c5d38e4 81c5b7ee 9c5d3988 81dedae3 badb0d00 nt!CommonDispatchException+0x4a
9c5d3988 81ded573 00000010 015d39cf 8f7c1024 nt!Kei386EoiHelper+0x186
9c5d39bc 81de98b8 90391a20 00000020 007c1024
nt!CmpCreateKeyControlBlock+0x315
9c5d3a10 81e17af3 00000020 8f7c1024 010732d8
nt!CmpAddInfoAfterParseFailure+0x2e7
9c5d3b78 81e3d09a a7d36890 84084b08 abe4f990 nt!CmpParseKey+0x9db
9c5d3c08 81e4aaa2 00000610 9c5d3c60 00000040 nt!ObpLookupObjectName+0x11e
9c5d3c68 81e1841f 05fff5a8 84084b08 00000001 nt!ObOpenObjectByName+0x13c
9c5d3d34 81e18259 05fff698 00020019 05fff5a8 nt!CmOpenKey+0x1b1
9c5d3d50 81c5ac7a 05fff698 00020019 05fff5a8 nt!NtOpenKey+0x16
9c5d3d50 76ff5e74 05fff698 00020019 05fff5a8 nt!KiFastCallEntry+0x12a
05fff580 76ff4bf0 769b7b35 05fff698 00020019 ntdll!KiFastSystemCallRet
05fff584 769b7b35 05fff698 00020019 05fff5a8 ntdll!ZwOpenKey+0xc
05fff5e4 769b7cc4 00000610 05fff614 00000000
ADVAPI32!LocalBaseRegOpenKey+0xfe
05fff644 769b7bbc 80000002 03e9d752 00000000
ADVAPI32!RegOpenKeyExInternalW+0x10f
05fff664 736f4280 80000002 03e9d752 00000000 ADVAPI32!RegOpenKeyExW+0x1b
WARNING: Stack unwind information not available. Following frames may be
wrong.
05fff6a8 736f473d 03eb5360 80000002 00000000 mpengine!FreeSigFiles+0x1fe2e0
05fff6d8 736f5867 027a5728 05fff780 05fff744 mpengine!FreeSigFiles+0x1fe79d
05fff748 73727566 00000000 05fff780 00000004 mpengine!FreeSigFiles+0x1ff8c7
05fff7a0 736f1b8b 00000000 03d058d8 03fc9800 mpengine!FreeSigFiles+0x2315c6
05fff7bc 7351368d 03d05a18 03d058d8 03fc9800 mpengine!FreeSigFiles+0x1fbbeb
05fff7e4 73505312 03fc9800 03d058d8 00000002 mpengine!FreeSigFiles+0x1d6ed
05fff834 73504506 03d05838 03d05838 03d05838 mpengine!FreeSigFiles+0xf372
05fff884 734f5b19 00004026 0094ce5c 00000040 mpengine!FreeSigFiles+0xe566
05fff8d0 734f5e1e 00930840 00004026 0094ce5c mpengine+0x115b19
05fff8ec 742baf5d 00930840 00004026 0094ce5c mpengine!_rsignal+0x2e
05fffb44 742c3071 009307e8 00004026 0094ce5c mpsvc!ServiceCrtMain+0x422b
05fffb6c 742be9c6 0094cf78 7ffd9000 0083b340 mpsvc!ServiceCrtMain+0xc33f
05fffb84 742764cb 00946520 00109638 74276711 mpsvc!ServiceCrtMain+0x7c94
05fffb98 76fc65a1 0083b340 05fffb00 72faf53c
MpClient!MpDownloadAndUpdateSignaturesEx+0x2db8
05fffbd4 76fd3d2d 05fffc38 00109638 00113538 ntdll!RtlpTpWaitCallback+0x8f
05fffbfc 76fd2fcf 05fffc38 00113598 72faf3c4
ntdll!TppWaitpExecuteCallback+0xfe
05fffd2c 76d8d0e9 000ccae8 05fffd78 76fd19bb ntdll!TppWorkerThread+0x545
05fffd38 76fd19bb 000ccae8 72faf390 00000000
kernel32!BaseThreadInitThunk+0xe
05fffd78 76fd198e 76fd2d40 000ccae8 00000000 ntdll!__RtlUserThreadStart+0x23
05fffd90 00000000 76fd2d40 000ccae8 00000000 ntdll!_RtlUserThreadStart+0x1b


STACK_COMMAND:  kb

FOLLOWUP_IP:
nt!CmpGetNameControlBlock+ff
81dedae3 3b01            cmp     eax,dword ptr [ecx]

SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  nt!CmpGetNameControlBlock+ff

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: nt

IMAGE_NAME:  ntkrpamp.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  49e0199e

FAILURE_BUCKET_ID:  0x8E_nt!CmpGetNameControlBlock+ff

BUCKET_ID:  0x8E_nt!CmpGetNameControlBlock+ff

Followup: MachineOwner
---------

From the crash dump analysis, it seem to indicate that the crash
originate from MpClient, which is from Windows Defender. I disabled
Windows Defender and tried again, and got another BSOD.

0: kd> !analyze -v
****************************************************************************
***
*
*
*                        Bugcheck Analysis
*
*
*
****************************************************************************
***

KERNEL_MODE_EXCEPTION_NOT_HANDLED (8e)
This is a very common bugcheck.  Usually the exception address pinpoints
the driver/function that caused the problem.  Always note this address
as well as the link date of the driver/image that contains this address.
Some common problems are exception code 0x80000003.  This means a hard
coded breakpoint or assertion was hit, but this system was booted
/NODEBUG.  This is not supposed to happen as developers should never have
hardcoded breakpoints in retail code, but ...
If this happens, make sure a debugger gets connected, and the
system is booted /DEBUG.  This will let us see why this breakpoint is
happening.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 81e1eae3, The address that the exception occurred at
Arg3: aacac8c4, Trap Frame
Arg4: 00000000

Debugging Details:
------------------

*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************

OVERLAPPED_MODULE: Address regions for 'drmk' and 'drmk.sys' overlap

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx"
referenced memory at "0x%08lx". The memory could not be "%s".

FAULTING_IP:
nt!CmpGetNameControlBlock+ff
81e1eae3 3b01            cmp     eax,dword ptr [ecx]

TRAP_FRAME:  aacac8c4 -- (.trap 0xffffffffaacac8c4)
ErrCode = 00000000
eax=018c4201 ebx=aacac980 ecx=3c3e424b edx=31803aa5 esi=a5932cd0
edi=8861a000
eip=81e1eae3 esp=aacac938 ebp=aacac960 iopl=0         nv up ei pl nz na pe
nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000
efl=00010206
nt!CmpGetNameControlBlock+0xff:
81e1eae3 3b01            cmp     eax,dword ptr [ecx]
ds:0023:3c3e424b=????????
Resetting default scope

DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT

BUGCHECK_STR:  0x8E

PROCESS_NAME:  taskeng.exe

CURRENT_IRQL:  0

LAST_CONTROL_TRANSFER:  from 81c68918 to 81d0eb0d

STACK_TEXT:
aacac484 81c68918 0000008e c0000005 81e1eae3 nt!KeBugCheckEx+0x1e
aacac854 81c8c83a aacac870 00000000 aacac8c4 nt!KiDispatchException+0x1a9
aacac8bc 81c8c7ee aacac960 81e1eae3 badb0d00 nt!CommonDispatchException+0x4a
aacac960 81e1e573 00000010 01cac9a7 aacaca50 nt!Kei386EoiHelper+0x186
aacac978 81e460f6 00100010 a3a278a2 8ae97a00
nt!CmpCreateKeyControlBlock+0x315
00000000 00000000 00000000 00000000 00000000 nt!HvpGetCellMapped+0x27c


STACK_COMMAND:  kb

FOLLOWUP_IP:
nt!CmpGetNameControlBlock+ff
81e1eae3 3b01            cmp     eax,dword ptr [ecx]

SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  nt!CmpGetNameControlBlock+ff

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: nt

IMAGE_NAME:  ntkrpamp.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  49e0199e

FAILURE_BUCKET_ID:  0x8E_nt!CmpGetNameControlBlock+ff

BUCKET_ID:  0x8E_nt!CmpGetNameControlBlock+ff

Followup: MachineOwner
---------

I'm currently running MemTest86 on the system to check whether there's
any RAM issue but so far, no error has been detected. Does anyone know
what else could be causing these BSODs? Thanks.

KS

------------------------------

Date: Thu, 21 Jan 2010 09:27:47 -0800
From: Tim Roberts <timr@xxxxxxxxx>
Subject: [wdmaudiodev] Re: Streaming SPEEX encoded voice over USB Audio
class 1

Szabolcs Sandoly wrote:
>
>
>  
>
> We are in a process of developing drivers for a novel wireless headset
> and I have a concern regarding streaming SPEEX encoded voice over USB
> Audio class 1.0. Since SPEEX (or other voice coder) is not a supported
> format according to the USB Audio 1.0 specification, I am wondering if
> is there any trick to solve this streaming problem.
>
The USB Audio Class Formats spec says in section 3, "It is always
possible to use vendor-specific definitions if the above procedure [for
registering a new format] is considered unsatisfactory."

However, I don't know whether usbaudio.sys will know what to do with
that.  Usbaudio.sys is a fabulous resource, as long as you don't push
too hard on the sharp edges.  It may be that you need to use a filter
driver to coerce usbaudio into handling things for you.

-- 
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.




------------------------------

From: DJ Sisolak <dsisolak@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 21 Jan 2010 15:27:07 -0800
Subject: [wdmaudiodev] Re: WinUSB+usbaudio

If your interface is vendor defined then you should be able to load whatever
driver you want on that and it should work just fine with the USB class
drivers for HID and audio.
DJ

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Danijel Spasojevic
Sent: Friday, January 15, 2010 12:27 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] WinUSB+usbaudio

Hi Tim,

Thanks for your reply.
When you say interface you mean USB interface, right?
We already have Audio Control, 2xAudio Streaming and a HID interface in our
composite device.
If we add an additional interface which would use EP0 for Vendor specific
requests would we be able to load the WinUSB driver and have the inbox
drivers for audio and HID at the same time?

Thanks in advance.

Best regards,
Danijel



Date: Thu, 14 Jan 2010 13:54:27 +0100

From: Danijel Spasojevic
<danijel.spasojevic@xxxxxxxxx><mailto:danijel.spasojevic@xxxxxxxxx>

Subject: [wdmaudiodev] WinUSB+usbaudio



Hi,

Does anyone have any experience with WinUSB driver?

We are considering to use it for FW upgrade purposes for our USB audio

device (audio control+audio streaming+HID) but we are not sure if there

is a way to load this driver together with the inbox usbaudio and HID

drivers. We used a filter driver in the past but WinUSB seems much more

convenient. The available information on WinUSB are very limited.



Thanks in advance.



Danijel



------------------------------



Date: Thu, 14 Jan 2010 09:37:50 -0800

From: Tim Roberts <timr@xxxxxxxxx><mailto:timr@xxxxxxxxx>

Subject: [wdmaudiodev] Re: WinUSB+usbaudio



Danijel Spasojevic wrote:



Does anyone have any experience with WinUSB driver?

We are considering to use it for FW upgrade purposes for our USB audio

device (audio control+audio streaming+HID) but we are not sure if

there is a way to load this driver together with the inbox usbaudio

and HID drivers. We used a filter driver in the past but WinUSB seems

much more convenient. The available information on WinUSB are very

limited.





To use WinUSB as a driver, WinUSB must be "THE" driver for the

interface.  So, if you need usbaudio and/or HID on the interface, you

can't use WinUSB at the same time.





****************** WDMAUDIODEV addresses: Post message:
mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe:
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe:
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator:
mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/


------------------------------

End of wdmaudiodev Digest V7 #10
********************************
******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/



******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts:

  • » [wdmaudiodev] Re: wdmaudiodev Digest V7 #10 - David Roach