<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <font face="Monaco">Hi all,<br>
      <br>
      Please, review a fix for:<br>
        <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8200387">https://bugs.openjdk.java.net/browse/JDK-8200387</a><br>
      <br>
      Webrev:<br>
       
      <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~sspitsyn/webrevs/2018/8200387-graal-queue.1/">http://cr.openjdk.java.net/~sspitsyn/webrevs/2018/8200387-graal-queue.1/</a><br>
      <br>
      Summary:<br>
        A number of tests are failing when executed with Graal compiler.<br>
        The issue is that the </font><font face="Monaco"><font
        face="Monaco">JDI client </font>event queue becomes overloaded:</font><br>
    <pre> 248     private synchronized void controlEventFlow(int maxQueueSize) {
 249         if (!eventsHeld && (maxQueueSize > OVERLOADED_QUEUE)) {
 250             eventController().hold();
 251             eventsHeld = true;
 252         } else if (eventsHeld && (maxQueueSize < UNDERLOADED_QUEUE)) {
 253             eventController().release();
 254             eventsHeld = false;
 255         }
 256     }</pre>
    <font face="Monaco">  with the events generated from the Graal
      compiler execution.<br>
        As a result, the </font>eventsHeld<font face="Monaco"> mode is
      enabled.<br>
        The tests hang because the back-end does not get needed commands
      from the JDI client.<br>
        Thanks a lot to Igor Veresov for the analysis and suggested
      fixes!<br>
        After some discussion we agreed on the work around fix in webrev<br>
        which is to increase the </font>OVERLOADED_QUEUE value.<br>
    <br>
    <font face="Monaco">  In fact, the tests have to be fixed as well to
      filter out the Graal threads posting the events.<br>
        At this point, fixing of all these tests requires resources but
      not that critical.<br>
        </font><font face="Monaco"><font face="Monaco">Now, </font>there
      is a mess with a relatively big number of the tests failing with
      different failure modes.<br>
        The corresponding bugs have already been filed (not sure, all of
      them).<br>
        This fix is the first step and a good base for sorting out the
      rest of the Graal related issues.<br>
      <br>
        I've just filed one more Graal bug that was masked other bugs:<br>
          <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8203809">https://bugs.openjdk.java.net/browse/JDK-8203809</a><br>
        and suspect, more bugs might be needed to cover all different
      failure modes.<br>
        Such bugs should include sub-tasks for including the impacted
      tests into the </font><font face="Monaco"><font face="Monaco">ProblemList-graal.<br>
        <br>
      </font>  A part of the fix is a </font><font face="Monaco">ProblemList-graal.txt
      update.<br>
        Almost all the tests listed in the following Graal related bug
      stopped failing with the the fix:<br>
          <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8195600">https://bugs.openjdk.java.net/browse/JDK-8195600</a><br>
        So, these tests are removed from the </font><font face="Monaco"><font
        face="Monaco"><font face="Monaco">ProblemList-graal.</font></font>
    </font><br>
    <br>
    <font face="Monaco">Thanks,<br>
      Serguei<br>
      <br>
        <br>
    </font><font face="Monaco"></font><font face="Monaco"><br>
    </font><font face="Monaco"><br>
    </font>
  </body>
</html>