RandomSupport.AbstractSplittableWithBrineGenerator. makeSplitsSpliterator is
intending to create a salt from a random long. The salt should have random
letters of size 4 for each consecutive 4 bits and then the last 4 bits as ff,
i.e. all bits set.
However the loop is never executed, the random bits are not used and the salt
is always the same.
This condition is false on the first execution:
long multiplier = (1L << SALT_SHIFT) - 1;
long salt = multiplier << (64 - SALT_SHIFT);
while ((salt & multiplier) != 0) {
This can be corrected by changing:
while ((salt & multiplier) != 0) {
to
while ((salt & multiplier) == 0) {
-------------
Commit messages:
- Correct the loop condition
Changes: https://git.openjdk.java.net/jdk/pull/5449/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5449&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8273162
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/5449.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5449/head:pull/5449
PR: https://git.openjdk.java.net/jdk/pull/5449