<p>Oops accidentally replied off list </p>
<div class="gmail_quote">---------- Forwarded message ----------<br>From: "Rob Wilkens" <<a href="mailto:robwilkens@gmail.com">robwilkens@gmail.com</a>><br>Date: Jul 29, 2012 4:22 PM<br>Subject: Re: [Mono-dev] Patches for mono-winforms<br>
To: "Steven Boswell II" <<a href="mailto:ulatekh@yahoo.com">ulatekh@yahoo.com</a>><br><br type="attribution"><p>On a bright note, I think my phase of programming for fun is over for now.  It's become clear to me that I am not very good at it.  Perhaps in the future if I read/learn/practice more ill give it an honest effort again.  I am a decent hacker, but at this time an out of practice engineer.  Hope I get to give it another go in the future.</p>
<div class="elided-text">

<div class="gmail_quote">On Jul 29, 2012 3:57 PM, "Rob Wilkens" <<a href="mailto:robwilkens@gmail.com" target="_blank">robwilkens@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<p>The one idle per thread test was first created by me and committed by Miguel, but I thought he backed out the whole patch... It was part of a bigger patch and was tested on three platforms as a whole. </p>
<div class="gmail_quote">On Jul 29, 2012 11:44 AM, "Steven Boswell II" <<a href="mailto:ulatekh@yahoo.com" target="_blank">ulatekh@yahoo.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div style="font-family:'times new roman','new york',times,serif;font-size:12pt"><a href="https://github.com/mono/mono/commit/38bdbad5071487a11f4330077c383375dce39840" target="_blank">https://github.com/mono/mono/commit/38bdbad5071487a11f4330077c383375dce39840</a><br>


</div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt"><br></div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">This change introduced a OneIdlePerThread unit test that has never worked for me.  All I get is the following exception:</div>


<div style="font-family:'times new roman','new york',times,serif;font-size:12pt"><br></div><div><font face="times new roman, new york, times, serif">System.InvalidOperationException : Cannot call Invoke or BeginInvoke on a control until the window
 handle is created</font><br></div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt"><br></div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">


Patch #18 fixes that by creating a Form type that calls CreateHandle() in its constructor.  But now the unit test hangs hard in Mono!</div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">


<br></div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">I created a project with the unit-test, and when run in Mono, it hangs hard; selecting "Run -> Pause" in MonoDevelop hangs MonoDevelop, and the debugged process chews up 100% of the CPU time</div>


<div style="font-family:'times new roman','new york',times,serif;font-size:12pt"><br></div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">I ran the project in .NET,
 and instead of a hang, I get this exception:</div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt"><br></div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">


System.InvalidOperationException: Cross-threaded operation not valid: Control '' accessed from a thread other than the thread it was created on.</div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">


<br></div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">Patch #18a fixes that by moving the creation of form2 into the right thread.  Now the unit test passes.</div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">


<br></div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">So patch #18a can be checked in, but note that patch #18 demonstrates that Mono hangs in
 a situation where .NET throws an exception.</div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt"><br></div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt">


Steven Boswell</div><div style="font-family:'times new roman','new york',times,serif;font-size:12pt"><br></div></div></div><br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div>
</blockquote></div>
</div></div>