Hi,
We have various bug checks:
APC_INDEX_MISMATCH (0x1)
This indicates that there has been a mismatch in the APC state index.
The most common cause of this bug check is when a file system or driver has a mismatched sequence of calls to disable and re-enable APCs.
SYSTEM_SERVICE_EXCEPTION (3b)
This indicates that an exception happened while executing a routine that transitions from non-privileged code to privileged code.
This error has been linked to excessive paged pool usage and may occur due to user-mode graphics drivers crossing over and passing bad data to the kernel code.
BugCheck 3B, {c0000005,
fffff96000154ea2, fffff880027cef80, 0}
Code:
1: kd> ln fffff96000154ea2
(fffff960`00154d7c) win32k!TimersProc+0x126 | (fffff960`00154f3c) win32k!RawInputThread
^^ The exception occurred in
win32k!TimersProc.
PAGE_FAULT_IN_NONPAGED_AREA (50)
This indicates that invalid system memory has been referenced.
Bug check 0x50 usually occurs after the installation of faulty hardware or in the event of failure of installed hardware (usually related to defective RAM, be it main memory, L2 RAM cache, or video RAM).
Another common cause is the installation of a faulty system service.
Antivirus software can also trigger this error, as can a corrupted NTFS volume.
Code:
3: kd> kv
Child-SP RetAddr : Args to Child : Call Site
fffff880`0c9a1638 fffff800`03102bf0 : 00000000`00000050 fffff880`089a1a00 00000000`00000001 fffff880`0c9a17a0 : nt!KeBugCheckEx
fffff880`0c9a1640 fffff800`03082cee : 00000000`00000001 fffff880`089a1a00 fffffa80`08b9f100 fffff880`0c9a1a20 : nt! ?? ::FNODOBFM::`string'+0x4518f
fffff880`0c9a17a0 fffff800`0336ca43 : 00000000`00000500 00000000`00000001 00000000`00000000 00000000`00000000 : nt!KiPageFault+0x16e (TrapFrame @ fffff880`0c9a17a0)
fffff880`0c9a1930 fffff800`03340605 : fffff880`00000001 fffff880`0c9a1a28 fffff880`0c9a1a20 00000000`00000001 : nt!IoRemoveIoCompletion+0x153
fffff880`0c9a19c0 fffff800`03083e53 : fffffa80`08b9f060 00000000`044df0b8 fffff880`0c9a1a88 fffff880`0c9a1ae0 : nt!NtRemoveIoCompletion+0x145
fffff880`0c9a1a70 00000000`74ae2e09 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13 (TrapFrame @ fffff880`0c9a1ae0)
00000000`044df098 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x74ae2e09
Code:
3: kd> .trap fffff880`0c9a17a0
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0000000000000000 rbx=0000000000000000 rcx=fffff880089a1a00
rdx=fffffa800834dc01 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8000336ca43 rsp=fffff8800c9a1930 rbp=fffff8800c9a1b60
r8=fffffa800834dc00 r9=0000000000000008 r10=fffffa80069e95d0
r11=fffffa800b121d40 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up ei pl zr na po nc
nt!IoRemoveIoCompletion+0x153:
fffff800`0336ca43 8931 mov dword ptr [rcx],esi ds:0584:fffff880`089a1a00=????????
NtRemoveIoCompletion is a waiting call, so it appears that it may have never completed, or it was trying to complete at the wrong IRQL, therefore the pagefault occurred.
IRQL_NOT_LESS_OR_EQUAL (a)
This indicates that Microsoft Windows or a kernel-mode driver accessed paged memory at DISPATCH_LEVEL or above.
This bug check is issued if paged memory (or invalid memory) is accessed when the IRQL is too high. The error that generates this bug check usually occurs after the installation of a faulty device driver, system service, or BIOS.
Code:
0: kd> kv
Child-SP RetAddr : Args to Child : Call Site
fffff800`0450f958 fffff800`030dc169 : 00000000`0000000a fffffaa0`0855b938 00000000`00000002 00000000`00000001 : nt!KeBugCheckEx
fffff800`0450f960 fffff800`030dade0 : 00000000`00000000 fffffa80`0a9794e0 00000000`00000000 00000000`00000000 : nt!KiBugCheckDispatch+0x69
fffff800`0450faa0 fffff800`030e1410 : 00000000`00000154 00000000`00000000 fffffa80`0937d410 00000000`00000000 : nt!KiPageFault+0x260 (TrapFrame @ fffff800`0450faa0)
fffff800`0450fc30 fffff880`048fae3b : 00000000`00000000 fffffa80`00000000 00000000`00000000 fffffa80`06a23790 : nt!KeSetEvent+0x2ce
fffff800`0450fca0 00000000`00000000 : fffffa80`00000000 00000000`00000000 fffffa80`06a23790 00000000`0005c8a7 : nvlddmkm+0xf8e3b
^^ nVidia video driver which calls into
nt!KeSetEvent This is a routine that sets an event object to a signaled state if the event was not already signaled, and returns the previous state of the event object.
1. Ensure you have the latest video card drivers. If you are already on the latest video card drivers, uninstall and install a version or a few versions behind the latest to ensure it's not a latest driver only issue. If you have already experimented with the latest video card driver and many previous versions, please give the beta driver for your card a try.
2. If #1 fails, please run Memtest for NO LESS than ~8 passes (several hours):
Memtest86+:
Download Memtest86+ here:
Memtest86+ - Advanced Memory Diagnostic Tool
Which should I download?
You can either download the pre-compiled ISO that you would burn to a CD and then boot from the CD, or you can download the auto-installer for the USB key. What this will do is format your USB drive, make it a bootable device, and then install the necessary files. Both do the same job, it's just up to you which you choose, or which you have available (whether it's CD or USB).
Do note that some older generation motherboards do not support USB-based booting, therefore your only option is CD (or Floppy if you really wanted to).
How Memtest works:
Memtest86 writes a series of test patterns to most memory addresses, reads back the data written, and compares it for errors.
The default pass does 9 different tests, varying in access patterns and test data. A tenth test, bit fade, is selectable from the menu. It writes all memory with zeroes, then sleeps for 90 minutes before checking to see if bits have changed (perhaps because of refresh problems). This is repeated with all ones for a total time of 3 hours per pass.
Many chipsets can report RAM speeds and timings via SPD (Serial Presence Detect) or EPP (Enhanced Performance Profiles), and some even support changing the expected memory speed. If the expected memory speed is overclocked, Memtest86 can test that memory performance is error-free with these faster settings.
Some hardware is able to report the "PAT status" (PAT: enabled or PAT: disabled). This is a reference to Intel Performance acceleration technology; there may be BIOS settings which affect this aspect of memory timing.
This information, if available to the program, can be displayed via a menu option.
Any other questions, they can most likely be answered by reading this great guide here:
FAQ : please read before posting
Regards,
Patrick