8072909: TimSort fails with ArrayIndexOutOfBoundsException on arrays longer than 1073741824

Lev Priima lev.priima at oracle.com
Thu Feb 12 16:56:13 UTC 2015


Christos,

Test may fail on shorter arrays(page 8 of paper). For instance, on worst 
case, generated by test, it starts to fail on length 67108864.
After increasing stack size of runs to merge, Arrays.sort(T[]) works 
also on maximum possible array for HotSpot JVM.


Roger, David,
I've updated the test ( 
http://cr.openjdk.java.net/~lpriima/8072909/webrev.01/test/java/util/Arrays/TimSortStackSize2.java.html 
) to make it more suitable for regular execution:

   27  * @run main/othervm TimSortStackSize2 67108864
   28  * not for regular execution on all platforms:
   29  * run main/othervm -Xmx8g TimSortStackSize2 1073741824
   30  * run main/othervm -Xmx32g TimSortStackSize2 2147483644

Could you please push this:
http://cr.openjdk.java.net/~lpriima/8072909/webrev.01/
?

Lev

On 02/12/2015 12:54 PM, christos at zoulas.com wrote:
> On Feb 12,  9:57pm, david.holmes at oracle.com (David Holmes) wrote:
> -- Subject: Re: 8072909: TimSort fails with ArrayIndexOutOfBoundsException on
>
> | Ok - thanks Lev!
> |
> | David
>
> For posterity can someone document this, and also the value for which
> Integer.MAX_VALUE-4 fails?
>
> christos




More information about the core-libs-dev mailing list