Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Access Violation exception BSOD in UhciProcessDoneAsyncTd of usbuhci.sys?

brad_Hbrad_H Member Posts: 121

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?

Comments

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,373
    edited August 29

    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, [email protected]
    Providenza & Boekelheide, Inc.

  • brad_Hbrad_H Member Posts: 121

    @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?

  • Mark_RoddyMark_Roddy Member - All Emails Posts: 4,559

    @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.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Writing WDF Drivers 12 September 2022 Live, Online
Internals & Software Drivers 23 October 2022 Live, Online
Kernel Debugging 14 November 2022 Live, Online
Developing Minifilters 5 December 2022 Live, Online