Hi Artem,<br><br> <div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div></div>
I&#39;m fine with EventDispatchThread.java changes from the full version. Are the pushPopLock.<u></u>isHeldByCurrentThread() checks required, given that EDT.interrupt() is now respected?</blockquote><div><br>The checks avoid hanging in case Thread.stop() has been called, without Thread.interrupt() before, as you stated:<br>
<br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">What if somebody calls EDT.stop() directly, without preceding 
interrupt()? I understand this is not a typical scenario, and we 
probably shouldn&#39;t support it, but we should at least not hang.<br></blockquote><br><br>I prepared another patch, which does not require those checks to avoid hanging, however it will print out an IllegalMonitorStateException in the case stop() has been called, without interrupt() before:<br>
<a href="http://cr.openjdk.java.net/~ceisserer/7081670/webrev_full.05/">http://cr.openjdk.java.net/~ceisserer/7081670/webrev_full.05/</a><br><br>The patch with the checks in is located at:<br><a href="http://cr.openjdk.java.net/~ceisserer/7081670/webrev_full.03/">http://cr.openjdk.java.net/~ceisserer/7081670/webrev_full.03/</a><br>
<br><blockquote class="gmail_quote">
</blockquote></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
Once approved, the fix should go to JDK8 workspace first. Then it will be backported to JDK7u.</blockquote><div>Perfect :) <br><br><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


    Caused by: java.lang.RuntimeException: Die, AWT-Event Queue thread!<br>
         at HostileCrasher.&lt;clinit&gt;(LoopRobustness.java:157)<br>
         ... 23 more<br>
    Exception in thread &quot;main&quot; java.lang.RuntimeException: Test FAILED:<br>
    second thread hasn&#39;t notified MainThread<br>
         at LoopRobustness.main(LoopRobustness.java:70)<br>
</blockquote>
<br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
Hmm... That&#39;s odd. The test passes on my Windows desktop. The first stack trace is printed to the console, but it&#39;s expected as e.printStackTrace() is called from the test. However, the second exception thrown from LoopRobustness.java:70 looks the real problem.<br>

</blockquote><div> <br>Its basically the same problem, there is a fixed timeout (5s) but sun.awt.SunToolkit.realSync waits for 10s and then times out.<br>If I increase the timeout to 60s I get the same Exception as with the other test:<br>

<blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex" class="gmail_quote">sun.awt.SunToolkit$OperationTimedOut: 10932<br>    at sun.awt.X11.XToolkit.syncNativeQueue(XToolkit.java:2443)<br>

    at sun.awt.SunToolkit.realSync(SunToolkit.java:1580)<br>    at sun.awt.SunToolkit.realSync(SunToolkit.java:1512)<br>    at test.java.awt.regtesthelpers.Util.waitForIdle(Util.java:184)<br>    at Impl.run(LoopRobustness.java:114)<br>

    at java.lang.Thread.run(Thread.java:722)<br></blockquote><br><br>Thanks, Clemens<br></div></div>