[8u] RFR: Backport of 8067796 (process) Process.waitFor(timeout, unit) doesn't throw NPE if timeout is less than, or equal to zero when unit == null
Sergey Nazarkin
snazarkin at azul.com
Fri Apr 10 12:45:44 UTC 2020
Could anyone help review this patch?
Thanks.
/Sergey
> On Apr 5, 2020, at 22:44, Sergey Nazarkin <snazarkin at azul.com> wrote:
>
> Thanks, Andrew. In simpler case 8037866(Replace the Fun class in tests with lambdas) only misses a part of MOAT.java that was introduced by 8014066(ArrayList#removeRange):
>
> $cat test/java/util/Collection/MOAT.java.rej
> --- MOAT.java
> +++ MOAT.java
> @@ -728,8 +722,8 @@
> l.listIterator(0);
> l.listIterator(l.size());
> THROWS(IndexOutOfBoundsException.class,
> - new Fun(){void f(){l.listIterator(-1);}},
> - new Fun(){void f(){l.listIterator(l.size() + 1);}});
> + () -> l.listIterator(-1),
> + () -> l.listIterator(l.size() + 1));
>
> if (l instanceof AbstractList) {
> try {
>
> Final patchset would be
>
> 1) http://cr.openjdk.java.net/~snazarki/webrev/8037866/
> 2) http://cr.openjdk.java.net/~snazarki/webrev/8067796/
>
>
>
> Sergey Nazarkin
>
>
>
>
>> On Apr 1, 2020, at 18:14, Andrew Haley <aph at redhat.com> wrote:
>>
>> On 4/1/20 3:30 PM, Sergey Nazarkin wrote:
>>> I’ve tracked down patchset required for clean backport. Beside 8037866 [2] only 8014066 [1] is required. I’m a bit worrying about 8014066, the changeset may affect existent applications behavior.
>>>
>>> With 8014066 all subsequent patches applied cleanly except 8067796:
>>> - for non-windows OSes waitFor method is at UNIXProcess.java (not ProcessImpl.java)
>>> - windows version of ProcessImpl.java is placed at different path
>>> - Basic.java: bug list is different
>>>
>>> If 8014066 is accepted for backport I’ll create separate RFRs. In this case patch sequence should be [4] -> [5] -> [6]
>>>
>>> [1] https://bugs.openjdk.java.net/browse/JDK-8014066
>>> [2] https://bugs.openjdk.java.net/browse/JDK-8037866
>>> [3] https://bugs.openjdk.java.net/browse/JDK-8067796
>>>
>>> [4] http://cr.openjdk.java.net/~snazarki/webrev/8014066/
>>> [5] http://cr.openjdk.java.net/~snazarki/webrev/8037866/
>>> [6] http://cr.openjdk.java.net/~snazarki/webrev/8067796/
>>
>> You're right. This is too much for the initial patch, which is low
>> risk and changes only a few lines. It'd be OK if you find a way to do
>> it without changing ArrayList#removeRange. It wouldn't be a disaster
>> if you rewrote the test case to not require JDK-8037866.
>>
>> --
>> Andrew Haley (he/him)
>> Java Platform Lead Engineer
>> Red Hat UK Ltd. <https://www.redhat.com>
>> https://keybase.io/andrewhaley
>> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
>
More information about the jdk8u-dev
mailing list