PING: Re: RFR: JDK-8222489: jcmd VM.system_properties gives unusable paths on Windows

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Wed Mar 11 19:52:38 UTC 2020


Hi Chihiro,

I've tested and pushed your fix but the impact of fix was underestimated.
The fix caused several regressions and the following bug was filed:
   https://bugs.openjdk.java.net/browse/JDK-8240881

Now, I'm working on removing the fix of JDK-8222489 with the anti-delta.
You can find and review my RFR posted on the serviceability-dev mailing 
list:
   RFR: 8240881: several tests are failing due to encoding failures

You can file another bug as a replacement of JDK-8222489.
I will help you with the information about test regressions caused by it.

Thanks,
Serguei


On 3/10/20 02:54, serguei.spitsyn at oracle.com wrote:
> Hi Chihiro,
>
> Yes, I'll sponsor it.
> Thank you for the update.
>
> Thanks,
> Serguei
>
>
> On 3/8/20 06:05, Chihiro Ito wrote:
>> Hi,
>>
>> I'm sorry. I included "JDK-" in the changeset title. I removed it and
>> updated it.
>>
>> Change set : 
>> http://cr.openjdk.java.net/~cito/JDK-8222489/webrev.06/changeset
>>
>> Regards,
>> Chihiro
>>
>> 2020年3月7日(土) 23:13 Chihiro Ito <chiroito107 at gmail.com>:
>>> Hi Serguei and Yasumasa,
>>>
>>> I update the copyright year and created the change set.
>>>
>>> Could you sponsor this, please?
>>>
>>> Webrev : http://cr.openjdk.java.net/~cito/JDK-8222489/webrev.06/
>>> Change set : 
>>> http://cr.openjdk.java.net/~cito/JDK-8222489/webrev.06/changeset
>>>
>>> Regards,
>>> Chihiro
>>>
>>>
>>> 2020年3月7日(土) 16:03 Yasumasa Suenaga <suenaga at oss.nttdata.com>:
>>>
>>>
>>>> Hi Chihiro,
>>>>
>>>> I'm also ok with webrev.05 after updating copyright year.
>>>>
>>>>
>>>> Yasumasa
>>>>
>>>>
>>>> On 2020/03/07 3:32, serguei.spitsyn at oracle.com wrote:
>>>>> Hi Chichiro,
>>>>>
>>>>> I'm okay with the fix.
>>>>> Could you, please, update the copyright date in || 
>>>>> src/java.base/share/classes/jdk/internal/vm/VMSupport.java before 
>>>>> push?
>>>>>
>>>>> Thanks,
>>>>> Serguei
>>>>>
>>>>>
>>>>> On 3/6/20 07:24, Chihiro Ito wrote:
>>>>>> Hi Serguei,
>>>>>>
>>>>>> Could you review this again, please?
>>>>>>
>>>>>> Regards,
>>>>>> Chihiro
>>>>>>
>>>>>>
>>>>>> 2020年2月27日(木) 22:11 Chihiro Ito<chiroito107 at gmail.com>:
>>>>>>> Hi Ralf,
>>>>>>>
>>>>>>> Thank you for your advice.
>>>>>>>
>>>>>>> 1.
>>>>>>> The comment of serializePropertiesToByteArray in VMSupport is 
>>>>>>> "The stream written to the byte array is ISO 8859-1 encoded.".
>>>>>>> But the previous implementation does not keep this. I think we 
>>>>>>> need to implement encode by ISO 8859-1.
>>>>>>>
>>>>>>> 2.
>>>>>>> According to help, the feature of VM.system_properties is just 
>>>>>>> "Print system properties". The users should not use this output 
>>>>>>> for loading. The users use it when they want to see System 
>>>>>>> Properties soon.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Chihiro
>>>>>>>
>>>>>>>
>>>>>>> 2020年2月26日(水) 18:53 Schmelter, Ralf<ralf.schmelter at sap.com>:
>>>>>>>> Hi Chihiro,
>>>>>>>>
>>>>>>>> I have two remarks:
>>>>>>>>
>>>>>>>> 1. ISO Latin 1 characters which are not ASCII will not work 
>>>>>>>> with the code. While the Properties.store() method claims to 
>>>>>>>> create ISO Latin 1 String, it really only will create printable 
>>>>>>>> ASCII characters (apart from the comment, but it is ASCII too 
>>>>>>>> in this case). See Properties.saveConvert, where the char is 
>>>>>>>> checked for < 0x20 or > 0x7e and then printed as \uxxxx. This 
>>>>>>>> is important, since the bytes of the ByteArrayOutputStream are 
>>>>>>>> then send to the jcmd. And jcmd expects UTF-8 encoded strings, 
>>>>>>>> which is OK if we only used ASCII characters. But a ISO Latin 1 
>>>>>>>> character >= 0x80 will break the encoding. Just try using 
>>>>>>>> \u00DC in your test.
>>>>>>>>
>>>>>>>> 2. Your change makes it impossible to load the output with 
>>>>>>>> properties.load(). The old output could be loaded, since it was 
>>>>>>>> a valid properties file. But yours is not. For example, 
>>>>>>>> consider the filename c:\test\new. Formerly it would be encoded 
>>>>>>>> as:
>>>>>>>> C\:\\test\\new
>>>>>>>> And now it is:
>>>>>>>> C:\test\new
>>>>>>>> But the properties code would see "\n" as the newline character 
>>>>>>>> in your encoding. In fact you cannot differentiate between \n, 
>>>>>>>> \t, \f and \r originally being one or two characters.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Ralf
>>>>>>>>
>>>>>>>>
>>>>>>>> From: 
>>>>>>>> serviceability-dev<serviceability-dev-bounces at openjdk.java.net> 
>>>>>>>> On Behalf Of Chihiro Ito
>>>>>>>> Sent: Dienstag, 25. Februar 2020 04:45
>>>>>>>> To:serguei.spitsyn at oracle.com
>>>>>>>> Cc:serviceability-dev at openjdk.java.net
>>>>>>>> Subject: Re: RFR: JDK-8222489: jcmd VM.system_properties gives 
>>>>>>>> unusable paths on Windows
>>>>>>>>
>>>>>>>> Hi Serguei,
>>>>>>>>
>>>>>>>> Thanks for your review and advice.
>>>>>>>>
>>>>>>>> I modified these.
>>>>>>>> Could you review this again, please?
>>>>>>>>
>>>>>>>> Webrev :http://cr.openjdk.java.net/~cito/JDK-8222489/webrev.05/
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Chihiro
>>>>>>>>
>



More information about the serviceability-dev mailing list