<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>Where do &amp;quot;checked&amp;quot; and &amp;quot;free&amp;quot; come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx</link><description>People who have MSDN or the DDK know that Windows is typically built in two different flavors, "Checked" and "Free". The primary difference between the two is that the "checked" build has traces and asserts, but the free build doesn't. Where did those</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458589</link><pubDate>Wed, 31 Aug 2005 21:53:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458589</guid><dc:creator>David</dc:creator><description>So, are there still sanity checks in the Free build?</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458642</link><pubDate>Thu, 01 Sep 2005 00:05:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458642</guid><dc:creator>PatriotB</dc:creator><description>&amp;quot;After some internal debate, we settled on &amp;quot;Checked&amp;quot; for the &amp;quot;O:on, T:on, A:on, S:on&amp;quot; and &amp;quot;Free&amp;quot; for the &amp;quot;O:on, T:off, A:off, S:on&amp;quot; build.  Checked because it had all the checks enabled, and free because it was &amp;quot;check free&amp;quot;.&amp;quot;&lt;br&gt;&lt;br&gt;Wait a sec... but they both have &amp;quot;S:on&amp;quot; (sanity checks on)... shouldn't they both be checked, and the differentiation be on the assertions?</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458659</link><pubDate>Thu, 01 Sep 2005 00:18:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458659</guid><dc:creator>LarryOsterman</dc:creator><description>No, the point is that the sanity checks are always on, the original intent was that they'd be removed for retail, but that never happened.&lt;br&gt;&lt;br&gt;The checked/free differentiation is about traces and asserts.&lt;br&gt;</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458662</link><pubDate>Thu, 01 Sep 2005 00:27:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458662</guid><dc:creator>LarryOsterman</dc:creator><description>David, yes, the sanity checks are still there.  The concept of a &amp;quot;retail&amp;quot; build in it s original form no longer exists.&lt;br&gt;</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458785</link><pubDate>Thu, 01 Sep 2005 02:58:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458785</guid><dc:creator>foxyshadis</dc:creator><description>Out of abject curiosity, is this only true in NT and derivatives, or does this include programs like office, exchange, etc as well? I know anything built in .Net would have various sanity checks as well.</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458791</link><pubDate>Thu, 01 Sep 2005 03:19:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458791</guid><dc:creator>Manip</dc:creator><description>Can we get an example of a sanity check you're likely to find within Windows?</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458849</link><pubDate>Thu, 01 Sep 2005 04:48:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458849</guid><dc:creator>Norman Diamond</dc:creator><description>&amp;gt; And as the NT 3.1 project progressed, the&lt;br&gt;&amp;gt; team eventually realized that (a) since&lt;br&gt;&amp;gt; they'd never actually tested the &amp;quot;retail&amp;quot;&lt;br&gt;&amp;gt; build,&lt;br&gt;&lt;br&gt;With more modern versions the opposite seems to be the case.  For example maybe I'm the only person who tried to install Visual Studio 2005 July CTP onto a checked build (couldn't do it) or the earlier beta 2 (got most of it done).  And maybe I'm the only person who noticed some of the messages displayed in WindBag by mmc.exe and some other stuff under a checked build.  Obviously the kernel itself does run under a checked build so some teams are still dogfooding a checked build, and some driver writers mention how much they depend on checked builds.  Can you persuade some of the other teams how valuable it would be to do the same?</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458878</link><pubDate>Thu, 01 Sep 2005 05:40:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458878</guid><dc:creator>Drew</dc:creator><description>I think this is the first post from you about internal stuff that I had absolutely no clue about. I had no idea whatsoever. And I'd never thought to ask anyone.&lt;br&gt;&lt;br&gt;Thanks for the info.&lt;br&gt;&lt;br&gt;I wonder why there is no &amp;quot;Windows Lore&amp;quot; wiki somewhere. I haven't even seen anything like that internally. Without one, what will the rest of us do when the mothership comes to take you and Raymond away?</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458915</link><pubDate>Thu, 01 Sep 2005 08:43:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458915</guid><dc:creator>Centaur</dc:creator><description>How does one decide what becomes an assertion and what becomes a sanity check? Aren’t both assumptions that will cause undefined behavior if violated?</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458943</link><pubDate>Thu, 01 Sep 2005 10:40:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458943</guid><dc:creator>Anonymous coward</dc:creator><description>Just curious.....&lt;br&gt;&lt;br&gt;Most test teams inside Microsoft use the fre builds (x86fre, ia64fre etc) for feature verification / BVTs / Sanity Passes.&lt;br&gt;&lt;br&gt;Which brings me to these ..........&lt;br&gt;&lt;br&gt;1- How often does your test team use a chk build for automated testing? Not as often as you possibly think... &lt;br&gt;&lt;br&gt;2- I don't think the chk build is ever used for selfhosting or deployment purposes.&lt;br&gt;&lt;br&gt;3- Most teams use test hooks (e.g. registry keys) to turn on debug messages / traces / spews on fre builds. Plus you always have private symbols available for debugging. So what real advantage does a chk build have over a fre build?&lt;br&gt;&lt;br&gt;4- Then why do the build labs go through such pains to generate the checked builds for each feature branch (vbl_???_???). And that too on a daily basis. It clearly doesn't find much usage..... &lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458970</link><pubDate>Thu, 01 Sep 2005 13:29:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458970</guid><dc:creator>LarryOsterman</dc:creator><description>Manip,  I can't come up with any examples, mostly because after 15 years any examples are long gone - the conditionals that made the &amp;quot;extra checks&amp;quot; are long gone so the concept is meaningless at this point.&lt;br&gt;&lt;br&gt;AC: We don't use checked builds that often, but we run all our stuff checked - for some components that are relatively self contained (like the audio subsystem), it's totally possible to drop a checked set of binaries onto a retail system.  The checked build was always intended for testing purposes, not deployment/selfhost test (although I know some people who selfhost on checked builds (brave souls them)).&lt;br&gt;&lt;br&gt;And the reason that checked builds are built and tested is that the checked builds catch problems daily.&lt;br&gt;</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#458985</link><pubDate>Thu, 01 Sep 2005 15:16:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:458985</guid><dc:creator>Manip</dc:creator><description>Oh sorry, I misunderstood. I thought Windows had generic sanity checking in it today... &lt;br&gt;&lt;br&gt;Although it kind of does if you compile using Visual Studio 2005 but not things that the programmer has to worry about. </description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#459044</link><pubDate>Thu, 01 Sep 2005 17:33:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:459044</guid><dc:creator>LarryOsterman</dc:creator><description>Manip, there are all KINDS of sanity checks in the OS.  But they're all just part of the normal OS, they're not specifically called out.&lt;br&gt;&lt;br&gt;At one time there were #if !RTL conditional compilation macros around the &amp;quot;sanity checks&amp;quot;, the #if checks have been removed because we're never going to turn the RTL flag on.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#459202</link><pubDate>Thu, 01 Sep 2005 21:08:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:459202</guid><dc:creator>Mike</dc:creator><description>One project I worked on (within MS but not the OS group) called the variation of optimizations:on and assert/spew/etc:on &amp;quot;Armor&amp;quot;.  I have no idea where that term came from though.  Armor builds tended to be the ones that most people used on a day-to-day basis and they only dropped to Debug builds when the optimizer just got to funky with the code to figure it out without a lot of pain.</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#459211</link><pubDate>Thu, 01 Sep 2005 21:22:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:459211</guid><dc:creator>Chris</dc:creator><description>I worked on Microsoft's Windows 2000 QA team back in the mid 1990s. We rarely tested the checked builds, but I would occasionally. The checked builds were sloooooow, like 20x slower than the free builds!</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#459268</link><pubDate>Thu, 01 Sep 2005 22:31:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:459268</guid><dc:creator>Mike</dc:creator><description>(I posted this previously but it seems to have gone in to the bit bucket)&lt;br&gt;&lt;br&gt;A project I worked on (at MS but not in the OS group) used the term &amp;quot;Armor&amp;quot; to refer to the optimizations:on and assert/spew/etc:on case.  I don't know the history behind this term though.&lt;br&gt;&lt;br&gt;Most devs used armor builds for day-to-day work and only dropped to debug builds when the optimizer was particularly unforgiving with respect to the debugger.</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#459281</link><pubDate>Thu, 01 Sep 2005 22:47:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:459281</guid><dc:creator>Manip</dc:creator><description>I understand. I just place sanity checks in their own category, I mean when you for example read in data and want to check IF(Number(Data)) that isn't a &amp;quot;sanity check&amp;quot;, that is a validation check. A sanity check is when you have had the data within the program for a while and just add a random check to make sure whatever you're processing is what you think it is.. But something that you NEVER intend to trip off. </description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#459755</link><pubDate>Fri, 02 Sep 2005 08:30:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:459755</guid><dc:creator>Wei</dc:creator><description>&amp;gt;&amp;gt; we settled on &amp;quot;Checked&amp;quot; for the &amp;quot;O:on, T:on, A:on, S:on&amp;quot; &lt;br&gt;&lt;br&gt;Is it still true today? Currently DDK setenv.bat file sets O:off for &amp;quot;Checked&amp;quot; build.&lt;br&gt;&lt;br&gt;:checked&lt;br&gt;rem set up an NT checked build environment&lt;br&gt;set MSC_OPTIMIZATION=/Od /Oi&lt;br&gt;&lt;br&gt;/Od - This option turns off all optimizations</description></item><item><title>Example of Goofy bugs</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#460287</link><pubDate>Sat, 03 Sep 2005 02:01:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:460287</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>Here's an sampling of various goofy bugs we've had to deal with in the CLR Debugging services over the...</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#460356</link><pubDate>Sat, 03 Sep 2005 04:04:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:460356</guid><dc:creator>Wei</dc:creator><description>&amp;gt; we settled on &amp;quot;Checked&amp;quot; for the &amp;quot;O:on, T:on, A:on, S:on&amp;quot; &lt;br&gt;&lt;br&gt;Is it still true today? the DDK build environment sets /Od for checked build and disables compiler optimization.&lt;br&gt;&lt;br&gt;set MSC_OPTIMIZATION=/Od /Oi </description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#460523</link><pubDate>Sat, 03 Sep 2005 17:26:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:460523</guid><dc:creator>LarryOsterman</dc:creator><description>Wei, that's the DDK, not what's MS builds.  &lt;br&gt;&lt;br&gt;The optimizations are turned off because optimizations will mess up debugging.  We live with the inconvenience internally because it catches optimizer bugs, but that's a concious choice that we made internally.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#460883</link><pubDate>Mon, 05 Sep 2005 04:12:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:460883</guid><dc:creator>Norman Diamond</dc:creator><description>Thursday, September 01, 2005 2:22 PM by Chris &lt;br&gt;&lt;br&gt;&amp;gt; The checked builds were sloooooow, like 20x&lt;br&gt;&amp;gt; slower than the free builds! &lt;br&gt;&lt;br&gt;Yes, but they catch 20x as many bugs.&lt;br&gt;&lt;br&gt;Does someone really read reports sent by Windows Error Reporting?  If so, ask them if it would have been 20x slower for developers and testers to dogfood Microsoft's own code on a checked build than it is for analysts to interpret the reports.</description></item><item><title>re: Where do "checked" and "free" come from?</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#463820</link><pubDate>Mon, 12 Sep 2005 06:08:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:463820</guid><dc:creator>Norman Diamond</dc:creator><description>Wednesday, August 31, 2005 9:48 PM by Norman Diamond &lt;br&gt;&lt;br&gt;&amp;gt; Obviously the kernel itself does run under a&lt;br&gt;&amp;gt; checked build&lt;br&gt;&lt;br&gt;Liar.  Did you even think of trying Windows XP SP2 checked build in any environment other than guest machine under Virtual PC?  Uhhh, OK sure you did, there's that 7 year old desktop machine on that desk next to you and it worked, but did you even think of trying a 5 year old machine with devices more powerful than the Virtual PC emulations?  And how are you going to find if newer drivers even exist when Internet Explorer aborts every time you try to do a Windows Update?&lt;br&gt;&lt;br&gt;You should think about things like that before you post.  &amp;quot;Obviously&amp;quot; indeed.  You know how much you hate it when you find yourself lying.</description></item><item><title>That must have hurt...</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#1462433</link><pubDate>Sat, 13 Jan 2007 23:36:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1462433</guid><dc:creator>Ayende @ Blog</dc:creator><description>&lt;p&gt;That must have hurt...&lt;/p&gt;</description></item><item><title> Larry Osterman s WebLog Where do checked and free come from | alternative dating</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#9768724</link><pubDate>Wed, 17 Jun 2009 11:09:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9768724</guid><dc:creator> Larry Osterman s WebLog Where do checked and free come from | alternative dating</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://topalternativedating.info/story.php?id=14164"&gt;http://topalternativedating.info/story.php?id=14164&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Larry Osterman s WebLog Where do checked and free come from | storage bench</title><link>http://blogs.msdn.com/larryosterman/archive/2005/08/31/458572.aspx#9782176</link><pubDate>Fri, 19 Jun 2009 10:44:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9782176</guid><dc:creator> Larry Osterman s WebLog Where do checked and free come from | storage bench</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://thestoragebench.info/story.php?id=1510"&gt;http://thestoragebench.info/story.php?id=1510&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>