Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Cody
New Contributor I
53,549 Views

BUG: dwm.exe uses memory leakage with Intel HD Graphics 630

Hi,

dwm.exe (Desktop-Window Manager) uses high memory with Intel Intel HD Graphics 630. This problem has been reported before:

https://answers.microsoft.com/en-us/windows/forum/all/desktop-windows-manager-dwm-memory-leakage-in/...

 

https://www.reddit.com/r/windows/comments/iqttw5/windows_10_dwmexe_high_ram_usage/g4umzyn/?utm_sourc...

 

Here's a screenshot of my dwm ram usage after 2 hours (1.6 GB):
Image1.jpg

 

Please, this bug is already known for 3-4 months, and I do not want to reinstall a 2019 driver...

231 Replies
jvary
Beginner
1,966 Views


Hi @Bryce_Intel and @RonaldM_Intel , 

My coworkers (Hi Ismael, Neil and Kevin!) managed to capture a memory dump that shows the actual allocation stack of the blocks leaking (gflags.exe +ust).

Driver version is 27.20.100.8935 (I know, not the latest), and running on an Intel UDH Graphics 630.  

They disabled the Windows LowFragmentationHeap to be able to browse the heap.

The memory dump is located at : https://genetec365-my.sharepoint.com/:u:/g/personal/jvary_genetec_com/EZ5WWmIqDipPqHTFL81Rv4QBauSFTf...

 

Results:

 

Flags enabled:

0:000> !gflag

Current NtGlobalFlag contents: 0x00001810

    htc - Enable heap tail checking

    htg - Enable heap tagging

    ust - Create user mode stack trace database

Heaps:

0:000> !heap -s

LFH Key                   : 0x76d6e0b4f51df676

Termination on corruption : ENABLED

          Heap     Flags   Reserv  Commit  Virt   Free  List   UCR  Virt  Lock  Fast

                            (k)     (k)    (k)     (k) length      blocks cont. heap

-------------------------------------------------------------------------------------

00000229ed6c0000 0c000022  388688 375972 388688   1465 14922    28    2     2f         #whole process is usually ~80MB, that heap itself is ~390MB

00000229ed9b0000 0c000022    1080    448   1080    440     2     2    0      0   


Stat for that big heap:

 

 

0:000> !heap -stat -h 00000229ed6c0000

heap @ 00000229ed6c0000

group-by: TOTSIZE max-display: 20

    size     #blocks     total     ( %) (percent of total busy bytes)

    1d0 438ef - 7a73130  (49.32)                                       # ~50% of that heap is block size 0x01D0 (~128MB)

    68 87734 - 3706d20  (22.16)

    30 6660c - 1332240  (7.73)

    1100 11da - 12f7a00  (7.64)
    ...    

   

Listing a bunch of blocks of size 0x01D0:

 

0:000> !heap -flt s 1d0

    _HEAP @ 229ed6c0000

              HEAP_ENTRY Size Prev Flags            UserPtr UserSize - state

        00000229ed6c1710 0022 0000  [00]   00000229ed6c1740    001d0 - (busy)

        00000229ed72b3a0 0022 0022  [00]   00000229ed72b3d0    001d0 - (busy)

        ...

        00000229fd57aab0 0022 0022  [00]   00000229fd57aae0    001d0 - (busy)

        00000229fd57aed0 0022 0022  [00]   00000229fd57af00    001d0 - (busy)

        ...

   

Actual allocation stack of a leaking block

