Tech Support Forum banner
Status
Not open for further replies.

[SOLVED] BSOD - caused by DirectX using progressivly large amounts of memory

2K views 18 replies 4 participants last post by  Jared 
#1 ·
My computer has been issues where, when playing video games, will crash after about 5 minutes of gameplay. What I think may be happening is DirectX using up more and more memory and then the computer crashes when its out of memory. I've noticed that the game I'm playing will start to run more and more slowly and then crash.

Here's a screenshot of the blue screen reader


Computer specs:
Code:
· OS - Windows 7 Professional SP1
· x86 (32-bit) or x64 x64
· What was original installed OS on system? Windows 7 Professional
· Is the OS an OEM version (came pre-installed on system) or full retail version (YOU purchased it from retailer) OEM Version
· Age of system (hardware) 2-3 years
· Age of OS installation - have you re-installed the OS - Less than a year, reinstalled twice since I purchased the computer
 
· CPU Intel Core i3-2120 @ 3.30GHz quadcore
· Video Card NVIDIA GeForce GT 520
· MotherBoard OEM motherboard
· Power Supply - brand & wattage Acer 100-127/220-240 Vac, 6/3.15A, 60/50Hz
 
· System Manufacturer Acer
· Exact model number (if laptop, check label on bottom) - Veriton M4618G

Laptop or Desktop? Desktop
 
See less See more
1
#4 ·
Re: BSOD - caused by DirectX using progressivly large amounts of memory

To determine whether or not you have a memory leak we will need Kernel dump files but you'll need to compress it as a .zip folder and upload it to Onedrive as the file is too large to upload directly here.

It's located in:

Code:
C:/Windows/MEMORY.dmp
Normally I would disagree given it's a TDR but I have noticed the error code.

Code:
BugCheck 116, {fffffa8006ed0010, fffff8800f9f1d1c, [COLOR=Red]ffffffffc000009a[/COLOR], 4}
This error code means insufficient resources were available to complete the API hence the timeout, this would support your claim.

I suggest you roll back your display driver and see if the problems persist.
 
#6 · (Edited)
Re: BSOD - caused by DirectX using progressivly large amounts of memory

Well as usual it's not giving much due to the nature of this bugcheck.
There isn't a Kernel memory leakage but I believe the insufficient resources is linked to the Nvidia driver's allocated memory.

