RFR(M): JDK-8203321: Windows: assert(current_query_index < process_query_set->size) failed: invariant

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Thu May 31 12:07:37 UTC 2018


Markus, this looks good.  Thank you for fixing it.

Coleen

On 5/31/18 7:31 AM, Markus Gronlund wrote:
> Thank you Robbin.
>
> Markus
>
> -----Original Message-----
> From: Robbin Ehn
> Sent: den 30 maj 2018 22:26
> To: Markus Gronlund <markus.gronlund at oracle.com>; hotspot-runtime-dev at openjdk.java.net
> Subject: Re: RFR(M): JDK-8203321: Windows: assert(current_query_index < process_query_set->size) failed: invariant
>
> Hi Markus,
>
> I'm not familiar with PDH, but given your description and the code looks good.
>
> Thanks, Robbin
>
> On 2018-05-22 21:24, Markus Gronlund wrote:
>> Greetings,
>>
>> Kindly asking for reviews for the following change:
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8203321
>> Webrev: http://cr.openjdk.java.net/~mgronlun/8203321/webrev00/
>>
>> Summary:
>>
>> For some context about what this is about, please see this (now) relatively old issue: https://bugs.openjdk.java.net/browse/JDK-8019921
>>
>> The porting work that brought this code from closed to open were optimistic in that the following PDH query,  "\Process(java#n)\ID Process", performed relatively stable on Windows 10.
>> An invariant was added in that your ID Process query would never return an index that was lower than the index at construction.
>>
>> During testing, it was discovered that this invariant did not hold, especially when running on Windows Server 2012 R2 and there is a high churn rate with many processes with the same base name ("java#") starting and stopping (stressing PDH list of processes).
>>
>> We have to reinsert back the original code that handled the case where the PDH process list is not stable (that were originally put in place with JDK-8019921).
>> The defensive logic is located at lines 418 - 422.
>>
>> I had to rework some related code to make some room for this as well as to keep track of the previous process index.
>>
>> Thanks
>> Markus
>>



More information about the hotspot-runtime-dev mailing list