CRITICAL STRUCTURE CORRUPTION

LaCroix
LaCroix New Member Posts: 5
edited July 2021 in UP Board Windows

Hello,

I noticed this error message on a system we are testing. My thought is that it may be related to the drivers I've installed for the GPIO. Has anyone encountered something similar?

Is there a table indicating the compatibility of each version of the EAPI SDK, Drivers, and BIOS?

We are running Win 10 Enterprise.

Comments

  • LaCroix
    LaCroix New Member Posts: 5

    This issue continues to appear. Using Microsoft Driver Verifier, I think the driver at fault is UpFramework.sys.

    Is there an updated version that addresses this bug?

    See crash dump from driver verifier below:

    DRIVER_VERIFIER_DETECTED_VIOLATION (c4)
    A device driver attempting to corrupt the system has been caught. This is
    because the driver was specified in the registry as being suspect (by the
    administrator) and the kernel has enabled substantial checking of this driver.
    If the driver attempts to corrupt the system, bugchecks 0xC4, 0xC1 and 0xA will
    be among the most commonly seen crashes.
    Arguments:
    Arg1: 0000000000002000, Code Integrity Issue: The caller specified an executable pool type. (Expected: NonPagedPoolNx)
    Arg2: fffff801410c98c5, The address in the driver's code where the error was detected.
    Arg3: 0000000000000000, Pool Type.
    Arg4: 0000000072465055, Pool Tag (if provided).

    Debugging Details:

    KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.Sec
    Value: 9
    
    Key  : Analysis.DebugAnalysisProvider.CPP
    Value: Create: 8007007e on NWT90057
    
    Key  : Analysis.DebugData
    Value: CreateObject
    
    Key  : Analysis.DebugModel
    Value: CreateObject
    
    Key  : Analysis.Elapsed.Sec
    Value: 11
    
    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 64
    
    Key  : Analysis.System
    Value: CreateObject
    

    BUGCHECK_CODE: c4

    BUGCHECK_P1: 2000

    BUGCHECK_P2: fffff801410c98c5

    BUGCHECK_P3: 0

    BUGCHECK_P4: 72465055

    PROCESS_NAME: System

    LOCK_ADDRESS: fffff80138ee0d40 -- (!locks fffff80138ee0d40)

    Resource @ nt!PiEngineLock (0xfffff80138ee0d40) Exclusively owned
    Threads: ffff8903ef5d2040-01<*>
    1 total locks

    PNP_TRIAGE_DATA:
    Lock address : 0xfffff80138ee0d40
    Thread Count : 1
    Thread address: 0xffff8903ef5d2040
    Thread wait : 0x24a

    STACK_TEXT:
    ffffd48b06f070b8 fffff80139358e43 : 00000000000000c4 0000000000002000 fffff801410c98c5 0000000000000000 : nt!KeBugCheckEx
    ffffd48b06f070c0 fffff80138db162b : fffff80138eb1300 0000000000002000 fffff801410c98c5 0000000000000000 : nt!VerifierBugCheckIfAppropriate+0xdf
    ffffd48b06f07100 fffff8013935064c : 0000000072465055 fffff80138eb1300 fffff801410c98c5 fffff8055efed448 : nt!VfReportIssueWithOptions+0x103
    ffffd48b06f07150 fffff80138db0222 : 0000000000000000 ffff8903f18e1de0 0000000000000000 fffff8013936ccb6 : nt!VfCheckPoolType+0x90
    ffffd48b06f07190 fffff8055ef6db4d : 0000000000000003 ffff9c81be36c000 ffff8903f192aba0 fffff8013936e0c3 : nt!VfCheckNxPoolType+0x12
    ffffd48b06f071c0 fffff801410c98c5 : 0000004431435055 0000000000000000 ffff8903f192aba0 0000000000000000 : Wdf01000!imp_WdfMemoryCreate+0x1b43d [minkernel\wdf\framework\shared\core\fxmemorybufferapi.cpp @ 136]
    ffffd48b06f07260 fffff801410d3153 : ffff890300000723 0000000000000000 0000000000000000 0000000000000000 : UPFramework+0x98c5
    ffffd48b06f072b0 fffff801410d37ee : 0000000000000000 000076fc0e6d5748 ffffd48b06f07450 ffff8903f19298b0 : UPFramework+0x13153
    ffffd48b06f07340 fffff8055efa7851 : 000076fc0e6d6748 0000000000000001 00000000000000ff fffff80138aa7000 : UPFramework+0x137ee
    ffffd48b06f07410 fffff8055efa776c : ffff8903ef5e4d70 ffff8903ef5e4d70 ffff8903ef5e4d70 0000000000000004 : Wdf01000!FxDriver::AddDevice+0xd1 [minkernel\wdf\framework\shared\core\km\fxdriverkm.cpp @ 72]
    ffffd48b06f07830 fffff80138cf8e51 : fffff8055efa7740 ffffd48b06f079b0 0000000000000000 fffff80138e01b30 : Wdf01000!FxDriver::AddDevice+0x2c [minkernel\wdf\framework\shared\core\km\fxdriverkm.cpp @ 47]
    ffffd48b06f07860 fffff8013911a496 : 0000000000000000 0000000000000003 ffff8903ef4f5970 ffffdb06d67febb0 : nt!PpvUtilCallAddDevice+0xeb89d
    ffffd48b06f078a0 fffff801390f4d9f : 0000000000000003 0000000000000000 ffffd48b06f07a30 0000000000000000 : nt!PnpCallAddDevice+0x56
    ffffd48b06f07930 fffff801390f404b : ffff8903ef4f5970 ffffd48b06f07b58 ffff8903ef4f5970 0000000000000000 : nt!PipCallDriverAddDevice+0x813
    ffffd48b06f07ae0 fffff8013916e191 : ffff8903f1efad00 ffffd48b06f07c01 ffffd48b06f07bf0 ffff890300000000 : nt!PipProcessDevNodeTree+0x1af
    ffffd48b06f07ba0 fffff80138c010a8 : ffff890100000003 ffff8903f1efad10 ffff9c8100000000 0000000000000000 : nt!PiProcessStartSystemDevices+0x59
    ffffd48b06f07bf0 fffff80138b0411a : ffff8903ef5d2040 fffff80138edf5e0 ffff8903ef4cfa50 ffff890300000000 : nt!PnpDeviceActionWorker+0x448
    ffffd48b06f07cb0 fffff80138bc86c5 : ffff8903ef5d2040 ffff8903ef4d2300 ffff8903ef5d2040 0000000000000000 : nt!ExpWorkerThread+0x16a
    ffffd48b06f07d50 fffff80138c5f49c : ffff9c81bda54180 ffff8903ef5d2040 fffff80138bc8670 0000000000000000 : nt!PspSystemThreadStartup+0x55
    ffffd48b06f07da0 0000000000000000 : ffffd48b06f08000 ffffd48b06f02000 0000000000000000 0000000000000000 : nt!KiStartSystemThread+0x1c

    SYMBOL_NAME: UPFramework+98c5

    MODULE_NAME: UPFramework

    IMAGE_NAME: UPFramework.sys

    STACK_COMMAND: .thread ; .cxr ; kb

    BUCKET_ID_FUNC_OFFSET: 98c5

    FAILURE_BUCKET_ID: 0xc4_2000_VRF_UPFramework!unknown_function

    OS_VERSION: 10.0.17763.1

    BUILDLAB_STR: rs5_release

    OSPLATFORM_TYPE: x64

    OSNAME: Windows 10

    FAILURE_ID_HASH: {ea3a62e6-97db-4c33-6bc1-ebfb0bf20b5d}

    Followup: MachineOwner

  • rogertsai(AAEON)
    rogertsai(AAEON) New Member Posts: 350 ✭✭✭

    @LaCroix
    Make sure you have the latest version of windos drivers, SDK and BIOS
    1. UP Board Windows 10 64-bit drivers
    2. SDK - UpFramework V21.04.22 and DemoApps
    3. BIOS R2.3 for 2GB and 4GB RAM of UP Board.

    https://downloads.up-community.org/

  • LaCroix
    LaCroix New Member Posts: 5

    @rogerstai(AAEON)

    We have updated the BIOS, SD, drivers set to the revisions you suggest. The driver stills fails the driver verifier check.

    We performed the driver verifier check according to these instructions.

    https://answers.microsoft.com/en-us/windows/forum/windows_10-update/driver-verifier-tracking-down-a-mis-behaving/f5cb4faf-556b-4b6d-95b3-c48669e4c983

  • rogertsai(AAEON)
    rogertsai(AAEON) New Member Posts: 350 ✭✭✭
    edited August 2021

    @LaCroix
    May I know which Demo app are you using? How does the BSoD occur? BSoD during UpFramework install or app run? From our experience, this error BSoD occurs if you run the older version of Demo app using the new UpFramework.
    So, please double check your Demo apps.
    https://github.com/aaeonaeu/win-demo-apps

    or instal our UWP Demo apps

  • LaCroix
    LaCroix New Member Posts: 5

    We are not running a demo app. We link our own software to the aaeonEAPI.dll and the accompanying header library, aaeonEAPI.lib. From there we make function calls to manipulate the GPIO via the functions specified in aaeonEAPI.h.

  • LaCroix
    LaCroix New Member Posts: 5

    The critical structure corruption occurs during runtime. The driver verifier fails UpFramework.sys immediately on booting up the computer.