[SOLVED] Unrepeatable BSOD, fixed few problems I think, more inside - Windows 8.1 x64

One month and 100 replies later, I've been two days without crashing since re-installing windows. Been on the computer tons and it's been a record breaking 48 hours without crashes. I think the replacement motherboard was the solution! :)

I'll reply or start a new thread if I start having problems, but as of now I think that my original issue has been fixed. Thanks Patrick, Jared, and anyone else for replying with helpful information.

Cheers!

Xivinas
 
Hi, had a crash for the first time after re-installing windows here. System service exception with dxgmms1.sys so something to do with directx and the video card I assume. The dump file is attached.

The retailer did say that they ran into bluescreen while stress testing the gpu, and when they swapped for a GTX 750 they didn't. I thought that the error they ran into was related to the motherboard, but since the motherboard has been replaced and the constant bluescreens have disappeared, there may be an issue with the video card now? The card is the R9 270x.
 

Attachments

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.

Code:
BugCheck 3B, {[COLOR=#ff0000]c0000005[/COLOR], fffff801066445ae, ffffd001172986a0, 0}

1st argument is 0xc0000005 - access violation.

Code:
3: kd> kv
Child-SP          RetAddr           : Args to Child                                                           : Call Site
ffffd001`17297de8 fffff803`cb7edae9 : 00000000`0000003b 00000000`c0000005 fffff801`066445ae ffffd001`172986a0 : nt!KeBugCheckEx
ffffd001`17297df0 fffff803`cb7ed3fc : ffffd001`17298020 fffff801`0648f2c2 ffffd001`17299b00 ffffd001`17298e98 : nt!KiBugCheckDispatch+0x69
ffffd001`17297f30 fffff803`cb7e94ed : ffffd001`172986a0 00000000`00000000 ffffd001`17298e98 ffffd001`172980a0 : nt!KiSystemServiceHandler+0x7c
ffffd001`17297f70 fffff803`cb773105 : 00000000`00000001 fffff803`cb68e000 ffffd001`17298e01 00000000`00000000 : nt!RtlpExecuteHandlerForException+0xd
ffffd001`17297fa0 fffff803`cb771fbf : ffffd001`17298e98 ffffd001`17298ba0 ffffd001`17298e98 ffffc000`449f4850 : nt!RtlDispatchException+0x1a5
ffffd001`17298670 fffff803`cb7edbc2 : ffffe000`4d6f9400 00000000`00004000 ffffe000`4d6f9080 fffff803`00000000 : nt!KiDispatchException+0x61f
ffffd001`17298d60 fffff803`cb7ec0fe : ffffe000`4c843000 ffffd001`17299101 00000000`4e4b4e55 fffff801`06afbd3a : nt!KiExceptionDispatch+0xc2
ffffd001`17298f40 fffff801`066445ae : ffffe000`4fd2d660 ffffe000`00000000 ffffe000`4ded0400 ffffe000`4f4c4000 : [COLOR=#4b0082]nt!KiGeneralProtectionFault+0xfe (TrapFrame @ ffffd001`17298f40)[/COLOR]
ffffd001`172990d0 fffff801`06644430 : ffffc000`449f4850 fffff801`00000000 00000000`00000000 ffffc000`403dd000 : [COLOR=#ff0000]dxgmms1!VIDMM_GLOBAL::CloseOneAllocation+0x11e[/COLOR]
ffffd001`172991a0 fffff801`064ee983 : ffffc000`4a1d65d0 ffffd001`17299291 00000000`00000000 ffffc000`403dd000 : [COLOR=#000080]dxgmms1!VIDMM_GLOBAL::CloseAllocation+0x4c[/COLOR]
ffffd001`172991e0 fffff801`064dfc24 : ffffc000`42d82170 00000000`00000000 ffffc000`00000000 ffffe000`4ca701a0 : [COLOR=#006400]dxgkrnl!DXGDEVICE::DestroyAllocations+0x183[/COLOR]
ffffd001`172992f0 fffff801`064de855 : ffffc000`00000001 00000000`00000000 ffffc000`00000000 ffffc000`00000000 : [COLOR=#006400]dxgkrnl!DXGDEVICE::TerminateAllocations+0x594[/COLOR]
ffffd001`17299390 fffff801`064de354 : ffffd001`17299728 ffffd001`17299b80 ffffc000`403dd000 ffffd001`172997c0 : [COLOR=#006400]dxgkrnl!DXGDEVICE::DestroyAllocationInternal+0x12d[/COLOR]
ffffd001`172993e0 fffff801`064ddc11 : ffffffff`ffffffff ffffd001`17299b80 ffffc000`403dd000 ffffe000`4f415048 : [COLOR=#006400]dxgkrnl!DxgkDestroyAllocationInternal+0x264[/COLOR]
ffffd001`172996d0 fffff803`cb7ed7b3 : ffffe000`4d6f9080 ffffe000`4d6f9080 00000000`777ce26c ffffe000`519908d0 : [COLOR=#006400]dxgkrnl!DxgkDestroyAllocation+0x301[/COLOR]
ffffd001`17299b00 00000000`777d741a : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13 (TrapFrame @ ffffd001`17299b00)
00000000`0d4ce2d8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x777d741a

Code:
3: kd> [COLOR=#4b0082].trap ffffd001`17298f40[/COLOR]
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=ffffc00037ed6e48 rbx=0000000000000000 [COLOR=#0000cd]rcx=ffefc00037ed6e48[/COLOR]
[COLOR=#006400]rdx=ffffe0004fd2d630[/COLOR] rsi=0000000000000000 rdi=0000000000000000
rip=fffff801066445ae rsp=ffffd001172990d0 rbp=0000000000000001
 r8=0000000000000009  r9=000000000000000a r10=fffff780000003b0
r11=fffff78000000008 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na po nc
[COLOR=#ff0000]dxgmms1!VIDMM_GLOBAL::CloseOneAllocation+0x11e[/COLOR]:
fffff801`066445ae 48395108        [COLOR=#800080]cmp[/COLOR]     qword [COLOR=#800080]ptr[/COLOR] [[COLOR=#000080]rcx[/COLOR]+8],[COLOR=#006400]rdx [/COLOR]ds:ffefc000`37ed6e50=????????????????

On the instruction we faulted on, we failed comparing the values of two specified operands with a pointer stored in rcx. Our ultimate goal here was to store the contents of a qword at that location in rdx, but that failed. Why did we fail? These all look like pretty valid addresses to me. Let's take a look at rcx specifically:

Code:
3: kd> !pte ffefc00037ed6e48
                                           VA ffefc00037ed6e48
PXE at FFFFF6FB7DBEDC00    PPE at FFFFF6FB7DB80000    PDE at FFFFF6FB70000DF8    PTE at FFFFF6E0001BF6B0
Unable to get PXE FFFFF6FB7DBEDC00
[COLOR=#ff0000]WARNING: noncanonical VA, accesses will fault !
[/COLOR]

Ah ha, here's our problem. The DirectX MMS attempted to write to a read only virtual address (invalid). For reference, your were in game at the time of the crash:

Code:
PROCESS_NAME:  League of Lege

and we were destroying and terminating allocations. Very GPU/RAM heavy work.



1.

Code:
[BIOS Information (Type 0) - Length 24 - Handle 0000h]
  Vendor                        American Megatrends Inc.
  BIOS Version                  [COLOR=#ff0000]V1.6[/COLOR]
  BIOS Starting Address Segment f000
  BIOS Release Date             [COLOR=#4b0082]12/02/2013[/COLOR]
  BIOS ROM Size                 800000

Despite the motherboard being new, you're pretty far behind in BIOS versions.

MSI USA - Computer, Laptop, Notebook, Desktop, Mainboard, Graphics and more

Here's some of the things that have happened since your current BIOS:

Code:
-  Improved Intel Rapid Start Technology function.
-  Enhanced MSI M-Flash function.
-  Improved system resume function.
-  Improved 4TB HDD Compatibility.
-  Updated BIOS Code.
-  Improved RAID card compatibility.
-  Improve memory compatibility.
-  Updated VBIOS and GOP Driver.
-  Supported Haswell-Refresh CPU.

Pretty big changes! Update to version 1.8 ASAP.

2. If the above BIOS update fails, do you have a secondary video card to test, or perhaps integrated video on that board? If so, uninstall your current video card drivers, shut down, physically remove your video card, install your secondary video card (or enable integrated video), and then install the latest drivers for whichever. See if the crashes stop, and if they do, your GPU is faulty.

Regards,

Patrick
 
Oh okay. Yeah I'm pretty dumb and forgot to update BIOS. I'll do that and let you know what happens. Thanks Patrick!
 
Alright so I haven't had any issues until just now. I had a bluescreen identical to my last which happened at the end of a league game. Then the next was right as I navigated to my minidump files and clicked on it two minutes later. The files are attached.

Edit: This may be interesting or nothing at all, but I've noticed both times that I've had my headset plugged in. I have to connect my headset through a usb hub to make it work at the moment, some sort of incompatibility with the motherboard otherwise.
 

Attachments

League crash:

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M (1000007e)

This indicates that a system thread generated an exception which the error handler did not catch.

Code:
BugCheck 1000007E, {[COLOR=#4b0082]ffffffffc0000005[/COLOR], fffff800f6e7fcef, [COLOR=#ff0000]ffffd001ce66c6f8[/COLOR], ffffd001ce66bf00}

An access violation occurred.

Code:
1: kd> .exr 0xffffd001ce66c6f8
ExceptionAddress: fffff800f6e7fcef ([COLOR=#ff0000]dxgmms1!VIDMM_SEGMENT::MarkResourcesForEviction+0x0000000000000067[/COLOR])
   ExceptionCode: [COLOR=#4b0082]c0000005 (Access violation)[/COLOR]

It occurred in dxgmms1!VIDMM_SEGMENT::MarkResourcesForEviction+0x0000000000000067. The DirectX MMS was marking resources for eviction, but accessed invalid memory. It specifically tried to read from ffffffffffffffff (-1).

Desktop crash:

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:
BugCheck A, {[COLOR=#ff0000]fffff6e800ed02e0[/COLOR], 2, 0, fffff800e5d11414}

Code:
1: kd> .trap 0xffffd000d8f5fd40
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=ffffc000f1254048 rbx=0000000000000000 rcx=ffffc000f1254530
rdx=0000380091167ad0 rsi=0000000000000000 rdi=0000000000000000
rip=fffff800e5dd5820 rsp=ffffd000d8f5fed8 rbp=ffffd000d8f60119
 r8=0000000000000014  r9=0000000000000068 r10=0000000000000000
r11=ffffc000f1254530 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl nz na po nc
nt!memcpy+0xa0:
fffff800`e5dd5820 f30f6f040a      [COLOR=#ff0000]movdqu  [/COLOR]xmm0,xmmword [COLOR=#4b0082]ptr [/COLOR][[COLOR=#000080]rdx+rcx[/COLOR]] ds:fffff801`823bc000=????????????????????????????????

On the instruction we faulted on, we failed moving (more specifically, moving double quadword from the source operand) a pointer that was stored in rdx+rcx.
Code:
1: kd> !pte 0000380091167ad0 
                                           VA 0000380091167ad0
PXE at FFFFF6FB7DBED380    PPE at FFFFF6FB7DA70010    PDE at FFFFF6FB4E002440    PTE at FFFFF69C00488B38
Unable to get PXE FFFFF6FB7DBED380
1: kd> !pte ffffc000f1254530
                                           VA ffffc000f1254530
PXE at FFFFF6FB7DBEDC00    PPE at FFFFF6FB7DB80018    PDE at FFFFF6FB70003C48    PTE at FFFFF6E0007892A0
Unable to get PXE FFFFF6FB7DBEDC00

I'd need a kernel-dump to check whether or not these were valid.



Okay, here's the rundown:

1. Your RAM is faulty. In order to rule this out, run Memtest for NO LESS than ~8 passes. If no errors, your RAM should be just fine:

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

2. Your GPU is faulty. In order to rule this out, refer to:

If the above BIOS update fails, do you have a secondary video card to test, or perhaps integrated video on that board? If so, uninstall your current video card drivers, shut down, physically remove your video card, install your secondary video card (or enable integrated video), and then install the latest drivers for whichever. See if the crashes stop, and if they do, your GPU is faulty.

3. Your replacement motherboard is faulty. This would be sad news...

Regards,

Patrick
 
Yep, nothing to add, Patrick hit the nail on the head with this one.
EDIT: I have noticed when reading back through this.

So I got the computer back with new motherboard.

I doubt it's the motherboard unless you're having really back luck, there's an incompatibility or it's been damaged upon install etc.
 
Last edited:
Alright. I'll run a Memtest when I get the chance as well as swap the video card out for the 7950.

It'd be a real shame if both video cards (270x and 7950) had issues.

My thanks to you both.
 
Quick question about my RAM. When I got the new board it had the timings set to 9-9-9-24 which is what the RAM is supposed to be set at. It's currently set at 11-11-11-28 which probably changed after I updated the BIOS. Should this be something I change or leave alone?
 
Interesting.

Try clearing the CMOS (either using the jumper or removing the battery for 10s) and then seeing what the timings get set to.

Regards,

Patrick
 
I pushed the clear CMOS button on the back at the I/O panel and it worked. RAM timing still at 11-11-11-28. Should it matter at all really? It's just something I noticed before.
 
I pushed the clear CMOS button on the back at the I/O panel and it worked. RAM timing still at 11-11-11-28. Should it matter at all really? It's just something I noticed before.
 
I am unsure, brb checking.

Edit: DRAM Timing Mode is set to auto which grays out the advanced dram config menu

Xmp is disabled. Everything else is set to auto
 
With that said, the only explanation I have is that the BIOS update 'changed' the DRAM timings (whether it was found to be more stable at those timings, etc). You'd have to contact the manufacturer of the motherboard for more info, as that's only a guess.

Regards,

Patrick
 

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

Back
Top