RFR (XS): 8046018: JVMTI Spec: can_redefine_any_class capability spec is inconsistent
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Tue May 21 23:57:45 UTC 2019
Hi Dan,
On 5/21/19 09:34, Daniel D. Daugherty wrote:
> On 5/21/19 2:19 AM, serguei.spitsyn at oracle.com wrote:
>> Hi guys,
>>
>> I've found one more fragment in the IsModifiableClass spec which has
>> to be fixed.
>>
>>
>> Updated webrev v2:
>> http://cr.openjdk.java.net/~sspitsyn/webrevs/2019/8046018-jvmti-cap-spec.2/
>>
>
> src/hotspot/share/prims/jvmti.xml
> No comments.
>
> Looks like there was a specific update to the spec to allow
> can_redefine_any_class
> to include retransform (in addition to redefine):
>
> 1.1.82
> 13 February 2006 Doc fixes: update can_redefine_any_class to
> include retransform. Clarify that exception events cover all
> Throwables. In GetStackTrace, no test is done for start_depth too big
> if start_depth is zero, Clarify fields reported in Primitive Field
> Callback -- static vs instance. Repair confusing names of heap types,
> including callback names. Require consistent usage of stack depth in
> the face of thread launch methods. Note incompatibility of JVM TI
> memory management with other systems.
>
> I can't tell if you've chased down that change and why you no longer
> think that change is necessary.
>
> I'm okay with the change,
Thank you a lot for review!
Unfortunately, I've already pushed the fix, so you are not in the
reviewers list.
> but I think you have more research to do here.
This has been replied on latest David's email.
Thanks,
Serguei
>
> Dan
>
>
>> Specdiff:
>> http://cr.openjdk.java.net/~sspitsyn/webrevs/2019/8046018-jvmti-cap-spec.2/jvmti-specdiff/
>>
>>
>>
>> Enhancement:
>> https://bugs.openjdk.java.net/browse/JDK-8046018
>>
>> Related CSR:
>> https://bugs.openjdk.java.net/browse/JDK-8223915
>>
>>
>> Thanks,
>> Serguei
>>
>>
>> On 5/20/19 21:43, serguei.spitsyn at oracle.com wrote:
>>> Hi David,
>>>
>>> Thank you for looking at this!
>>>
>>>
>>> On 5/20/19 20:53, David Holmes wrote:
>>>> Hi Serguei,
>>>>
>>>> On 21/05/2019 4:07 am, serguei.spitsyn at oracle.com wrote:
>>>>> Please, review a fix for enhancement:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8046018
>>>>>
>>>>> Related CSR:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8223915
>>>>
>>>> I have some comments on the CSR and about this change overall as to
>>>> me it is not a simple clarification at all, but potentially a
>>>> significant change in the meaning of the capability.
>>>
>>>
>>> I've answered your question in the CSR with my comment.
>>>
>>>>> Webrev:
>>>>> http://cr.openjdk.java.net/~sspitsyn/webrevs/2019/8046018-jvmti-cap-spec.1/
>>>>>
>>>>
>>>> You introduced a typo: modifialble
>>>>
>>>> Assuming this proceeds a similar change is needed earlier:
>>>>
>>>> 7444 <capability id="can_redefine_any_class">
>>>> 7445 If possessed then all classes (except primitive,
>>>> array, and some implementation defined
>>>> 7446 classes) are modifiable (redefine or retransform).
>>>
>>> Good catch, thanks!
>>> I've updated the webrev in place.
>>>
>>> Thanks,
>>> Serguei
>>>
>>>>
>>>> Thanks,
>>>> David
>>>> -----
>>>>
>>>>>
>>>>> Summary:
>>>>>
>>>>> The fix is to make the JVMTI can_redefine_any_class capability
>>>>> spec more inconsistent.
>>>>> It is just about a couple of lines.
>>>>>
>>>>> Thanks,
>>>>> Serguei
>>>
>>
>
More information about the serviceability-dev
mailing list