(can’t exactly tell what is going on within igd10iumd64.dll, we don’t have the .pdb’s in https://software.intel.com/sites/downloads/symbols/ ?)

It is always the same stack that pops-up.

   

0:000> !heap -p -a 2299ba2cf20

    address 000002299ba2cf20 found in

    _HEAP @ 229ed6c0000

              HEAP_ENTRY Size Prev Flags            UserPtr UserSize - state

        000002299ba2cf20 0022 0000  [00]   000002299ba2cf50    001d0 - (busy)

        7ffe91ff21e3 ntdll!RtlpCallInterceptRoutine+0x000000000000003f

        7ffe91f0fd00 ntdll!RtlpAllocateHeapInternal+0x00000000000009e0

        7ffe8774dfc0 igd10iumd64!OpenAdapter10_2+0x00000000001ec040

        7ffe875baa10 igd10iumd64!OpenAdapter10_2+0x0000000000058a90

        7ffe876fdbef igd10iumd64!OpenAdapter10_2+0x000000000019bc6f

        7ffe876fe06d igd10iumd64!OpenAdapter10_2+0x000000000019c0ed

        7ffe8770035a igd10iumd64!OpenAdapter10_2+0x000000000019e3da

        7ffe876fd355 igd10iumd64!OpenAdapter10_2+0x000000000019b3d5

        7ffe874ae8af igd10iumd64+0x00000000000be8af

        7ffe874fe51f igd10iumd64+0x000000000010e51f

        7ffe8b57143a d3d11!CContext::TID3D11DeviceContext_DrawIndexed_<1>+0x000000000000003a

        7ffe8b991fc3 dwmcore!CD3DBatchExecutionContext::SetBlendMode+0x00000000000000f3

        7ffe8b990a77 dwmcore!CHWDrawListEntry::ApplyRenderState+0x0000000000000027

        7ffe8b96da71 dwmcore!CDrawListEntryBatch::Render+0x0000000000000131

        7ffe8a8edf9e d2d1!CD3DDeviceLevel1::ProcessDeferredOperations+0x00000000000002ae

        7ffe8a8ecc84 d2d1!CHwSurfaceRenderTarget::FlushQueuedOperations+0x0000000000000394

        7ffe8a8da944 d2d1!CHwSurfaceRenderTarget::ProcessBatch+0x00000000000000c4

        7ffe8a8d427c d2d1!CBatchSerializer::FlushInternal+0x00000000000000cc

        7ffe8a8da593 d2d1!DrawingContext::Flush+0x0000000000000083

        7ffe8a8da22e d2d1!D2DDeviceContextBase<ID2D1DeviceContext6,ID2D1DeviceContext6,null_type>::EndDraw+0x000000000000011e

        7ffe8b942f2c dwmcore!CD2DContext::EndDraw+0x0000000000000044

        7ffe8b942db7 dwmcore!CD2DContext::PopTarget+0x00000000000000e7

        7ffe8b95033a dwmcore!CDrawingContext::EndFrame+0x00000000000001de

        7ffe8b94dc2f dwmcore!CHwndRenderTarget::Render+0x00000000000004bf

        7ffe8b97147a dwmcore!CComposition::ProcessComposition+0x0000000000000b5a

        7ffe8b96e72a dwmcore!CPartitionVerticalBlankScheduler::ProcessFrame+0x000000000000049a

        7ffe8b96b9e2 dwmcore!CPartitionVerticalBlankScheduler::ScheduleAndProcessFrame+0x0000000000000162

        7ffe8b9f04f5 dwmcore!CConnection::RunCompositionThread+0x0000000000000169

        7ffe904c7974 kernel32!BaseThreadInitThunk+0x0000000000000014

        7ffe91f5a2f1 ntdll!RtlUserThreadStart+0x0000000000000021

 

I hope this might help to speed-up the issue troubleshooting on your side.
Best regards,

Julien

 

HKlum
New Contributor II
1,953 Views

Isnt it "interesting" how everyone can reproduce this except anyone at Intel? And how every single machine with a UHD Graphics 630 is affected by this it seems, but Intel is speaking of a "very small percentage of users"?

SaladCesar
Novice
1,806 Views

Hi,

I've added 2 new dumps to my collection, still accessible here : https://1drv.ms/u/s!AhNGmCtr4NeUpKAfbIiKziUjkcFBrA?e=lAjFa5

These two (the most recent ones) were taken when the issue was clearly present, with DWM taking 2 to 3gb of my RAM.

I hope it will be enough to finally work on this issue, after all these months.

HKlum
New Contributor II
1,595 Views

@Bryce_Intel @RonaldM_Intel can you please have a look at this post:

https://community.intel.com/t5/Graphics/OpenGL-Windows-drivers-for-Intel-HD-630-leaking-GPU-memory-w...

your "moderator colleges" seem kinda confused about it and dont seem to realize the context of it. Would be nice if you could open a bug ticket for it, it might be related to the memory leak of DWM, and if not, it's another rather concerning bug.

RonaldM_Intel
Moderator
1,537 Views

Hi @HKlum 

Done! thanks for bringing this to our attention.

I have added the information provided in that thread to the bug ID 22012524606 to check if it helps our devs investigating this issue. If it turns out to be a separate bug then we will handle it as such.

Best Regards,

Ronald M.

HKlum
New Contributor II
1,339 Views

Just wanted to add the following: I noticed yesterday, that modern standby was, as usually, again broken on my Dell XPS 15 9570, no deep sleep C10 states of the SoC and Windows 10 just mentioned a "NoHwDrips.INTERNAL_BLOCKER" as the cause, so no much help, how could it be different, as what was the cause.

I had installed 27.20.100.8476 btw some days ago and could confirm, that it also didnt cause any memory leaks with dwm.

I installed latest Intel drivers 27.20.100.9466 and with those, modern standby and C10 states were working again.

So I have to warn people about that 27.20.100.8476 will break modern standby and C10 states at least for me.

Just amazing. You have the choice between cholera or pest.

tomato_mustard
Beginner
1,224 Views

Does anyone know if other integrated Intel HD Graphic also have this issue? Or is it just HD Graphics 630?

I'm buying a new laptop, so I'm worried whether their newer lines are also having the same problem or not. Do they use the same driver?

Also, anyone have experience with Ryzen laptop? How is their integrated GPU? 

Rzymianin
Novice
1,181 Views

The new laptop with the card as they currently mark in laptops as only UHD has a memory leak on new Intel graphics drivers.
So there is a risk that new laptops in a similar series unfortunately have the same leak.

e.g. Lenovo Legion 5 (production 2021) Intel UHD Graphics

4095MB NVIDIA GeForce GTX 1650

Intel Core i5-10300H CPU @ 2.50GHz has a leak. So there is a risk that a new laptop with an i5 series processor and integrated UHD graphics may leak.

tinlans
Beginner
1,142 Views

The same issue also occurred on my Intel NUC NUC8i7BEH.

OS: Windows 10 Professional 20H2 (Build 19042.964)
CPU: Intel Core i7-8559U
Graphic: Intel Iris Plus Graphics 655
Driver: 27.20.100.9466

The driver version 27.20.100.8681 provided by the support page of NUC8i7BEH also triggers this issue, so I decided
This issue also occurred in the driver version 27.20.100.8681 provided by the support page of NUC8i7BEH, so I decided to find an up-to-date driver and installed 27.20.100.9466; however, the issue couldn't be solved.

Here is my dump file of dwm.exe: https://drive.google.com/file/d/1aFyW49R47q-G0B1Mo-5nagYWaYlpX6-X/view?usp=sharing

Rexor
Beginner
1,147 Views

Hello Everybody,

I've been struggling with this issue for as long as I can remember now, using my Asus X556UAK laptop (i5-7200U CPU with HD 620 GPU), running Windows 10.

Unfortunately, I haven't figured out what might be the trigger for the issue - though so far I believe it may be either sleep or hibernation -, however, today I've made an observation once the issue had already been triggered: when I'm just idling on my desktop, dwm.exe is more or less stable, but when I opened an application using DirectX, the RAM usage kept growing. I tried this with two applications (Guild Wars 2 game launcher and OBS Studio) and both produced the same behavior: when minimized to the desktop the RAM usage didn't change; otherwise it kept growing by about 1MB/s.

I hope this helps the investigation in any way.

Edit: Driver version is 27.20.100.9168, Windows 10 version is Version 10.0.19042 Build 19042 (20H2, 19042.928).

Best regards,
Alex

Serene
Beginner
934 Views

I'm going to post a bolded text of this mild "workaround" that I've discovered thanks to a comment by someone on one of the many threads (microsoft website, reddit, here I can't remember exactly where) about this issue. I've tweaked the method they posted slightly but it'll be the same main premise. 

I hope that it'll help but it is obviously not really a proper fix to whatever the issue actually is.  It's a way to "deal" with the issue and keep it under control to some degree, I use my computer mainly for gaming and after discovering the DWM issue (I had a BSOD or two before I discovered it. Unfortunately my computer doesn't have a lot of ram at the moment, only 8gb Windows uses around half by itself. So, having DWM gobbling 1-2gb is very bad) 

Workaround:
The poster said the following, he noticed that the memory leak only happens when you shut down and then turn the pc on (people have said stuff about sleep, hibernate, etc) and that the issue seems to go away or be much less if you restart the machine. 

So my methods have been this: 

> If you've shut your computer down when you first turn it on.
> Login and restart.
> Use computer as normal 

Second part of workaround:
I've noticed that after a bit it still leaks but it's less aggressive and after a couple days of shutting down at night, restarting after startup and login that the computer will begin to slow down and get clunky. So I tried the following and it's worked well because it seems to de-gunk the memory clog as it were. 

Workaround part 2:

> Do the above steps as normal for your day, if you notice it's "laggier" than normal do the following. 

> Reboot computer
> In the Windows login screen, click shut down. (It gives you the warning about people losing saved work before you shut it down, that's why I tried it)
> Start up computer
> Login
> Restart again. 

Windows will seem much zippier and faster after this for a few days. 

I hope that the issue gets solved soon, I don't know how to revert the driver so for now the above steps are what I've been doing to cope. I've tried downloading the old version, uninstalling the driver (rollback wasn't available for me because the driver update came with the 20H2 updates) and it just wouldn't let me install the old version. It said it found the appropriate driver in windows (some windows default driver) and wouldn't accept the old-but-new Intel one. I couldn't find an adequate walkthrough to install the older drivers so these are the steps I've been taking to make the memory leak somewhat manageable. 

TurboTacho
Novice
863 Views

It sure is interesting workaround you've provided. As for my rather unique case, I actually did a simple full shutdown (Start > Shift + Shut down) and that effectively resolved my DWM bloating issue. Even if I put the laptop to sleep, the DWM issue would come back, and Intel Graphics Command Center would crash (requires restarting the app to get it running again).

 

In the meantime, I'd send my hello to @Bryce_Intel @RonaldM_Intel , just a friendly poke to check on the status of the issue (I hope you guys were able to upload the huge dump files into the troubleshooting tool). Still keeping my fingers crossed for any great news.

 

HKlum
New Contributor II
924 Views

@Serene ... .... ..... (-: I dont want to be rude but....... You wrote that long post with several """workarounds""", and basically all you just said is: "restart windows." if it starts to leak again do the other workaround "restart windows several times". Erm... right. Yes, obviously that will clear the memory. But that is not a workaround.

Only workaround so far is to use <= 27.20.100.8476.

Serene
Beginner
919 Views

I said a mild workaround with quotation marks for one, babe and for two it's more specific steps than just "restart kekw it'll be better then" because part 2 mentions that eventually it gets sloggy even after "restarting windows several times"

But I guess if you actually read the post you'd understand that. I'm not going to apologize for wanting to share what I'm personally doing because I know other people are having issues, waiting patiently for a fix. 

Imagine forum flaming in this day and age? 

HKlum
New Contributor II
910 Views

@Serene And I said your post is 100% nonsense. You can delete it.

Woz58
Beginner
841 Views

"I dont want to be rude but." So you say you don't want to be rude but you then decide to try **bleep** on someone for giving a mild workaround. Also, you do know what workaround means, right? You can't be such low IQ that you say "REEE NONSENSE DELETE REEE". I see your issue, you use intel. I know it's hard being a user of such a bad CPU chip, but for a very low price of £588 you could get yourself a Ryzen 9 5900x, which far out performs Intel CPU's.

Azure
Beginner
837 Views

I find it baffling that you say 'not to sound rude' but you do exactly that. You did nothing to provide any useful addition to Serene's post nor did you provide anything contributing to the conversation right there. In fact, from what I'm reading, all your comments after the fact have been about as useful as a leaf blower in a house fire.
' Yes, obviously that will clear the memory. But that is not a workaround.'
If we're really going to get technical here because you seem so adamant that Serene's workaround is not infact a workaround, I'll so humbly provide you with this piece of information, sourced from dictionary.cambridge website the definition of workaround is as follows:

 
a way of dealing with a problem or making something work despite the problem, without completely solving it:

There's a difference between a workaround and a solution.
So, on from this. Let's review, someone here on a forum has provided their experience which has seemed to have resolved the issue they're dealing with albeit a temporary solution but a solution nonetheless and all you can do is shrug it off, say it's not a workaround and call it nonsense will making zero contribution to the conversation in any meaningful way.

If anyone should delete their post, it should be you. All you've done is made comments filled with unprovoked animosity and really, I just think it's sad and pathetic.




 

HKlum
New Contributor II
818 Views

@Woz58 "someone for giving a mild workaround." That was NOT A WORKAROUND. "Also, you do know what workaround means, right?" I do. You dont. Same as @Azure I guess.

"a way of dealing with a problem or making something work despite the problem, without completely solving it". Restarting or resetting something is not a workaround. It would be the same as saying "throw the Pc out of the window, buy a new one, use it until memory leaks, then throw it out, buy a new one." THAT IS TOTALLY NONSENSE.

Restarting a PC is redundant knowledge everyone has. That is nothing you write a huge post about with huge bold WORKAROUND.

Azure
Beginner
788 Views

That's a workaround that's worked for them. It temporarily resolved the issue, but you're likening it to saying 'throw pc out window, buy new one, rinse and repeat'.
This just proves that you're also intellectually incapable of courtesy to some degree. They made a post, on a forum, providing their experience with this issue and what has worked for them. You seem to be venting for no reason, you're trying to put someone down for trying to help and I just can't process in my head which part of your brain thinks at some point that 'you know what? I'll respond in a negative manner even though this person is providing their experience.' 
They formatted their text and you have issue with that? They wrote a lengthier post than you would want? Listen up sweet cheeks, that's just making the post readable, but you can probably debate that I'm sure with some eloquent response that you're thinking up as you're reading this. 

Again, I don't see where this unprovoked animosity is coming from. Just read it and move on, that's what you could have done. But somewhere in your head you just couldn't do that?

Serene
Beginner
774 Views

I'd like to think my DWM.exe not using 300mb in a matter of minutes post-shutdown > bootup when using restart instead of booting up from a shutdown would be considered a workaround. 


TurboTacho
Novice
539 Views

Just a little shocker while I was playing games/test streaming on Twitch/chatting on Discord with friends. My laptop completely froze for a good minute or two because it ran out of RAM (that's 64GB), and peaked at 95% at around 45GB before going down slightly.

DWM.0.png

Though I'm running on 27.20.100.9466. Half my senses tell me it's partially Microsoft's to blame as well. But apparently they only have community forums and not actual ones...

Reply