Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8056807 | emb-9 | Unassigned | P3 | Resolved | Fixed | b26 |
JDK-8063768 | 8u45 | Unassigned | P3 | Resolved | Fixed | b01 |
JDK-8052200 | 8u40 | Mike Duigou | P3 | Resolved | Fixed | b02 |
JDK-8070221 | emb-8u47 | Unassigned | P3 | Resolved | Fixed | team |
FULL PRODUCT VERSION :
A DESCRIPTION OF THE PROBLEM :
In the version of the tailSet method taking two arguments, in the implementation of java.util.Collections.SynchronizedNavigableSet, the method creates a new SynchronizedNavigableSet using the default mutex (this) rather than the correct mutex object for that set.
This is the offending code:
public NavigableSet<E> tailSet(E fromElement, boolean inclusive) {
synchronized (mutex) {
return new SynchronizedNavigableSet<>(ns.tailSet(fromElement, inclusive));
}
}
Should be:
public NavigableSet<E> tailSet(E fromElement, boolean inclusive) {
synchronized (mutex) {
return new SynchronizedNavigableSet<>(ns.tailSet(fromElement, inclusive), mutex);
}
}
REPRODUCIBILITY :
This bug can be reproduced always.
A DESCRIPTION OF THE PROBLEM :
In the version of the tailSet method taking two arguments, in the implementation of java.util.Collections.SynchronizedNavigableSet, the method creates a new SynchronizedNavigableSet using the default mutex (this) rather than the correct mutex object for that set.
This is the offending code:
public NavigableSet<E> tailSet(E fromElement, boolean inclusive) {
synchronized (mutex) {
return new SynchronizedNavigableSet<>(ns.tailSet(fromElement, inclusive));
}
}
Should be:
public NavigableSet<E> tailSet(E fromElement, boolean inclusive) {
synchronized (mutex) {
return new SynchronizedNavigableSet<>(ns.tailSet(fromElement, inclusive), mutex);
}
}
REPRODUCIBILITY :
This bug can be reproduced always.
- backported by
-
JDK-8052200 SynchronizedNavigableSet tailSet uses wrong mutex
-
- Resolved
-
-
JDK-8056807 SynchronizedNavigableSet tailSet uses wrong mutex
-
- Resolved
-
-
JDK-8063768 SynchronizedNavigableSet tailSet uses wrong mutex
-
- Resolved
-
-
JDK-8070221 SynchronizedNavigableSet tailSet uses wrong mutex
-
- Resolved
-