RFR: JDK-8222930: ConcurrentSkipListMapTest.clone() broken since jdk10

Martin Buchholz martinrb at google.com
Wed Apr 24 16:41:48 UTC 2019


Adam,

Thanks for finding this. I will be your shepherd.

Normally we make changes to j.u.c. via Doug's CVS.
I also think we can leverage the testing infrastructure in the tck/
directory to generalize the test - we should be able to test any cloneable
Map.
I'll work on doing this.


On Wed, Apr 24, 2019 at 9:21 AM Adam Farley8 <adam.farley at uk.ibm.com> wrote:

> Hi All,
>
> ConcurrentSkipListMapTest.clone() produces a clone that shares the array
> size variable of the original, and then doubles it.
>
> So both arrays, original and clone, tell the user that each is twice as
> big as it actually is.
>
> The proposed fix is to simply set the clone's array size variable to null
> during creation.
>
> Fix and test code available.
>
> Reviews and sponsor requested.
>
> Webrev: http://cr.openjdk.java.net/~afarley/8222930.0/jdk13/webrev/
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8222930
>
> Best Regards
>
> Adam Farley
> IBM Runtimes
>
> P.S. Apparently this has been broken since JDK 10, so we should look at
> backporting (at least to 11 and 12) once this is in.
>
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
>


More information about the core-libs-dev mailing list