I'm using SerialPort class to read and write data from an USB device that use USB CDC class. My Program is called CameraControl.
Often I get blue screen with KERNEL_SECURITY_CHECK_FAILURE
Below WinDbg analysis
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
KERNEL_SECURITY_CHECK_FAILURE (139)
A kernel component has corrupted a critical data structure. The corruption
could potentially allow a malicious user to gain control of this machine.
Arguments:
Arg1: 0000000000000003, A LIST_ENTRY has been corrupted (i.e. double remove).
Arg2: ffffd00020d51470, Address of the trap frame for the exception that caused the bugcheck
Arg3: ffffd00020d513c8, Address of the exception record for the exception that caused the bugcheck
Arg4: 0000000000000000, Reserved
Debugging Details:
------------------
OVERLAPPED_MODULE: Address regions for 'niorbk' and 'IntcDAud.sys' overlap
TRAP_FRAME: ffffd00020d51470 -- (.trap 0xffffd00020d51470)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=ffffe001e1d400b8 rbx=0000000000000000 rcx=0000000000000003
rdx=ffffe001e5cf6c28 rsi=0000000000000000 rdi=0000000000000000
rip=fffff800c73f0414 rsp=ffffd00020d51600 rbp=ffffe001e1a87080
r8=fffff800c73f03c0 r9=0000000000000012 r10=0000000000000000
r11=fffff80209967897 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up ei pl nz na pe nc
usbser+0xa414:
fffff800`c73f0414 cd29 int 29h
Resetting default scope
EXCEPTION_RECORD: ffffd00020d513c8 -- (.exr 0xffffd00020d513c8)
ExceptionAddress: fffff800c73f0414 (usbser+0x000000000000a414)
ExceptionCode: c0000409 (Security check failure or stack buffer overrun)
ExceptionFlags: 00000001
NumberParameters: 1
Parameter[0]: 0000000000000003
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: LIST_ENTRY_CORRUPT
BUGCHECK_STR: 0x139
PROCESS_NAME: CameraControl.
CURRENT_IRQL: 2
ERROR_CODE: (NTSTATUS) 0xc0000409 - Il sistema ha rilevato un sovraccarico di un buffer basato su stack in questa applicazione. Il sovraccarico potrebbe consentire a un utente non autorizzato di assumere il controllo dell'applicazione.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 - Il sistema ha rilevato un sovraccarico di un buffer basato su stack in questa applicazione. Il sovraccarico potrebbe consentire a un utente non autorizzato di assumere il controllo dell'applicazione.
EXCEPTION_PARAMETER1: 0000000000000003
ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) amd64fre
LAST_CONTROL_TRANSFER: from fffff802099667e9 to fffff8020995aca0
STACK_TEXT:
ffffd000`20d51148 fffff802`099667e9 : 00000000`00000139 00000000`00000003 ffffd000`20d51470 ffffd000`20d513c8 : nt!KeBugCheckEx
ffffd000`20d51150 fffff802`09966b10 : ffffe001`e7dc0440 00000000`00000000 ffffe001`00000001 ffffd000`20d514c0 : nt!KiBugCheckDispatch+0x69
ffffd000`20d51290 fffff802`09965d34 : 00000000`00000000 ffffe001`e7956de8 ffffc001`e05c6320 fffff800`c377ccb2 : nt!KiFastFailDispatch+0xd0
ffffd000`20d51470 fffff800`c73f0414 : 00000000`00000306 00000000`00000000 00000000`00000050 00000000`000007ff : nt!KiRaiseSecurityCheckFailure+0xf4
ffffd000`20d51600 fffff800`c73f0470 : ffffe001`e5cf6c18 00000000`00000000 ffffe001`e1aa4400 00000000`00000000 : usbser+0xa414
ffffd000`20d51630 fffff800`c73ef9a1 : ffffe001`e53ffa00 ffffe001`e5cf69d0 ffffe001`e5cf6880 00000000`00000010 : usbser+0xa470
ffffd000`20d51660 fffff802`09bdcab2 : ffffe001`e17bf780 ffffe001`e17bf780 00000000`00000000 ffffe001`e7546680 : usbser+0x99a1
ffffd000`20d51690 fffff802`09bed5fa : ffffe001`e1aa43d0 ffffe001`e0d88dc0 ffffe001`e1aa43e0 ffffe001`e1aa4300 : nt!IopCloseFile+0x152
ffffd000`20d51720 fffff802`09bed3f3 : 00000000`00000000 00000000`00000000 00000000`00000000 ffffe001`00000001 : nt!ObpDecrementHandleCount+0x1b6
ffffd000`20d517c0 fffff802`09bed02e : ffffe001`e1a8c080 fffff802`09855114 00000000`00000000 00000000`00000002 : nt!ObCloseHandleTableEntry+0x313
ffffd000`20d51890 fffff802`09d641f6 : ffffe001`e1a87080 ffffe001`e1a7e400 ffffc001`ed9e17c0 00000000`00000001 : nt!ExSweepHandleTable+0xba
ffffd000`20d518f0 fffff802`09b9506a : ffffd000`245d7713 ffffd000`245d7713 ffffe001`e1a87348 ffffffff`00000040 : nt! ?? ::NNGAKEGL::`string'+0x32c16
ffffd000`20d51960 fffff802`09c2f6cb : 00000000`e1a87088 00000000`e1a87088 00000000`c000010a 00000000`00000000 : nt!PspRundownSingleProcess+0x286
ffffd000`20d519f0 fffff802`09c2f3d1 : ffffe001`e1def880 ffffe001`e1a7e400 ffffe001`e1a87080 ffffe001`e1a87080 : nt!PspTerminateAllThreads+0x27f
ffffd000`20d51a50 fffff802`09c2f15e : ffffffff`ffffffff ffffe001`e10c0080 ffffe001`e1a87080 ffffe001`e1a7e080 : nt!PspTerminateProcess+0xe5
ffffd000`20d51a90 fffff802`099664b3 : ffffe001`e1a87080 ffffe001`e1a7e080 ffffd000`20d51b80 00000000`0000159c : nt!NtTerminateProcess+0x9e
ffffd000`20d51b00 00000000`77022772 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
00000000`0ff6eac8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x77022772
STACK_COMMAND: kb
FOLLOWUP_IP:
usbser+a414
fffff800`c73f0414 cd29 int 29h
SYMBOL_STACK_INDEX: 4
SYMBOL_NAME: usbser+a414
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: usbser
IMAGE_NAME: usbser.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 5215f890
IMAGE_VERSION: 6.3.9600.16384
FAILURE_BUCKET_ID: 0x139_3_usbser+a414
BUCKET_ID: 0x139_3_usbser+a414
ANALYSIS_SOURCE: KM
FAILURE_ID_HASH_STRING: km:0x139_3_usbser+a414
FAILURE_ID_HASH: {f38f031c-a840-6c18-f377-c47aa3e1dec1}
Followup: MachineOwner
I'm using Windows 8.1 PRO and this problem is very embarrassing for my clients.
Thank you