Code:
3: kd> [COLOR=Green]u nvlddmkm+9a57a0[/COLOR]
nvlddmkm+0x9a57a0:
fffff880`0f9f47a0 48ff25f94eedff  [COLOR=Red]jmp[/COLOR]     qword ptr [nvlddmkm+0x87a6a0 (fffff880`0f8c96a0)]
fffff880`0f9f47a7 cc              int     3
fffff880`0f9f47a8 48ff25d14eedff  [COLOR=Red]jmp[/COLOR]     qword ptr [nvlddmkm+0x87a680 (fffff880`0f8c9680)]
fffff880`0f9f47af cc              int     3
fffff880`0f9f47b0 48ff25d14eedff  [COLOR=Red]jmp[/COLOR]     qword ptr [nvlddmkm+0x87a688 (fffff880`0f8c9688)]
fffff880`0f9f47b7 cc              int     3
fffff880`0f9f47b8 48ff25d14eedff  [COLOR=Red]jmp[/COLOR]     qword ptr [nvlddmkm+0x87a690 (fffff880`0f8c9690)]
fffff880`0f9f47bf cc              int     3
I suspect it's using resource by performing unconditional jumps, this would probably use up all it's resources.

I suggets rolling back to 314.22 if possible, only temporarily as it's an old driver so performance will decrease but it's the most stable so we can determine whether or not it's the driver (It appears so).

I have noticed something that may or may not be related to your crashes.

I'm seeing a lot of disk IRPs, they seem to be related to Avast which isn't surprising given it's problematic, it contains a lot of filter drivers and disk device drivers which is why they can conflict and cause lots of problems, some more than others.

Code:
fffffa8007e2c010 [fffffa8007dd6930] irpStack: ( c, 2)  fffffa8004e3e030 [[COLOR=Purple] \FileSystem\Ntfs[/COLOR]]
fffffa8007e2f010 [fffffa800524eb50] irpStack: ( 3, 0)  fffffa8005271c90 [ [COLOR=Purple]\FileSystem\Npfs[/COLOR]]
fffffa8007e32520 [fffffa80073e97f0] irpStack: ( 3, 0)  fffffa8005271c90 [ [COLOR=Purple]\FileSystem\Npfs[/COLOR]]
fffffa8007e434e0 [fffffa8004d29650] irpStack: ( e,33)  fffffa80052757b0 [ [COLOR=Green]\Driver\AFD[/COLOR]] 0xfffffa8003d86b30
fffffa8007e50010 [fffffa8006aa0060] irpStack: ( 3, 0)  fffffa800614be10 [ [COLOR=Red]\Driver\aswStm[/COLOR]] 0xfffffa8005ee8b30
fffffa8007e70ad0 [fffffa80056d8350] irpStack: ( d, 0)  fffffa8004e3e030 [ [COLOR=Purple]\FileSystem\Ntfs[/COLOR]] 0x0000000000000000
fffffa8007e78c40 [fffffa8007fc9060] irpStack: ( 3, 0)  fffffa8005271c90 [ [COLOR=Purple]\FileSystem\Npfs[/COLOR]]
I suggest you remove Avast and install MSE for testing purposes.

Use the Avast removal tool.

avast! Uninstall Utility | Download aswClear for avast! Removal

Microsoft Security Essentials - Microsoft Windows
 
#7 ·
Re: BSOD - caused by DirectX using progressivly large amounts of memory

I rolled back to 314.22 and uninstalled avast using the provided tool. After that, rebooted and still getting the same issue with no improvement. I'm going to try a fresh installation of Windows and if that doesn't work will probably need to buy new hardware.
 
#8 ·
Re: BSOD - caused by DirectX using progressivly large amounts of memory

Really good analysis from Jared regarding the unconditional jumps (jmp). There are two types of jumps - conditional and unconditional. A conditional jump is

Code:
if conditional jump within executing instruction = true

then jump.
This is obviously not a real function or anything and this isn't even how you'd format it anyway, I'm just using an example that I made up in two seconds.

Now that we know that, an unconditional to no surprise always occurs because there is no condition(s) to be met.

Branching off of Jared's analysis above, if we disassemble the nVidia driver in faulting instruction:

Code:
3: kd> u nvlddmkm+9a57a0
nvlddmkm+0x9a57a0:
fffff880`0f9f47a0 48ff25f94eedff  [COLOR=Red]jmp[/COLOR]     qword ptr [nvlddmkm+0x87a6a0 (fffff880`0f8c96a0)]
fffff880`0f9f47a7 cc              [COLOR=Indigo]int     3[/COLOR]
fffff880`0f9f47a8 48ff25d14eedff  [COLOR=Red]jmp     [/COLOR]qword ptr [nvlddmkm+0x87a680 (fffff880`0f8c9680)]
fffff880`0f9f47af cc              [COLOR=Indigo]int     3[/COLOR]
fffff880`0f9f47b0 48ff25d14eedff  [COLOR=Red]jmp     [/COLOR]qword ptr [nvlddmkm+0x87a688 (fffff880`0f8c9688)]
fffff880`0f9f47b7 cc              [COLOR=Indigo]int     3[/COLOR]
fffff880`0f9f47b8 48ff25d14eedff  [COLOR=Red]jmp     [/COLOR]qword ptr [nvlddmkm+0x87a690 (fffff880`0f8c9690)]
fffff880`0f9f47bf cc              [COLOR=Indigo]int     3[/COLOR]
In between each of these unconditional jumps we have int 3 which is extremely interesting to see on an x64 box as int 3 was only used on x86 to call an interrupt. Seeing the int 3 actually explains why we have jmp over and over again, because int 3 on x64 breaks the execution of the instruction.

So... two possibilities.

1. You're having very bad luck with drivers/you are caught in nVidia corruption that would be solved with an OS reinstall if that's what you're doing.

2. Your video card is dying.

Regards,

Patrick
 
#11 ·
Re: BSOD - caused by DirectX using progressivly large amounts of memory

I could have guessed that were the case, Jared. I'm finishing up installing some applications on my new install and will give it a proper test after work. If this fails, I guess I'll need to get a new video card when I can.
 
#12 ·
Re: BSOD - caused by DirectX using progressivly large amounts of memory

Ok so I reinstalled windows and it's still crashing. I'm using the driver that Jared suggested for my card and it still blue screens after a few minutes of playing any game. At this point i'll have to just buy a new video card probably.
 
#13 ·
Re: BSOD - caused by DirectX using progressivly large amounts of memory

Does changing the display driver help reduce or increase the frequency of the crashes?

If not then it sounds like a bad card.
I would replace it, or better RMA if you can.

If you really want to be sure then you can give Furmark a try.

FurMark: VGA Stress Test, Graphics Card and GPU Stability Test, Burn-in Test, OpenGL Benchmark and GPU Temperature | oZone3D.Net

Make sure it doesn't overheat, watch out for distortions and artifacts.
Only run it for around 30 minutes, if nothing happens by that time your card is probably fine.
 
#14 ·
Re: BSOD - caused by DirectX using progressivly large amounts of memory

Before I ran furmark my GPU was at ~75 celsius and while running furmark it went as high as 102 before i shut it off...could it be overheating? could this be the cause of my issues?
 
#15 ·
Re: BSOD - caused by DirectX using progressivly large amounts of memory

It most certainly can and probably is.
75C is just below my temps for my GPU when running Furmark.
Normally anything about 90+ is overheating.
Check your fans are working, clean out dust in your computer and check for anything blocking ventilation.
If those are fine then replace your GPU.
 
#16 ·
Re: BSOD - caused by DirectX using progressivly large amounts of memory

Yeah I'll go ahead and clean it out, I don't really know when was the last time it was cleaned so it could very well be that. Hopefully it's just something as simple as cleaning some dust out and there's no permanent damage.
 
Status
Not open for further replies.
You have insufficient privileges to reply here.
Top