<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx</link><description>Besides Aero Glass, one of the most visible features of Windows Vista is the Sidebar with its set of default Gadgets, like the clock, RSS feed, and photo viewer. The convenience of having frequently-accessed information on the desktop and the ease of</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2179249</link><pubDate>Tue, 16 Oct 2007 00:48:42 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2179249</guid><dc:creator>Darrin Stevens</dc:creator><description>&lt;p&gt;Was the function checking a version just a victim of the memory leak then?&lt;/p&gt;
&lt;p&gt;And when looking at stack traces with lines like:&lt;/p&gt;
&lt;p&gt;sidebar!Package::EnsurePackageMinVersion&lt;/p&gt;
&lt;p&gt;Is the bit after the ! and before the :: a c++ object? Are there any good resources to read to help understand stack traces?&lt;/p&gt;
&lt;p&gt;Great post!!!&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2179330</link><pubDate>Tue, 16 Oct 2007 01:11:41 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2179330</guid><dc:creator>markrussinovich</dc:creator><description>&lt;p&gt;Yes, the package-version functionality was a victim of the leak. &lt;/p&gt;
&lt;p&gt;The way to read the symbol is:&lt;/p&gt;
&lt;p&gt;&amp;lt;image&amp;gt;!&amp;lt;class&amp;gt;::&amp;lt;method&amp;gt;&lt;/p&gt;
&lt;p&gt;Thanks for the feedback.&lt;/p&gt;
</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2180523</link><pubDate>Tue, 16 Oct 2007 06:39:08 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2180523</guid><dc:creator>denisbider</dc:creator><description>&lt;p&gt;In my experience - and probably not just my own - the quality of Windows Sidebar is far, _far_ below par for such a prominent feature in such a major release of the world's most popular operating system.&lt;/p&gt;
&lt;p&gt;Like I wrote in March:&lt;/p&gt;
&lt;p&gt;&amp;quot;I don't know who signed off on a Sidebar of this quality going into the Vista release, but whoever it was, it must have been the kind of B category employee that Bill Gates supposedly said Microsoft ought not to employ.&lt;/p&gt;
&lt;p&gt;&amp;quot;The whole Sidebar thing looks like it's been polished by Microsoft, but developed by students. It's just not good enough. Not by a wide margin.&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://denisbider.blogspot.com/2007/03/doghouse-windows-sidebar.html"&gt;http://denisbider.blogspot.com/2007/03/doghouse-windows-sidebar.html&lt;/a&gt;&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2180537</link><pubDate>Tue, 16 Oct 2007 06:42:16 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2180537</guid><dc:creator>Martin Plante</dc:creator><description>&lt;p&gt;Great in-depth explanation, as usual.&lt;/p&gt;
&lt;p&gt;Could the repeated use of window.SetTimeout within the same function the source of the problem? Would it be easy to convert the code to use window.setInterval instead, and compare? I could try it myself if I knew which gadget it is! q;-)&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2180952</link><pubDate>Tue, 16 Oct 2007 08:37:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2180952</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;I expected GetFileVersionInfoExW to return an error instead of using a null-pointer. Why not file a bug for that?&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2181098</link><pubDate>Tue, 16 Oct 2007 09:13:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2181098</guid><dc:creator>bcthanks</dc:creator><description>&lt;p&gt;A big thanks for taking the time to debug and file a bug report. Otherwise I'm sure all the blame is falling on the gadget's author, and worse, soon there will be a lot of folklore about &amp;quot;don't call RemoveObjects because there's a leak in sidebar.exe ...&amp;quot;&lt;/p&gt;
&lt;p&gt;Two observations:&lt;/p&gt;
&lt;p&gt;1. somebody isn't checking for NULL after calling malloc(). sidebar.exe should never crash.&lt;/p&gt;
&lt;p&gt;2. Microsoft is isolating their gadgets from everyone elses by running two sidebar.exe? Are their gadets more trustworthy than others? Why not isolate every gadget on its own?&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2181119</link><pubDate>Tue, 16 Oct 2007 09:19:55 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2181119</guid><dc:creator>Mathieu CHATEAU</dc:creator><description>&lt;p&gt;Your post rocks, as always !&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2181160</link><pubDate>Tue, 16 Oct 2007 09:34:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2181160</guid><dc:creator>Mathieu CHATEAU</dc:creator><description>&lt;p&gt;Do you think that reporting the bug to Microsoft through the Error reporting service would have lead to the same ? Since this error is due to something local (a gadget) that expose a memory leak in a windows API.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2181184</link><pubDate>Tue, 16 Oct 2007 09:41:43 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2181184</guid><dc:creator>Tommy Svensson</dc:creator><description>&lt;p&gt;I love these thrilling investigations of yours Mark! Very educative and entertaining!&lt;/p&gt;
&lt;p&gt;Thanks a lot!&lt;/p&gt;
&lt;p&gt;/Tommy&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2181361</link><pubDate>Tue, 16 Oct 2007 10:33:04 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2181361</guid><dc:creator>Fleet Command</dc:creator><description>&lt;p&gt;May I ask what did you write when you filed the issue in the Windows Bug database? I'm just curious on how would you file a bug like this.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2181641</link><pubDate>Tue, 16 Oct 2007 11:35:14 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2181641</guid><dc:creator>Lasse Jari Hansen</dc:creator><description>&lt;p&gt;I wish someone would notice the celsius bug in built-in Weather gadget.&lt;/p&gt;
&lt;p&gt;* If you have it set for showing degrees in celsius, it will only check the weather rougly once a day. You will notice this as your work day progresses and the weather changes outside, but not in the gadget.&lt;/p&gt;
&lt;p&gt;* Change back to fahrenheit anytime, and the weather changes to the correct status.&lt;/p&gt;
&lt;p&gt;* Set it to degrees again and the &amp;nbsp;wrong weather status (from morning time) returns.&lt;/p&gt;
&lt;p&gt;I have tried to locate the source of the bug but seems to come from the dll &amp;nbsp;&amp;quot;wlsrvc.dll&amp;quot; in &amp;quot;c:\Program Files\Windows Sidebar&amp;quot;, which the gadget uses for weather services.&lt;/p&gt;
&lt;p&gt;Maybe this could be a future case story?&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2182288</link><pubDate>Tue, 16 Oct 2007 13:51:56 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2182288</guid><dc:creator>Jack H</dc:creator><description>&lt;p&gt;As always great post.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2182375</link><pubDate>Tue, 16 Oct 2007 14:09:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2182375</guid><dc:creator>jody</dc:creator><description>&lt;p&gt;Man I love this stuff!&lt;/p&gt;
&lt;p&gt;Thanks, Mark.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2182645</link><pubDate>Tue, 16 Oct 2007 15:00:01 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2182645</guid><dc:creator>Santhosh</dc:creator><description>&lt;p&gt;cannot understand one thing, how come such critical APIs passthrough testing with this kind of Bug !!.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2183699</link><pubDate>Tue, 16 Oct 2007 18:24:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2183699</guid><dc:creator>J.R. Raith</dc:creator><description>&lt;p&gt;I know -exactly- which gadget ran into this memory leak, heh. Or, at least, I know of -a- gadget that, if left alone for a few days (say, over the weekend) causes sidebar.exe to start nomming up RAM. And then, when you close it, sidebar ramps up.&lt;/p&gt;
&lt;p&gt;What I find most amusing, though, is that the ending of sidebar.exe doesn't identify the correct gadget that may have caused the problem...&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2183760</link><pubDate>Tue, 16 Oct 2007 18:35:32 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2183760</guid><dc:creator>dumian</dc:creator><description>&lt;p&gt;Hi Mark,&lt;/p&gt;
&lt;p&gt;I have seen it on my machine also, and the symbols drive me to same leaking scenario. quite interesting stuff.&lt;/p&gt;
&lt;p&gt;btw is any public release of the 6.8.0.0.1 windbg ?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;cosmin&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2184809</link><pubDate>Tue, 16 Oct 2007 21:55:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2184809</guid><dc:creator>Adi R</dc:creator><description>&lt;p&gt;Mark,&lt;/p&gt;
&lt;p&gt;Awesome investigation, as usual.&lt;/p&gt;
&lt;p&gt;However, I think you are doing a major dis-service to us IT community by not revealing the name of the gadget. A Rogue gadget like this can kill entire Vista, on PCs with 1GB of RAM and relatively low Virtual Memory space, people will keep running into slowness of their system and not knowing why.&lt;/p&gt;
&lt;p&gt;Was the author of the gadget notified at least? To give him/her a chance to maybe come up with a work around for the problem, for time being?&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2184985</link><pubDate>Tue, 16 Oct 2007 22:36:35 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2184985</guid><dc:creator>Neil Prestemon</dc:creator><description>&lt;p&gt;I wish that the debug symbols were more accessible to non-developers. &amp;nbsp;It seems like you have to have an expensive MSDN membership just to have access to these tools; yet a lot of employers won't justify that for a person who is in a test or systems engineering role, who could find such tools useful for troubleshooting, even though they don't necessarily sling-code as their primary job. &amp;nbsp;&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2185181</link><pubDate>Tue, 16 Oct 2007 23:10:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2185181</guid><dc:creator>markrussinovich</dc:creator><description>&lt;p&gt;The Windbg debugger and debug symbols are available to anybody. See the link to the symbol server in the blog post. &lt;/p&gt;
</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2192552</link><pubDate>Wed, 17 Oct 2007 19:55:16 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2192552</guid><dc:creator>Jean Gauthier</dc:creator><description>&lt;p&gt;&amp;quot;Two observations:&lt;/p&gt;
&lt;p&gt;1. somebody isn't checking for NULL after calling malloc(). sidebar.exe should never crash. &lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;This is false. If after a malloc, you get a NULL pointer, what can you do? &lt;/p&gt;
&lt;p&gt;Trying to prevent that makes only the program crash elsewhere and its really tough track back the error in that case, because the stack trace is irrelevent. I suggest only adding debug asserts.&lt;/p&gt;
&lt;p&gt;May I had that powerful memory leak revealer tools exist for both Native and Managed code. A trivial leak like this might have been easily found.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2193915</link><pubDate>Thu, 18 Oct 2007 01:12:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2193915</guid><dc:creator>edgar</dc:creator><description>&lt;p&gt;Strange.&lt;/p&gt;
&lt;p&gt;It's not only a bug. &lt;/p&gt;
&lt;p&gt;Looks also like a bad design.&lt;/p&gt;
&lt;p&gt;This canvas API's should not make any File-Version-Check ?&lt;/p&gt;
&lt;p&gt;Or do I miss something ?&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2196334</link><pubDate>Thu, 18 Oct 2007 10:51:50 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2196334</guid><dc:creator>manaya</dc:creator><description>&lt;p&gt;Amazing post! really gets in depth to the &amp;quot;digging to the bug&amp;quot; process in a very educative and entertaining way. &lt;/p&gt;
&lt;p&gt;M.-&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2199265</link><pubDate>Thu, 18 Oct 2007 19:46:56 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2199265</guid><dc:creator>Nader</dc:creator><description>&lt;p&gt;Hi Mike&lt;/p&gt;
&lt;p&gt;Great investigation,&lt;/p&gt;
&lt;p&gt;Quick Question please, I'm trying to create a folder named &amp;quot;con&amp;quot; on Windows Vista Desktop, and I'm receiving an error message &amp;quot;The specified device name is invalid&amp;quot;...&lt;/p&gt;
&lt;p&gt;Any Explanation!! :(&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2203936</link><pubDate>Fri, 19 Oct 2007 12:24:01 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2203936</guid><dc:creator>Nader</dc:creator><description>&lt;p&gt;Great,&lt;/p&gt;
&lt;p&gt;Thanks Terry.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2205218</link><pubDate>Fri, 19 Oct 2007 16:36:54 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2205218</guid><dc:creator>markrussinovich</dc:creator><description>&lt;p&gt;Con is a reserved name in Win32 that represents serial ports. &lt;/p&gt;
&lt;p&gt;Thanks for the feedback.&lt;/p&gt;
</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2208269</link><pubDate>Sat, 20 Oct 2007 02:23:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2208269</guid><dc:creator>Nektar</dc:creator><description>&lt;p&gt;1. If you get NULL after allocating memory then you should inform the user not crash!&lt;/p&gt;
&lt;p&gt;2. If &amp;quot;con&amp;quot; is a reserved device name then say so and not give an uninformative message &amp;quot;the device name is invalid&amp;quot;!&lt;/p&gt;
&lt;p&gt;The second issue has existed for year in Windows and still not fixed. Also,&lt;/p&gt;
&lt;p&gt;3. When you overwrite or delete a file in Windows Explorer which is in use, Windows does not still inform you by which application the file is used so that &amp;nbsp;you may close that application before deleting/overwriting the file.&lt;/p&gt;
&lt;p&gt;This issue has also existed for years.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2208276</link><pubDate>Sat, 20 Oct 2007 02:24:53 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2208276</guid><dc:creator>Nektar</dc:creator><description>&lt;p&gt;By the way, &amp;quot;con&amp;quot; represents the console (keyboard) I think.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2216061</link><pubDate>Sun, 21 Oct 2007 01:58:38 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2216061</guid><dc:creator>Frymaster</dc:creator><description>&lt;p&gt;inform the user how? &amp;nbsp;bearing in mind anything you do can't involve allocating memory...&lt;/p&gt;
&lt;p&gt;and if you _do_ inform the user, what then? &amp;nbsp;it's not like you can do anything about it, so you'll have to close anyway.&lt;/p&gt;
&lt;p&gt;closing your application and informing the user is, not coincidentally, what happens when an application crashes, with the added advantage that a bug report is generated that might lead to the issue being fixed.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2216655</link><pubDate>Sun, 21 Oct 2007 03:25:21 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2216655</guid><dc:creator>Terry</dc:creator><description>&lt;p&gt;I've submitted those automatic crash reports for years, without seeing any change after many updates. I've concluded that if I'm very lucky and the crash is resolved, it will be in the next version of Windows, not this one.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2218105</link><pubDate>Sun, 21 Oct 2007 07:46:09 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2218105</guid><dc:creator>Erwin Ried</dc:creator><description>&lt;p&gt;Mark, are you seen the bug in the Calendar Gadget?&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.fayerwayer.com/up/2007/10/vista-calendario.png"&gt;http://www.fayerwayer.com/up/2007/10/vista-calendario.png&lt;/a&gt; (13th August is twice)&lt;/p&gt;
&lt;p&gt;I tried to fix it, but is very tricky because I discovered Javascript was the origin of the error, especially with Date.getDate() and Date.getDay() functions.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2226518</link><pubDate>Mon, 22 Oct 2007 10:16:16 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2226518</guid><dc:creator>Norman Diamond</dc:creator><description>&lt;p&gt;Tuesday, October 16, 2007 2:55 PM by Adi R &lt;/p&gt;
&lt;p&gt;&amp;gt; However, I think you are doing a major&lt;/p&gt;
&lt;p&gt;&amp;gt; dis-service to us IT community by not&lt;/p&gt;
&lt;p&gt;&amp;gt; revealing the name of the gadget. A Rogue&lt;/p&gt;
&lt;p&gt;&amp;gt; gadget like this can kill entire Vista,&lt;/p&gt;
&lt;p&gt;The Rogue application was Vista itself. &amp;nbsp;Maybe you need to read the article again. &amp;nbsp;The gadget invoked APIs correctly, the defective APIs leaked memory, the defective APIs killed the correctly written gadget, and the defective APIs killed the sidebar.&lt;/p&gt;
&lt;p&gt;Once upon a time I would be amazed that Mr. Russinovich was able to submit a bug report without paying a fee, and/or that the answer didn't come back &amp;quot;not reproducible inside of Microsoft&amp;quot;. &amp;nbsp;Of course now those days are gone, since Microsoft bought him.&lt;/p&gt;
&lt;p&gt;Wednesday, October 17, 2007 12:55 PM by Jean Gauthier &lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt; &amp;quot;1. somebody isn't checking for NULL after&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt; calling malloc(). sidebar.exe should never&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt; crash.&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;gt; This is false. If after a malloc, you get a&lt;/p&gt;
&lt;p&gt;&amp;gt; NULL pointer, what can you do? &lt;/p&gt;
&lt;p&gt;Report an error. &amp;nbsp;If doing something less trivial than this case, try to give the user a chance to save their work, even though you can't make any further changes to it. &amp;nbsp;Try to send a crash dump to the developer.&lt;/p&gt;
&lt;p&gt;&amp;gt; Trying to prevent that makes only the program&lt;/p&gt;
&lt;p&gt;&amp;gt; crash elsewhere and its really tough track&lt;/p&gt;
&lt;p&gt;Bingo. &amp;nbsp;That's exactly what happened. &amp;nbsp;That's exactly why you need to check the result of malloc instead of barging on ahead like Vista does.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2236948</link><pubDate>Tue, 23 Oct 2007 22:52:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2236948</guid><dc:creator>jgurtz</dc:creator><description>&lt;p&gt;I find it most amusing (after coming all this way to a protected address space with NT, and leaving behind the crashy world of DOS/Win3.xx and Win9x!) that we are seeing a problem where one gadget's misfortune is affecting all the others.&lt;/p&gt;
&lt;p&gt;Come on now. &amp;nbsp;Haven't we all agreed that reliability trumps efficient RAM usage? &amp;nbsp;.NET/Java and Vista its self seem to be fairly compelling supporting arguments to that in an age where most new machines will be outfitted with 2GB of RAM.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2253126</link><pubDate>Fri, 26 Oct 2007 02:36:18 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2253126</guid><dc:creator>ShawnNa</dc:creator><description>&lt;p&gt;Mark, please consider a related but much more sinister leak:&lt;/p&gt;
&lt;p&gt;function leakTimer() {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;window.setInterval(&amp;quot;leakTimer();&amp;quot;, 10000);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;This is one of the rare problems that I was not able to isolate using sysinternal or microsoft tools! The actual problem had a much larger interval so would lock up the machine if left overnight. But besides a slight increase in memory usage and high kernel mode cpu, there's little else to go on. Because it affects the windows message dispatch loop, all UI threads start showing high kernel mode cpu, making it very difficult to even isolate down to the process which caused the problem. Tools that did work (non-UI) like kernrate also showed nothing. All I could tell from instrumenting my (completely unrelated) app was that PeekMessage and GetMessage was taking an unusually long time. In hindsight, this is expected since that looks to be the place WM_TIMER messages are shed or generated. Worse of all, if this was accomplished over a period of time in a native app which did the equivalent of:&lt;/p&gt;
&lt;p&gt;for(int i=0; i&amp;lt;30000; i++) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;SetTimer(NULL, i, 0, NULL);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;you would see no excessive memory or cpu usage in the offending app! It's disappointig that Microsoft doesn't provide some protection from a single badly written app. Any suggetions on how something like this could be tracked down or how to gain insight into the GetMessage/DispatchMessage loop? In the end, I was only able to stumble upon the solution by luck using bear.exe:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://run.to/sz"&gt;http://run.to/sz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;and noticing the high number of Timer object in the Systems Process (don't know what that means either as it's shown with pid 0). Sorry for the long post but I thought you might find this interesting and would appreciate any feedback.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2253485</link><pubDate>Fri, 26 Oct 2007 03:55:33 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2253485</guid><dc:creator>Norman Diamond</dc:creator><description>&lt;p&gt;&amp;quot;(after coming all this way to a protected address space with NT [...]) that we are seeing a problem where one gadget's misfortune is affecting all the others.&amp;quot;&lt;/p&gt;
&lt;p&gt;No, we are seeing a problem where the OS's misfortune is affecting all of the applets.&lt;/p&gt;
&lt;p&gt;In some ways it's like getting a BSOD, though not as serious. &amp;nbsp;In Windows 2000 if you used Windows Media Player and got a BSOD, then the misfortune affected all running applications (and affected disk files if any had been open for writing at the time). &amp;nbsp;But Windows Media Player wasn't the reason, the video driver was the reason. &amp;nbsp;Microsoft did better testing on video drivers that they put into XP. &amp;nbsp;Now maybe they'll do better testing on user mode libraries that they put into the successor of Vista.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2275574</link><pubDate>Mon, 29 Oct 2007 01:35:25 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2275574</guid><dc:creator>Woo</dc:creator><description>&lt;p&gt;Hello Mark,&lt;/p&gt;
&lt;p&gt;Your article is really helpful. Thanks.&lt;/p&gt;
&lt;p&gt;BTW, I have a question regarding Process Explorer. (Sorry for posting this question here. Your blog is the only place that I can ask a question.) Sometimes ProcExp doesn't show some properties in the properties box's Performance tab like following picture.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.debuglab.com/board/upload/procexp_abnormality.jpg"&gt;http://www.debuglab.com/board/upload/procexp_abnormality.jpg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What happened to the process?&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2288483</link><pubDate>Tue, 30 Oct 2007 17:15:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2288483</guid><dc:creator>David Solomon</dc:creator><description>&lt;p&gt;the &amp;quot;n/a&amp;quot; you are seeing is because you don't have rights to access that information for the LSM process. &amp;nbsp;Try running Process Explorer elevated and you'll see that information.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2334116</link><pubDate>Mon, 05 Nov 2007 05:08:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2334116</guid><dc:creator>John Wiltshire</dc:creator><description>&lt;p&gt;&amp;gt; This is false. If after a malloc, you get a&lt;/p&gt;
&lt;p&gt;&amp;gt; NULL pointer, what can you do?&lt;/p&gt;
&lt;p&gt;&amp;gt;Report an error. &amp;nbsp;If doing something less trivial &lt;/p&gt;
&lt;p&gt;&amp;gt;than this case, try to give the user a chance to&lt;/p&gt;
&lt;p&gt;&amp;gt;save their work, even though you can't make any&lt;/p&gt;
&lt;p&gt;&amp;gt;further changes to it. &amp;nbsp;Try to send a crash dump&lt;/p&gt;
&lt;p&gt;&amp;gt;to the developer.&lt;/p&gt;
&lt;p&gt;Have you ever tried to do any of this when you know you can't allocate anything on the heap?&lt;/p&gt;
&lt;p&gt;&amp;quot;Report an error&amp;quot; is going to require heap memory to display a dialog box. &amp;nbsp;Bad luck on that one then.&lt;/p&gt;
&lt;p&gt;&amp;quot;Let the user save their work&amp;quot; is definitely going to require heap memory to manage the save file, as well as the dialog boxes and the like needed to present useful information to the user.&lt;/p&gt;
&lt;p&gt;&amp;quot;Sending a crash dump&amp;quot; - again, needs heap memory to write the file. &amp;nbsp;Remember, even something as simple as fopen() doesn't work because it ultimately calls malloc().&lt;/p&gt;
&lt;p&gt;If malloc() returns NULL then your program is dead in the water. &amp;nbsp;The absolute best you can usually do without having an &amp;quot;emergency space&amp;quot; preallocated to work in (as well as a few file handles open) is simply exit without showing a crash box. &amp;nbsp;Not really much nicer than just flat out crashing, and crashing at least gives the ability for the *system* to send a crash report to the developer.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2353046</link><pubDate>Wed, 07 Nov 2007 03:09:18 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2353046</guid><dc:creator>Norman Diamond</dc:creator><description>&lt;p&gt;'&amp;quot;Report an error&amp;quot; is going to require heap memory to display a dialog box.'&lt;/p&gt;
&lt;p&gt;Yup. &amp;nbsp;Well let's take one of my examples from last month. &amp;nbsp;Depending on what order some DLL's had been loaded in, I couldn't malloc 1.2GB for a particular structure. &amp;nbsp;Oops, I could get enough heap memory to display a dialog box, so the user could see the error message instead of being left hanging. &amp;nbsp;Sorry for not meeting your quality standards.&lt;/p&gt;
&lt;p&gt;'&amp;quot;Let the user save their work&amp;quot; is definitely going to require heap memory to manage the save file'&lt;/p&gt;
&lt;p&gt;True, which is why some textbooks recommend allocating that memory when your program starts, and then using it when you need it.&lt;/p&gt;
&lt;p&gt;'If malloc() returns NULL then your program is dead in the water'&lt;/p&gt;
&lt;p&gt;Go back to school. &amp;nbsp;Do not pass go.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2419715</link><pubDate>Mon, 12 Nov 2007 16:30:51 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2419715</guid><dc:creator>Frymaster</dc:creator><description>&lt;p&gt;&amp;gt; I've submitted those automatic crash reports for years, without seeing any change after&lt;/p&gt;
&lt;p&gt;&amp;gt; many updates. I've concluded that if I'm very lucky and the crash is resolved,&lt;/p&gt;
&lt;p&gt;&amp;gt;it will be in the next version of Windows, not this one.&lt;/p&gt;
&lt;p&gt;The only answer really is &amp;quot;it depends&amp;quot; - an annoying occasional bluescreen I got every now and then when using nmap (winpcap was the actual crashing program) was solved by an update to the windows kernel about 3 months after I started sending error reports with my computer model, network card, and mentioning the word &amp;quot;nmap&amp;quot;. &amp;nbsp;Maybe that was coincidence, maybe not.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2542021</link><pubDate>Thu, 22 Nov 2007 07:47:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2542021</guid><dc:creator>CJ</dc:creator><description>&lt;p&gt;I think the reason for this memory leak is simply the recursive call setInterval. All you have to do is log the D/T stamp and you'll see that the # of leakTimer() call will grow exponenially. So each call to leakTimer it in itself will trigger more calls to itself after the set delay (in addition to the original &amp;quot;timed&amp;quot; called).&lt;/p&gt;
&lt;p&gt;function leakTimer() {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; window.setInterval(&amp;quot;leakTimer();&amp;quot;, 1000);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2552197</link><pubDate>Sat, 24 Nov 2007 07:02:34 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2552197</guid><dc:creator>ShawnNa</dc:creator><description>&lt;p&gt;Mark, thanks for the reply. Yes, I know the problem is with a recursive call to SetInterval. The point I was trying to make is actually how badly the operating system behaves under a timer leak (even a non-exponential leak). Try writing a simple C++ application which simply creates lots of timers with a NULL handle. If this was done over a sufficiently long period, you will see that the only visble symptom is a general slowness of all UI threads with excessive kernel mode cpu usage. There will be very few clues that point to what's wrong or which process is causing the slowness. I was wondering what debugging techniques you would employ to track this down.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2615688</link><pubDate>Thu, 06 Dec 2007 11:17:12 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2615688</guid><dc:creator>Joseph</dc:creator><description>&lt;p&gt;&amp;gt; If malloc() returns NULL then your program is dead in the water.&lt;/p&gt;
&lt;p&gt;Let's try to use malloc(), LocalAlloc() or HeapAlloc() to allocate 2GB memory at a time, you will definitely receive a NULL pointer. &amp;nbsp;But this does not mean that you program have crashed. &amp;nbsp;The NULL value only means that the API could not complete your request and memory is not allocated in the user space. &amp;nbsp;You could still do a complete cleanup and graceful exit. &amp;nbsp;Even though your memory allocation will not be as large as 2GB, if the system do not have a large enough continuous memory space, you could still receive a NULL pointer.&lt;/p&gt;
&lt;p&gt;What does 'dead in the water' mean? &amp;nbsp;To me, it means a memory chip failed and flips one or two bits, or the heap table is corrupted. &amp;nbsp;In these cases, your program probably hangs in the kernel or issue an exception, and the alloc() functions simply do not return, and you hardly need to think of any way to handle it.&lt;/p&gt;
&lt;p&gt;I still remember that several years ago when I read some old programming books, there still had some footnotes saying like &amp;quot;for clarity, the example does not illustrate the handling code, and the readers are responsible for doing this.&amp;quot; &amp;nbsp;However, some days later, I saw that most of the people just knew how to copy code, using just the piece of example code without any error handling. &amp;nbsp;What a bad habit......&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2642318</link><pubDate>Thu, 13 Dec 2007 12:21:29 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2642318</guid><dc:creator>James</dc:creator><description>&lt;p&gt;I think Joseph and Norman are right: unless it was a very, very small memory allocation which failed (i.e. you've actually used up 99.999% of your available RAM, usually through a huge number of tiny allocations, as in the memory leak case here) you *can* - and should - try to report the error. It's much more likely for a larger allocation to fail, which can easily be reported and recovered from sensibly. Often the failure isn't a true shortage of resources, but erroneous usage of them: in Norman's case, a DLL which interferes with very large allocations later, in other cases a corrupt or misinterpreted file. (Rename almost any data file to .com/.exe and try running it, you'll get a memory allocation error from Windows: it tries to interpret the data as a program header, resulting in a 'program' which has nonsensical memory requirements like requesting 800k of the 640k conventional memory area.)&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2669216</link><pubDate>Sat, 22 Dec 2007 12:22:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2669216</guid><dc:creator>Philip from Australia</dc:creator><description>&lt;p&gt;ok, it's been a while since I have programmed. But couldn't you pre-allocate some space on the heap in order to gracefully handle an error event like that? Maybe you'd need a GOTO to get to it, but isn't that ok if your code is in a 'oh heck, I have to quit NOW' situation?&lt;/p&gt;
&lt;p&gt;Just a thought for graceful exiting in a memory allocation failure situation. &lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2692723</link><pubDate>Sun, 30 Dec 2007 20:15:37 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2692723</guid><dc:creator>Bio</dc:creator><description>&lt;p&gt;2 CJ and ShawnNa &lt;/p&gt;
&lt;p&gt;there was window.setTimeout and not &amp;nbsp;window.setInterval&lt;/p&gt;</description></item><item><title>Bill Gates now an Honorary Antiaging Wunderkind</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#2938443</link><pubDate>Thu, 28 Feb 2008 06:26:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2938443</guid><dc:creator>Peter J. Lupo Esq.</dc:creator><description>&lt;p&gt;This seemed a fitting place to make this wonderful announcement.&lt;/p&gt;
&lt;p&gt;See the list w/ babyfaced Mr. Gates on it here:&lt;/p&gt;
&lt;p&gt;antiaging4geeks.com&lt;/p&gt;
&lt;p&gt;Just scroll down the page a bit.&lt;/p&gt;
&lt;p&gt;AND, just for the record, I noticed this exact problem with my sidebar gadgets: it is especially interesting when an afterimage remains and I have to left click and attempt to select the area in order to remove it.&lt;/p&gt;
&lt;p&gt;Most interesting.&lt;/p&gt;
&lt;p&gt;I had been the most rabid Microsoft/Windows/PC supporter in the multiverse until recently. I am still a fan, but endless glitches and the iPhone have led me somewhat astray.&lt;/p&gt;
&lt;p&gt;Still love Vista, though, for all its issues.&lt;/p&gt;
&lt;p&gt;Peter J. Lupo Esq.&lt;/p&gt;
&lt;p&gt;antiaging4geeks.com&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#3007517</link><pubDate>Mon, 17 Mar 2008 04:07:18 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3007517</guid><dc:creator>gfig</dc:creator><description>&lt;p&gt;Unbelievably, this is not fixed in SP1. &amp;nbsp;I'm curious if your &amp;quot;report&amp;quot; to Microsoft was even looked at.&lt;/p&gt;
&lt;p&gt;Something tells me it sits in the same status as it did when reported in October 07. &amp;nbsp;A shame really, because though I can turn the sidebar off, or use an alternative, you'd think Microsoft would give attention to something most casual PC users would play with. &amp;nbsp;For these are the people who will be affected most, and not have a clue about the cause.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#3104698</link><pubDate>Wed, 13 Aug 2008 11:49:40 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3104698</guid><dc:creator>Richard</dc:creator><description>&lt;p&gt;Hi Mark,&lt;/p&gt;
&lt;p&gt;Another great and informative blog, just one questions/critisism.&lt;/p&gt;
&lt;p&gt;Can you please include the commands you are using in Windbg, when you use them, there are of course resources out their that list all of them, but some of us are fairly new to this game and a step by step would save alot of time and error when trying to run similar bugchecks&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Richard&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#3108492</link><pubDate>Tue, 19 Aug 2008 15:23:43 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3108492</guid><dc:creator>gina</dc:creator><description>&lt;p&gt;Hi, &lt;/p&gt;
&lt;p&gt;My gadgets have completely frozen!!!! I downlaoded about 30 new ones today &amp;amp; they all kept going on the sidebar which is now frozen. I shouldn't have put them all there but the side bar just kept making new columns &amp;amp; I've only had my laptop for about a month. It's a great computer, i have not had one single issue. Now the whole side bar is black, even after trying to restart the computer about 10 times!!! Please help! What should I do? You can email me at blondebabyfashionista@yahoo.com.au&lt;/p&gt;
&lt;p&gt;Thankyou so much&lt;/p&gt;</description></item><item><title>re: The Case of the Frozen Clock Gadget</title><link>http://blogs.technet.com/markrussinovich/archive/2007/10/15/2178879.aspx#3144372</link><pubDate>Thu, 30 Oct 2008 04:43:01 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3144372</guid><dc:creator>Yuhong Bao</dc:creator><description>&lt;p&gt;So if I am experiencing the problem right now, what should I do? Contact PSS and get a hotfix?&lt;/p&gt;
&lt;p&gt;PS: I think you need to do a blog article on this.&lt;/p&gt;</description></item></channel></rss>