Vista Style Builder

   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Custom theme causing DWM to crash [no Aero :(]  (Read 19770 times)
xyl360
Beginner
*
Posts: 34


View Profile
« on: December 26, 2015, 02:14:45 am »

I've been progressively modifying my shell theme over the past several months without issues until recently when I began to have 2 particular problems.  The first was the gdiplus.dll issue I spoke of in a previous thread.  I'm willing to live with that one as it's fairly minor.

The second, and the reason I'm posting this is that today my custom themes started causing DWM to crash thus disabling all Aero glass effects.  Every time I attempt to apply one of my custom themes or even test them in WSB the Desktop Window Manager crashes thus disabling all Aero effects.  I've had these crashes before but they were intermittent and did not happen frequently and I was still able to use my themes with Aero Glass enabled but today that is no longer the case and any time I try to use or even test my custom themes the Desktop Window Manager crashes within seconds and restarting it does not enable Aero glass.  If I launch a new instance of WSB and open the original Aero theme or any custom theme which I have not modified (such as one of the ones my current custom theme is based on) Aero glass will function again if I restart the DWM service.  Rebooting does not resolve the problem either unfortunately.

Any ideas?
Logged
Panda X
Administrator
Dedicated Helper
*****
Posts: 1645



View Profile
« Reply #1 on: December 26, 2015, 06:20:56 am »

Make sure that no properties are missing under the DWMWindow (Windows & Caption Buttons > Aero > DWM Window) class when comparing your theme to the default Aero. If any properties there are missing, DWM will crash.
Logged
xyl360
Beginner
*
Posts: 34


View Profile
« Reply #2 on: December 26, 2015, 08:31:51 am »

If you mean directly in the root of the path Windows & Caption buttons > Aero > DWM Window then the only property I see there is DISKSTREAM:DISKSTREAM and it is present in the working themes as well as my own.  If you mean under any of the sub-paths then that will take some time to check, but if that's what's necessary I'll do so.

Please let me know, and thanks for your assistance.
Logged
3am
Beta Tester
Dedicated Helper
*
Posts: 2428



View Profile
« Reply #3 on: December 26, 2015, 02:48:28 pm »

You should be using the WSB Beta found here: http://vistastylebuilder.com/forum/index.php?topic=2130.0

It already has a check preventing you removing properties from the DWM:



If you are still using the default VSB then you are going to have to check EVERYTHING in Windows & Caption Buttons > Aero > DWM Window
in your msstyles against default Aero to see if you are missing any properties. EVERYTHING.

If you are missing anything either add it back in or copy/paste it from Aero to your msstyles.

To make the comparison easier snap WSB with your msstyles to one side of your screen and then open up another WSB by holding down the shift key, snap this to the other side of your screen and open aero msstyles there. This will make checking the two against each other easier to see and do.
Logged
xyl360
Beginner
*
Posts: 34


View Profile
« Reply #4 on: December 26, 2015, 08:43:43 pm »

Yeah, I wasn't using the beta.  OK, I'll check everything.  Do I also need to worry about extra properties or are those OK?  For example under "Windows & Caption Buttons > Aero > DWM Window > Frames > Window > Bottom" I have added a "CONTENTMARGINS:MARGINS" property that doesn't exist in the default Aero theme there.
Logged
xyl360
Beginner
*
Posts: 34


View Profile
« Reply #5 on: December 26, 2015, 08:59:08 pm »

Thank you so much for the help guys.  I found the culprit and corrected the issue and now Aero is working with my theme once more Smiley.
Logged
3am
Beta Tester
Dedicated Helper
*
Posts: 2428



View Profile
« Reply #6 on: December 26, 2015, 10:08:52 pm »

So what was wrong?
Logged
xyl360
Beginner
*
Posts: 34


View Profile
« Reply #7 on: December 26, 2015, 11:57:31 pm »

It was one of the properties I'd removed for the "Overlay Sides" item under "Reflections".  Once I restored that the theme loaded without crashing DWM just fine.  I haven't tested to see if my GDIPlus woes have been fixed, but I doubt it since that issue started with this theme long before Aero Glass stopped working.

edit: Nope, the GDIPlus issue still remains.  I just tested and it still happens.  That issue was present with the base theme that mine is based on so it has nothing to do with any changes I made and is something the original author did.  If you guys are familiar with that problem and what modifications might cause it I'm all ears.  I have another thread here on this forum about the issue but we weren't able to track it down.  If I load the default Aero theme that issue does not occur, but as soon as I use my custom theme or the theme upon which mine is based it happens just about every other time I try to load an image by double-clicking it to view it in MS Picture Viewer.
« Last Edit: December 27, 2015, 12:01:53 am by xyl360 » Logged
Panda X
Administrator
Dedicated Helper
*****
Posts: 1645



View Profile
« Reply #8 on: December 27, 2015, 05:07:06 am »

I doubt GDIPlus is related to the msstyles directly. Do you use GDI++ or WindowBlinds/WindowFX (I believe these override some stuff in gdiplus though I could be wrong)
Logged
xyl360
Beginner
*
Posts: 34


View Profile
« Reply #9 on: December 27, 2015, 05:20:00 am »

I doubt GDIPlus is related to the msstyles directly. Do you use GDI++ or WindowBlinds/WindowFX (I believe these override some stuff in gdiplus though I could be wrong)
I use WindowFX, but were that the cause then it would still occur with the default Aero theme.  I don't know what GDI++ is so I'm certain I don't use that.

edit: I just tested turning WindowFX off and the issue still occurred.
« Last Edit: December 27, 2015, 05:22:28 am by xyl360 » Logged
xyl360
Beginner
*
Posts: 34


View Profile
« Reply #10 on: December 27, 2015, 08:27:12 am »

I just verified it again.  I made no changes to anything at all.  I opened an image by double-clicking it and it opened fine.  I closed Picture Viewer and double-clicked the same image once more and this time I got the "COM Surrogate has stopped working" error indicating DllHost.exe and gdiplus.dll.  I repeated this several times and was able to reproduce it every time.  Each second time I attempt to open an image (it need not be the same image, I simply used the same one this time to eliminate different images/sizes/formats etc. as a variable).  I launched WSB and loaded the default Aero theme and hit the 'Test' button.  Once it loaded (Aero enabled and fully functional) I then repeated the same test with the same image and this time no errors, no crash, no issues whatsoever.  The image opened every single time in Picture Viewer without any problems at all.  I repeated this at least 10 times in a row with the same results.  I then hit the "Stop testing" button and repeated the test and once again, every other time I tried to open the image I got the same COM Surrogate error and Picture Viewer failed to load and likewise every other time it would work just fine.  It must be something with this theme since nothing else is changing, though I'm not ruling out the possibility that it is an incompatibility with this theme and some other software resulting in the error, but the theme itself must be part of the equation because using the default Aero theme, even when just testing it in WSB the error never occurs.
Logged
3am
Beta Tester
Dedicated Helper
*
Posts: 2428



View Profile
« Reply #11 on: December 27, 2015, 04:30:47 pm »

“COM Surrogate” is a DllHost.exe process created by any other process which wants to execute some code from a Dll but it doesn’t want to execute the code in its own space since it does not trust the code in terms of stability. So it creates a “surrogate” to execute the code. If that Dll code dies during execution only the DllHost.exe surrogate process dies (giving us this “COM Surrogate has stopped working” error) instead of the initial process.

So for some inexplicable reason PhotoViewer sometimes doesn't trust any image codes and so calls up a DllHost COM Surrogate to process
them. The dll selected to do this is gdiplus in C:\Windows\WinSxS which often fails to do so properly.

So you get one of 2 messages: "The remote procedure call failed" or "Com Surrogate has stopped working". The faulting application is Dllhost.exe and the faulting module is gdiplus.dll.

I don't know why PhotoViewer has this problem. It happens in default Aero so it has nothing to do with the msstyles. It happens randomly and usually when trying to view images successively. It's a bug in PhotoViewer. It shouldn't need to call a surrogate  which in turn shouldn't be gdiplus in WinSxS.
Logged
xyl360
Beginner
*
Posts: 34


View Profile
« Reply #12 on: December 27, 2015, 06:14:26 pm »

“COM Surrogate” is a DllHost.exe process created by any other process which wants to execute some code from a Dll but it doesn’t want to execute the code in its own space since it does not trust the code in terms of stability. So it creates a “surrogate” to execute the code. If that Dll code dies during execution only the DllHost.exe surrogate process dies (giving us this “COM Surrogate has stopped working” error) instead of the initial process.

So for some inexplicable reason PhotoViewer sometimes doesn't trust any image codes and so calls up a DllHost COM Surrogate to process
them. The dll selected to do this is gdiplus in C:\Windows\WinSxS which often fails to do so properly.

So you get one of 2 messages: "The remote procedure call failed" or "Com Surrogate has stopped working". The faulting application is Dllhost.exe and the faulting module is gdiplus.dll.

I don't know why PhotoViewer has this problem. It happens in default Aero so it has nothing to do with the msstyles. It happens randomly and usually when trying to view images successively. It's a bug in PhotoViewer. It shouldn't need to call a surrogate  which in turn shouldn't be gdiplus in WinSxS.
You guys keep saying this, and while I have no doubt that under certain conditions on some (or even most) systems you are correct, I can and have proven time and again that this never happens on my system unless using either my custom theme or the dark theme upon which it is based.  I can replicate the error consistently and it is always the same and it occurs exactly every second time I try to launch Photo Viewer and never ever happens at all when the default Aero theme (or any of my other custom themes) is active/in use.  I'm telling you there must be some causal relationship here between the theme I am using and this error, at least on my system.  There is simply no other possible explanation, otherwise it would not occur so consistently when my custom theme is in use and yet never occur at all when Aero or any other custom theme is in use.  It may well be that it is being caused by my custom theme and some other software or modification on my system, but the theme must be a factor, otherwise it would still happen when all those other modifications are still active and I'm using the default Aero theme (or any other custom theme besides the Blade theme I based my theme on or my own modified version of it).
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.12 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!