RFR(S): 8200387: [Graal] fromTonga/nsk/jdi tests hang with Graal as JIT
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Tue Jun 5 21:49:32 UTC 2018
Hi Alex,
Thank you a lot for review!
Thanks,
Serguei
On 6/5/18 12:41, Alex Menkov wrote:
> Looks okay to me.
>
> --alex
>
> On 05/24/2018 22:43, serguei.spitsyn at oracle.com wrote:
>> Hi all,
>>
>> Please, review a fix for:
>> https://bugs.openjdk.java.net/browse/JDK-8200387
>>
>> Webrev:
>> http://cr.openjdk.java.net/~sspitsyn/webrevs/2018/8200387-graal-queue.1/
>>
>> Summary:
>> A number of tests are failing when executed with Graal compiler.
>> The issue is that the JDI client event queue becomes overloaded:
>>
>> 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 }
>>
>> with the events generated from the Graal compiler execution.
>> As a result, the eventsHeldmode is enabled.
>> The tests hang because the back-end does not get needed commands
>> from the JDI client.
>> Thanks a lot to Igor Veresov for the analysis and suggested fixes!
>> After some discussion we agreed on the work around fix in webrev
>> which is to increase the OVERLOADED_QUEUE value.
>>
>> In fact, the tests have to be fixed as well to filter out the
>> Graal threads posting the events.
>> At this point, fixing of all these tests requires resources but
>> not that critical.
>> Now, there is a mess with a relatively big number of the tests
>> failing with different failure modes.
>> The corresponding bugs have already been filed (not sure, all of
>> them).
>> This fix is the first step and a good base for sorting out the
>> rest of the Graal related issues.
>>
>> I've just filed one more Graal bug that was masked other bugs:
>> https://bugs.openjdk.java.net/browse/JDK-8203809
>> and suspect, more bugs might be needed to cover all different
>> failure modes.
>> Such bugs should include sub-tasks for including the impacted
>> tests into the ProblemList-graal.
>>
>> A part of the fix is a ProblemList-graal.txt update.
>> Almost all the tests listed in the following Graal related bug
>> stopped failing with the the fix:
>> https://bugs.openjdk.java.net/browse/JDK-8195600
>> So, these tests are removed from the ProblemList-graal.
>>
>> Thanks,
>> Serguei
>>
>>
>>
>>
More information about the serviceability-dev
mailing list