CRITICAL STRUCTURE CORRUPTION
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
-
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 locksPNP_TRIAGE_DATA:
Lock address : 0xfffff80138ee0d40
Thread Count : 1
Thread address: 0xffff8903ef5d2040
Thread wait : 0x24aSTACK_TEXT:
ffffd48b06f070b8 fffff801
39358e43 : 00000000000000c4 00000000
00002000 fffff801410c98c5 00000000
00000000 : nt!KeBugCheckEx
ffffd48b06f070c0 fffff801
38db162b : fffff80138eb1300 00000000
00002000 fffff801410c98c5 00000000
00000000 : nt!VerifierBugCheckIfAppropriate+0xdf
ffffd48b06f07100 fffff801
3935064c : 0000000072465055 fffff801
38eb1300 fffff801410c98c5 fffff805
5efed448 : nt!VfReportIssueWithOptions+0x103
ffffd48b06f07150 fffff801
38db0222 : 0000000000000000 ffff8903
f18e1de0 0000000000000000 fffff801
3936ccb6 : nt!VfCheckPoolType+0x90
ffffd48b06f07190 fffff805
5ef6db4d : 0000000000000003 ffff9c81
be36c000 ffff8903f192aba0 fffff801
3936e0c3 : nt!VfCheckNxPoolType+0x12
ffffd48b06f071c0 fffff801
410c98c5 : 0000004431435055 00000000
00000000 ffff8903f192aba0 00000000
00000000 : Wdf01000!imp_WdfMemoryCreate+0x1b43d [minkernel\wdf\framework\shared\core\fxmemorybufferapi.cpp @ 136]
ffffd48b06f07260 fffff801
410d3153 : ffff890300000723 00000000
00000000 0000000000000000 00000000
00000000 : UPFramework+0x98c5
ffffd48b06f072b0 fffff801
410d37ee : 0000000000000000 000076fc
0e6d5748 ffffd48b06f07450 ffff8903
f19298b0 : UPFramework+0x13153
ffffd48b06f07340 fffff805
5efa7851 : 000076fc0e6d6748 00000000
00000001 00000000000000ff fffff801
38aa7000 : UPFramework+0x137ee
ffffd48b06f07410 fffff805
5efa776c : ffff8903ef5e4d70 ffff8903
ef5e4d70 ffff8903ef5e4d70 00000000
00000004 : Wdf01000!FxDriver::AddDevice+0xd1 [minkernel\wdf\framework\shared\core\km\fxdriverkm.cpp @ 72]
ffffd48b06f07830 fffff801
38cf8e51 : fffff8055efa7740 ffffd48b
06f079b0 0000000000000000 fffff801
38e01b30 : Wdf01000!FxDriver::AddDevice+0x2c [minkernel\wdf\framework\shared\core\km\fxdriverkm.cpp @ 47]
ffffd48b06f07860 fffff801
3911a496 : 0000000000000000 00000000
00000003 ffff8903ef4f5970 ffffdb06
d67febb0 : nt!PpvUtilCallAddDevice+0xeb89d
ffffd48b06f078a0 fffff801
390f4d9f : 0000000000000003 00000000
00000000 ffffd48b06f07a30 00000000
00000000 : nt!PnpCallAddDevice+0x56
ffffd48b06f07930 fffff801
390f404b : ffff8903ef4f5970 ffffd48b
06f07b58 ffff8903ef4f5970 00000000
00000000 : nt!PipCallDriverAddDevice+0x813
ffffd48b06f07ae0 fffff801
3916e191 : ffff8903f1efad00 ffffd48b
06f07c01 ffffd48b06f07bf0 ffff8903
00000000 : nt!PipProcessDevNodeTree+0x1af
ffffd48b06f07ba0 fffff801
38c010a8 : ffff890100000003 ffff8903
f1efad10 ffff9c8100000000 00000000
00000000 : nt!PiProcessStartSystemDevices+0x59
ffffd48b06f07bf0 fffff801
38b0411a : ffff8903ef5d2040 fffff801
38edf5e0 ffff8903ef4cfa50 ffff8903
00000000 : nt!PnpDeviceActionWorker+0x448
ffffd48b06f07cb0 fffff801
38bc86c5 : ffff8903ef5d2040 ffff8903
ef4d2300 ffff8903ef5d2040 00000000
00000000 : nt!ExpWorkerThread+0x16a
ffffd48b06f07d50 fffff801
38c5f49c : ffff9c81bda54180 ffff8903
ef5d2040 fffff80138bc8670 00000000
00000000 : nt!PspSystemThreadStartup+0x55
ffffd48b06f07da0 00000000
00000000 : ffffd48b06f08000 ffffd48b
06f02000 0000000000000000 00000000
00000000 : nt!KiStartSystemThread+0x1cSYMBOL_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
-
@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. -
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.
-
@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-appsor instal our UWP Demo apps
-
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.
-
The critical structure corruption occurs during runtime. The driver verifier fails UpFramework.sys immediately on booting up the computer.