BSOD - Windows 7 x64

Etian

New member
Joined
Mar 28, 2015
Posts
2
Hi guys, i got a new pc in february. I updated all the drivers, then the bsod started. I rebooted the pc to start all over and the bsod stoped for a few days, but then started again although with less frequency.

Win 7 64bits
Intel Core i5 4430 3 GHz
ASUSTeK COMPUTER INC. H87M-PLUS Rev X.0x
x2 Memory chip G.Skill 4 GB
NVIDIA GeForce GTX 660
HDD ST1000DM003-1CH162 931.51 GB SATA III
Power supply CX600M Corsair

Its a desktop , that came with free dos, installed win7 64 bits (not from retail).

The bsod happen only whem im playing video games.

PS: im from Chile srry about my english, ty.
 

Attachments

Probably a RAM problem.

Code:
1: kd> .bugcheck
Bugcheck code 0000001E
Arguments ffffffff`c0000005 fffff802`2d2cf048 00000000`00000000 ffffffff`ffffffff

Code:
1: kd> knL
 # Child-SP          RetAddr           Call Site
00 ffffd000`d6344aa8 fffff802`2d45c60a nt!KeBugCheckEx
01 ffffd000`d6344ab0 fffff802`2d3d1eed nt!KiFatalExceptionHandler+0x22
02 ffffd000`d6344af0 fffff802`2d338b25 nt!RtlpExecuteHandlerForException+0xd
03 ffffd000`d6344b20 fffff802`2d33cede nt!RtlDispatchException+0x1a5
04 ffffd000`d63451f0 fffff802`2d3d65c2 nt!KiDispatchException+0x646
05 ffffd000`d63458e0 fffff802`2d3d4afe nt!KiExceptionDispatch+0xc2
06 ffffd000`d6345ac0 fffff802`2d2cf048 nt!KiGeneralProtectionFault+0xfe
07 ffffd000`d6345c50 fffff802`2d3ce4bc nt!PoIdle+0x98
08 ffffd000`d6345da0 00000000`00000000 nt!KiIdleLoop+0x2c

On frame 07, you can see the system was coming out of idle and then immediately crashed. If we look at the trapframe for the GPF:

Code:
1: kd> .trap ffffd000`d6345ac0
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0000000000000000 rbx=0000000000000000 rcx=ffffd000d631c180
rdx=00000000001aa000 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8022d2cf048 rsp=ffffd000d6345c50 rbp=ffffd000d6345d50
 r8=0000000000000023  r9=00ffe0001ec88328 r10=ffffe0001ec88010
r11=ffffd000d6345d98 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up di pl nz na po nc
nt!PoIdle+0x98:
fffff802`2d2cf048 4d014128        add     qword ptr [r9+28h],r8 ds:00ffe000`1ec88350=????????????????

add instruction, register to memory (r8 > r9+28).

Code:
1: kd> !pte 00ffe0001ec88328 
                                           VA 00ffe0001ec88328
PXE at FFFFF6FB7DBEDE00    PPE at FFFFF6FB7DBC0000    PDE at FFFFF6FB780007B0    PTE at FFFFF6F0000F6440
Unable to get PXE FFFFF6FB7DBEDE00
WARNING: noncanonical VA, accesses will fault !

Bad/invalid virtual address, that's why the system ultimately bug checked in the first place.

Run memtest for no less than 8 passes.

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 (you don't need to read, it's only for those interested in the specifics):

Memtest uses algorithms (specifically two), namely moving inversion & what is deemed Modulo-X. Essentially, the first algorithm fills the memory with a pattern. Starting at the low address, it checks to see if the pattern was changed (it should not have been), writes the patterns complement, increments the address, and repeats. Starting at the highest address (as opposed to the lowest), it follows the same checklist.

The reason for the second algorithm is due to a few limitations, with the first being that not all adjacent cells are being tested for interaction due to modern chips being 4 to 16 bits wide regarding data storage. With that said, patterns are used to go ahead and ensure that all adjacent cells have at least been written with all possible one and zero combinations.

The second is that caching, buffering and out of order execution will interfere with the moving inversions algorithm. However, the second algorithm used is not affected by this. For starting offsets of 0-20, the algorithm will write every 20th location with a pattern, write all other locations with the patterns complement, repeat the previous one (or more) times, and then check every 20th location for the previously mentioned pattern.

Now that you know how Memtest actually works, it's important to know that the tests it goes through all mean something different. It goes from Test 0 through Test 12, many of which use either one or the other algorithm discussed above, among many other things.

Any other questions, they can most likely be answered by reading this great guide here:

FAQ : please read before posting
 

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top