{"id":35923,"date":"2005-04-12T08:56:47","date_gmt":"2005-04-12T08:56:47","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2005\/04\/12\/theres-an-awful-lot-of-overclocking-out-there\/"},"modified":"2005-04-12T08:56:47","modified_gmt":"2005-04-12T08:56:47","slug":"theres-an-awful-lot-of-overclocking-out-there","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20050412-47\/?p=35923","title":{"rendered":"There&#039;s an awful lot of overclocking out there"},"content":{"rendered":"<p>\nA bunch of us were going through some Windows crashes\nthat people sent in by clicking the &#8220;Send Error Report&#8221; button\nin the crash dialog.\nAnd there were huge numbers of them that made no sense whatsoever.\nFor example, there would be code sequences like this:\n<\/p>\n<pre>\n   mov ecx, dword ptr [someValue]\n   mov eax, dword ptr [otherValue]\n   cmp ecx, eax\n   jnz generateErrorReport\n<\/pre>\n<p>\nYet when we looked at the error report, the <code>ecx<\/code>\nand <code>eax<\/code> registers were equal!\nThere were other crashes of a similar nature,\nwhere the CPU simply lots its marbles and\ndid something &#8220;impossible&#8221;.\n<\/p>\n<p>\nWe had to mark these crashes as &#8220;possibly hardware failure&#8221;.\nSince the crash reports are sent anonymously,\nwe have no way of contacting the submitter to ask them\nfollow-up questions.\n(The ones that the group I was in was investigating were failures that\nwere hit only once or twice, but were of the type that\nwere deemed worthy of close\ninvestigation because the types of errors they uncovered&mdash;if\nvalid&mdash;were serious.)\n<\/p>\n<p>\nOne of my colleagues had a large collection of failures\nwhere the program crashed at the instruction\n<\/p>\n<pre>\n  xor eax, eax\n<\/pre>\n<p>\nHow can you crash on an instruction that simply sets a register to zero?\nAnd yet there were hundreds of people crashing in precisely this way.\n<\/p>\n<p>\nHe went through all the published errata to see whether any of them\nwould affect an &#8220;xor eax, eax&#8221; instruction.  Nothing.\n<\/p>\n<p>\nHe sent email to some Intel people he knew to see if they could\nthink of anything.\n[Aside from overclocking, of course.\n&#8211; Added because people apparently take my stories hyperliterally\nand require me to spell out the tiniest detail,\neven the stuff that is so obvious that it should go without saying.\nI didn&#8217;t want to give away the story&#8217;s punch line too soon!]\nThey said that the only [other] thing they could think of was that perhaps\nsomebody had mis-paired RAM on their motherboard, but their\ndescription of what sorts of things go wrong when you mis-pair\ndidn&#8217;t match this scenario.\n<\/p>\n<p>\nSince the failure rate for this particular error was comparatively\nhigh (certainly higher than the one or two I was getting for\nthe failures I was looking at),\nhe requested that the next ten people to encounter this error\nbe given the opportunity to leave their email address and telephone\nnumber so that he could call them and ask follow-up questions.\nSome time later, he got word that ten people took him up on this\noffer, and he sent each of them e-mail asking them various questions\nabout their hardware configurations, including whether they were\noverclocking.\n[- Continuing from above aside:\nSee? Obviously overclocking was considered as a possibility.]\n<\/p>\n<p>\nFive people responded saying, &#8220;Oh, yes, I&#8217;m overclocking.\nIs that a problem?&#8221;\n<\/p>\n<p>\nThe other half said, &#8220;What&#8217;s overclocking?&#8221;\nHe called them and walked them through some configuration information\nand was able to conclude that they were indeed all overclocked.\nBut these people were not overclocking on purpose.\n<strong>The computer was already overclocked\nwhen they bought it<\/strong>.\nThese &#8220;stealth overclocked&#8221; computers\ncame from small, independent &#8220;Bob&#8217;s Computer Store&#8221;-type shops,\nnot from one of the major computer manufacturers or retailers.\n<\/p>\n<p>\nFor both groups, he suggested that they stop overclocking or at least\nnot overclock as aggressively.\nAnd in all cases, the people reported that their computer that used\nto crash regularly now runs smoothly.\n<\/p>\n<p>\nMoral of the story:\nThere&#8217;s a lot of overclocking out there,\nand it makes Windows look bad.\n<\/p>\n<p>\nI wonder if it&#8217;d be possible to detect overclocking from software\nand put up a warning in the crash dialog,\n&#8220;It appears that your computer is overclocked.\nThis may cause random crashes.\nTry running the CPU at its rated speed to improve stability.&#8221;\nBut it takes only one false positive to get people saying,\n&#8220;Oh, there goes Microsoft\nblaming other people for its buggy software again.&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A bunch of us were going through some Windows crashes that people sent in by clicking the &#8220;Send Error Report&#8221; button in the crash dialog. And there were huge numbers of them that made no sense whatsoever. For example, there would be code sequences like this: mov ecx, dword ptr [someValue] mov eax, dword ptr [&hellip;]<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[26],"class_list":["post-35923","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-other"],"acf":[],"blog_post_summary":"<p>A bunch of us were going through some Windows crashes that people sent in by clicking the &#8220;Send Error Report&#8221; button in the crash dialog. And there were huge numbers of them that made no sense whatsoever. For example, there would be code sequences like this: mov ecx, dword ptr [someValue] mov eax, dword ptr [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/35923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=35923"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/35923\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=35923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=35923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=35923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}