Access Violation exception BSOD in UhciProcessDoneAsyncTd of usbuhci.sys?

Hi,

I am having a problem with certain USB Flash drives of a specific brand. When i connect that flash drive, sometimes i get the following BSOD on certain Windows 10 machines:

KMODE_EXCEPTION_NOT_HANDLED (1e)
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.
Arguments:
Arg1: ffffffffc0000005, The exception code that was not handled
Arg2: fffff80010c47500, The address that the exception occurred at
Arg3: 0000000000000000, Parameter 0 of the exception
Arg4: ffffffffffffffff, Parameter 1 of the exception

Call stack:

nt!KeBugCheckEx
nt!KiFatalExceptionHandler+0x22
nt!RtlpExecuteHandlerForException+0xf
nt!RtlDispatchException+0x430
nt!KiDispatchException+0x144
nt!KiExceptionDispatch+0xc2
nt!KiGeneralProtectionFault+0x30b
usbuhci!memcpy+0x80
usbuhci!UhciProcessDoneAsyncTd+0x14c
usbuhci!UhciPollAsyncEndpoint+0x710
usbuhci!UhciPollEndpoint+0x1a
USBPORT!USBPORT_iSetGlobalEndpointStateTx+0x1b4
USBPORT!USBPORT_Core_UsbHcIntDpc_Worker+0x309
USBPORT!USBPORT_Xdpc_Worker_HcIntDpc+0x217
nt!KiExecuteAllDpcs+0x2ec
nt!KiRetireDpcList+0x1ae
nt!KxRetireDpcList+0x5
nt!KiDispatchInterruptContinue
nt!KiDpcInterruptBypass+0x25
nt!KiInterruptDispatch+0xb1
0x00007ff7`adf50400

Anyone knows why is this happening? And if this is due to a problem with the flash drive’s driver, why is the BSOD happening in usbuhc.sys, which is a Microsoft driver?

What is the brand? UHCI is one of the two standards for USB 1.0 host controllers. Not 3, not 2, but the original USB 1. Are these being plugged in to antique computers? I haven’t seen a machine with UHCI in 20 years.

@Tim_Roberts said:
What is the brand? UHCI is one of the two standards for USB 1.0 host controllers. Not 3, not 2, but the original USB 1. Are these being plugged in to antique computers? I haven’t seen a machine with UHCI in 20 years.

The target machine is a ESXi windows 10 guest, so I’m not sure if it’s related to a VMware bug or not. And the brand is ADATA flash drive.

So why is this BSOD happening? And why the BSOD happens in the microsoft’s usbuhci.sys driver? Shouldn’t the BSOD happen in a third party USB driver related to ADATA or VMware?

@brad_H said:

The target machine is a ESXi windows 10 guest, so I’m not sure if it’s related to a VMware bug or not. And the brand is ADATA flash drive.

So why is this BSOD happening? And why the BSOD happens in the microsoft’s usbuhci.sys driver? Shouldn’t the BSOD happen in a third party USB driver related to ADATA or VMware?

The BSOD is a microsoft bug, but the vmware plumbing to pass through usb is likely also at fault, it just doesn’t manage to get any kernel components on the crash stack. USB pass through for vms is difficult to both get right and have decent performance.