<div dir="auto"><div>Hi Martin,<br><br><div class="gmail_quote"><div dir="ltr">Le mer. 31 oct. 2018 à 17:03, Martin Balao <<a href="mailto:mbalao@redhat.com">mbalao@redhat.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Sergey,<div><br></div><div>Your MultipleContextsUnitTest test has 2 assertions that don't look good to me:</div><div><br></div><div> * dispatchSENumber < num1</div><div> * dispatchSENumber < num2</div><div><br></div><div>My understanding is that these assertions mean that a non-SequencedEvent event is expected to be synchronized with SequencedEvent events. If such synchronization is needed, the event has to be wrapped in a SequencedEvent event. There are no guarantees otherwise; previous to my proposal these event were discarded and in my Webrev.02 they are dispatched asynchronously.</div></div></div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I think Sergey approach makes sense as awt events should happen on the proper window...</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>I've tried your test -without these assertions- against my Webrev.02 and it passes, as well as Laurent's 1st and 2nd test.</div></div></div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Thanks for your tests, could you try Sergey's patch too ?</div><div dir="auto">As I am on holidays, I did not have to test Sergey's patch, maybe tonight.</div><div dir="auto"><br></div><div dir="auto">I am really happy that this bug is going to be fixed soon, by either Martin or Sergey patch.</div><div dir="auto"><br></div><div dir="auto">Cheers,</div><div dir="auto">Laurent</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>Kind regards,</div><div>Martin.-</div><div><br></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 29, 2018 at 3:06 PM, Sergey Bylokhov <span dir="ltr"><<a href="mailto:Sergey.Bylokhov@oracle.com" target="_blank" rel="noreferrer">Sergey.Bylokhov@oracle.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, Martin.<br>
Thank you for this details description of the problem, I have tried to summarize it in this test, which should fail on all platforms:<br>
<br>
<a href="http://cr.openjdk.java.net/~serb/8204142/webrev.00/raw_files/new/test/jdk/java/awt/event/SequencedEvent/MultipleContextsUnitTest.java" rel="noreferrer noreferrer" target="_blank">http://cr.openjdk.java.net/~serb/8204142/webrev.00/raw_files/new/test/jdk/java/awt/event/SequencedEvent/MultipleContextsUnitTest.java</a><br>
<br>
It creates a number of SequencedEvents and post them in a different orders. It also has some additional checks, for example InvocationEvent posted in between of SequencedEvents should be dispatched in the same order as posted/ or posted not early that SequencedEvents. Some new checks might be added.<br>
<br>
Here is another version of the fix which tries to resolve the problem covered by the test above:<br>
<a href="http://cr.openjdk.java.net/~serb/8204142/webrev.00/" rel="noreferrer noreferrer" target="_blank">http://cr.openjdk.java.net/~serb/8204142/webrev.00/</a><br>
<br>
But I have run it for a night in a bash loop, and it failed after 100+ iterations. So there is some room for improvements.<br>
<br>
Note that this fix should be applied on top of JDK-8211435:<br>
<a href="http://cr.openjdk.java.net/~serb/8211435/webrev.00/" rel="noreferrer noreferrer" target="_blank">http://cr.openjdk.java.net/~serb/8211435/webrev.00/</a><span><br>
<br>
<br>
On 26/10/2018 15:25, Martin Balao wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>
<br>
    If you are talking about an example from this message:<br></span>
    <a href="http://mail.openjdk.java.net/pipermail/awt-dev/2018-October/014426.html" rel="noreferrer noreferrer" target="_blank">http://mail.openjdk.java.net/pipermail/awt-dev/2018-October/014426.html</a> <<a href="http://mail.openjdk.java.net/pipermail/awt-dev/2018-October/014426.html" rel="noreferrer noreferrer" target="_blank">http://mail.openjdk.java.net/pipermail/awt-dev/2018-October/014426.html</a>><span><br>
<br>
<br>
That's only the first half of this issue, which is indeed easy to fix by just dispatching SentEvent events. The second half is here: <a href="http://mail.openjdk.java.net/pipermail/awt-dev/2018-October/014436.html" rel="noreferrer noreferrer" target="_blank">http://mail.openjdk.java.net/pipermail/awt-dev/2018-October/014436.html</a><br>
</span></blockquote><span class="m_-8833728895842168046HOEnZb"><font color="#888888">
<br>
<br>
<br>
-- <br>
Best regards, Sergey.<br>
</font></span></blockquote></div><br></div>
</blockquote></div></div></div>