1.9.0-ea-b64 regression (AIOOB thrown where it shouldn't be thrown)

Dawid Weiss dawid.weiss at gmail.com
Sat May 23 12:51:03 UTC 2015


Hi everyone,

I've ran into an issue with a suspicious ArrayIndexOutOfBounds on ea
builds of JDK 1.9.0. Here's some context:

- we run separate builds for 1.7, 1.8 and 1.9ea VMs and only the 1.9
build currently fails (Windows, Linux environments, 64-bit),

- the bug/ issue is a suspicious AIOOB on:

org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.setupBlock(BZip2CompressorInputStream.java:820)

which happens to be the line of code inside this for loop:

        for (int i = 0, lastShadow = this.last; i <= lastShadow; i++) {
            tt[cftab[ll8[i] & 0xff]++] = i;
        }

Which array access this is exactly is hard to tell, but the *same*
bzip input file does not produce the error on any other JVM (or an
earlier releases of 1.9ea). This code is deterministic in the test
that uses the above routine.

- the problem *only* appears from 1.9ea_b64; on earlier releases the
same code passes just fine (bisected it back from b45),

- I also checked 1.9ea_b65 (which happens to be on the download server
but wasn't properly announced yet?). The problem persists.

- the problem does reproduce on the build server (Windows and Linux).
Interestingly, I couldn't reproduce it locally. The code is
proprietary, I couldn't narrow it down yet to something that would
reproduce (sigh).

I realize this is insufficient information to get started, but perhaps
this issue is already known or somebody may have a clue at what is
going on (CCing hotspot-compiler-dev)?

Dawid


More information about the hotspot-compiler-dev mailing list