none
BSOD in winusb.sys when reading isochronous endpoint RRS feed

  • Question

  • Hi,

    I already posted to WIn10IT Pro and VC++ forum, but I've been suggested this one.

    We have a USB 2.0 device, that sends data to an isochronous endpoint.

    We use winusb API/driver to read the data from the device

    Randomly, we have crash/bsod in winusb.sys

    pCode: 

    WinUsb_RegisterIsochBuffer()
    
    Loop:
    WinUsb_ReadIsochPipeAsap()
    WinUsb_GetOverlappedResult()
    
    WinUsb_UnregisterIsochBuffer

    Crash occurs in all sort of win10 x64 machines (dev machines, test machines), latest updates.

    Win10 Pro x64 Version 1607 (OS Build 14393.693)

    We have lots of dumps, and call stack is always the same:

    STACK_TEXT:  
    WinUSB!WinUSB_ForwardIsochRequest+0x18f
    WinUSB!WinUSB_DeviceControl+0x216
    Wdf01000!FxIoQueue::DispatchRequestToDriver+0x1b7
    Wdf01000!FxIoQueue::DispatchEvents+0x3aa
    Wdf01000!FxPkgIo::DispatchStep1+0x52c
    Wdf01000!FxDevice::DispatchWithLock+0x6fb
    nt!IopSynchronousServiceTail+0x1a0
    nt!IopXxxControlFile+0x674
    nt!NtDeviceIoControlFile+0x56
    nt!KiSystemServiceCopyEnd+0x13
    0x00007ffe`785261b4

    I suspect isochronous implementation in winusb to be very flaky.

    Help from microsoft greatly appreciated.

    Thank you


    Tuesday, February 21, 2017 10:39 AM

All replies