<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" media="screen" href="/App_Themes/default/rss.xslt"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:evnet="http://www.mscommunities.com/rssmodule/"><channel><title>Comment Feed for Sebastian Burckhardt - Data Race Detection with CHESS (Peli on Channel 9)</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/posts/peli/data-race-detection-with-chess/rss/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Comment Feed for Sebastian Burckhardt - Data Race Detection with CHESS (Peli on Channel 9)</title><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/</link></image><description>Sebastian Burckhardt - Data Race Detection with CHESS</description><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/</link><language>en-us</language><pubDate>Thu, 05 Nov 2009 09:01:23 GMT</pubDate><lastBuildDate>Thu, 05 Nov 2009 09:01:23 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3608.3122, Culture=neutral, PublicKeyToken=null)</generator><item><title>Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;p&gt;Very helpful. Thanks you very much&lt;a href="http://www.4as.biz/jeu-rami-gratuit/"&gt;.&lt;/a&gt;&lt;a href="http://www.kuhm.fr"&gt;.&lt;/a&gt;&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=504444</link><pubDate>Thu, 05 Nov 2009 08:59:33 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=504444</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/504444/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Very helpful. Thanks you very much..</evnet:previewtext><dc:creator>Adam6</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/504444/Trackback.aspx</trackback:ping></item><item><title>Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;p&gt;Good job .&lt;a href="http://www.poker-attitude.com"&gt;.&lt;/a&gt;. thank you for this help.&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=498182</link><pubDate>Mon, 12 Oct 2009 21:24:20 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=498182</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/498182/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Good job ... thank you for this help.</evnet:previewtext><dc:creator>michel jean</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/498182/Trackback.aspx</trackback:ping></item><item><title>Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;p&gt;It's ok, it works !! Thanks a lot hack2root.&lt;a href="http://www.bingofr.com"&gt;.&lt;/a&gt;&lt;a href="http://www.ramifr.com"&gt;.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;David&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=488949</link><pubDate>Tue, 01 Sep 2009 14:48:29 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=488949</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/488949/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>It's ok, it works !! Thanks a lot hack2root...
&amp;nbsp;
David</evnet:previewtext><dc:creator>JulienK</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/488949/Trackback.aspx</trackback:ping></item><item><title>Re: Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;p&gt;Thanks hack2roothotmai. It definitely works.&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=482572</link><pubDate>Mon, 03 Aug 2009 19:28:34 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=482572</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/482572/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Thanks hack2roothotmai. It definitely works.</evnet:previewtext><dc:creator>Early</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/482572/Trackback.aspx</trackback:ping></item><item><title>Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;p&gt;Thanks hack2roothotmai, it works perfectly..&lt;a href="http://www.tendances-de-mode.com"&gt;.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I was looking for something like that :)&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=481090</link><pubDate>Mon, 27 Jul 2009 13:02:56 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=481090</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/481090/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Thanks hack2roothotmai, it works perfectly...
I was looking for something like that :)</evnet:previewtext><dc:creator>sater</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/481090/Trackback.aspx</trackback:ping></item><item><title>Re: Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;p&gt;I tested it, it works !&lt;br /&gt;Many thanks for this excellent post !!!&lt;br /&gt;--&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=476996</link><pubDate>Mon, 06 Jul 2009 10:14:23 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=476996</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/476996/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I tested it, it works !Many thanks for this excellent post !!!--</evnet:previewtext><dc:creator>agence</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/476996/Trackback.aspx</trackback:ping></item><item><title>Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;p&gt;Excellent post! Great use of Picture-in-picture technology. Improves user experience a lot&lt;/p&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;p&gt;seems to be a bug in the comment recording. my comment box showed up blank while the comment showed up under hack2roothotmai??!!&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=474781</link><pubDate>Sun, 21 Jun 2009 12:13:12 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=474781</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/474781/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Excellent post! Great use of Picture-in-picture technology. Improves user experience a lot
and
seems to be a bug in the comment recording. my comment box showed up blank while the comment showed up under hack2roothotmai??!!</evnet:previewtext><dc:creator>garrettvm</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/474781/Trackback.aspx</trackback:ping></item><item><title>Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;div&gt;
&lt;p&gt;I spent a couple of time to build a good, working solution for .NET&amp;nbsp;2.0 / 3.5,&amp;nbsp;so you do not need to wait and install .NET 4.0&lt;/p&gt;
&lt;p&gt;Can you test it using CHESS?&lt;/p&gt;
&lt;p&gt;Abstract:&lt;/p&gt;
&lt;pre&gt;&lt;div&gt;&lt;div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public abstract class PluginBaseWorkItem&amp;lt;T&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private static object _sync = new object();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private T _item;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public T Item { get { return _item; } }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void Run()&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;WaitHandle&amp;gt; _waitHandles = new List&amp;lt;WaitHandle&amp;gt;();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; TaskCount; i++)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _waitHandles.Add(new AutoResetEvent(false));&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; TaskCount; i++)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ThreadPool.QueueUserWorkItem(new WaitCallback(ProcessHandle), _waitHandles[i]);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; WaitHandle.WaitAll(_waitHandles.ToArray());&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; protected abstract void ProcessItem();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; protected void SetValue(T item)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _item = item;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; protected T GetValue()&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return _item;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; protected virtual int TaskCount { get { return Environment.ProcessorCount; } }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private void Process()&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessItem();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private void ProcessHandle(object sync)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; AutoResetEvent waitHandle = (AutoResetEvent)sync;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Process();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; waitHandle.Set();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private class WorkItem : PluginBaseWorkItem&amp;lt;Puzzle&amp;gt;&lt;/p&gt;
&lt;pre&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void ProcessItem()&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; DlxEngine engine = new DlxEngine();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Puzzle value = engine.Generate(20);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; lock (this)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Puzzle item = GetValue();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (item == null || value.Rating &amp;gt; item.Rating)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SetValue(value);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public static IPuzzle Create()&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; WorkItem workItem = new WorkItem();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; workItem.Run();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; IPuzzle puzzle = workItem.Item;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return Create(puzzle.Text, puzzle.Seed);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=474728</link><pubDate>Sat, 20 Jun 2009 16:01:38 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=474728</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/474728/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I spent a couple of time to build a good, working solution for .NET&amp;nbsp;2.0 / 3.5,&amp;nbsp;so you do not need to wait and install .NET 4.0
Can you test it using CHESS?
Abstract:
&amp;nbsp;&amp;nbsp;&amp;nbsp; public abstract class PluginBaseWorkItem&amp;lt;T&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#8230;</evnet:previewtext><dc:creator>hack2roothotmai</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/474728/Trackback.aspx</trackback:ping></item><item><title>Re: Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;p&gt;CHESS only places&amp;nbsp;schedule points&amp;nbsp;at synchronization points (calls to System.Threading API, volatiles, interlocked increments). So you need data race detection to uncover more bugs. CHESS now has an option /preemptaccesses that places schedule points before every read/write. However, as currently implemented, this has high overhead.&lt;/p&gt;
&lt;p&gt;-- Tom&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=473823</link><pubDate>Mon, 15 Jun 2009 12:39:47 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=473823</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/473823/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>CHESS only places&amp;nbsp;schedule points&amp;nbsp;at synchronization points (calls to System.Threading API, volatiles, interlocked increments). So you need data race detection to uncover more bugs. CHESS now has an option /preemptaccesses that places schedule points before every read/write. However, as&amp;#8230;</evnet:previewtext><dc:creator>Tom Ball</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/473823/Trackback.aspx</trackback:ping></item><item><title>Re: Sebastian Burckhardt - Data Race Detection with CHESS</title><description>&lt;p&gt;cool stuff :)&lt;/p&gt;
&lt;p&gt;but im a little bit confused.. why didnt the old chess find this bug? if it ran with all the combinations of context switches, wouldnt the assert&amp;nbsp;be false?&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=473803</link><pubDate>Mon, 15 Jun 2009 08:55:40 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/posts/Peli/Data-Race-Detection-with-CHESS/?CommentID=473803</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/473803/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>cool stuff :)
but im a little bit confused.. why didnt the old chess find this bug? if it ran with all the combinations of context switches, wouldnt the assert&amp;nbsp;be false?</evnet:previewtext><dc:creator>Allan Lindqvist</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/473803/Trackback.aspx</trackback:ping></item></channel></rss>