-
Bug
-
Resolution: Fixed
-
P3
-
6u29
-
b29
-
x86
-
windows_7
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2221089 | 7u6 | Sean Coffey | P3 | Closed | Fixed | b03 |
JDK-2221090 | 6u34 | Sean Coffey | P3 | Closed | Fixed | b01 |
FULL PRODUCT VERSION :
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
StackOverflowError occurres in the following code:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list = Collections.synchronizedList(new ArrayList());
list.add(list);
list.remove(list);
}
}
Because ArrayList#remove(Object) is:
public boolean remove(Object o) {
if (o == null) {
for (int index = 0; index < size; index++)
if (elementData[index] == null) {
fastRemove(index);
return true;
}
} else {
for (int index = 0; index < size; index++)
if (o.equals(elementData[index])) { // call equals
fastRemove(index);
return true;
}
}
return false;
}
Collections$SynchronizedList#equals(Object) is:
public boolean equals(Object o) {
synchronized(mutex) {return list.equals(o);}
}
Variable list is actual instance of List. Variable o is instance of Collections$SynchronizedList.
Called AbstractList#equals(Object) is:
public boolean equals(Object o) {
if (o == this)
return true;
if (!(o instanceof List))
return false;
ListIterator<E> e1 = listIterator();
ListIterator e2 = ((List) o).listIterator();
while(e1.hasNext() && e2.hasNext()) {
E o1 = e1.next();
Object o2 = e2.next();
if (!(o1==null ? o2==null : o1.equals(o2))) // check each elements
return false;
}
return !(e1.hasNext() || e2.hasNext());
}
Variable o, o1 and o2 are instance of Collections$SynchronizedList. So this method call Collections$SynchronizedList#equals(Object).
And loop call AbstractList#equals(Object) and Collections$SynchronizedList#equals(Object).
REGRESSION. Last worked in version 6u29
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile and execute the following code:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list = Collections.synchronizedList(new ArrayList());
list.add(list);
list.remove(list);
}
}
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
StackOverflowError does not occur.
ACTUAL -
StackOverflowError occurred.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "main" java.lang.StackOverflowError
at java.util.LinkedList.listIterator(Unknown Source)
at java.util.AbstractList.listIterator(Unknown Source)
at java.util.Collections$SynchronizedList.listIterator(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Sour
( This report has more than 16,000 characters and has been truncated. )
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
StackOverflowError occurres in the following code:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list = Collections.synchronizedList(new ArrayList());
list.add(list);
list.remove(list);
}
}
Because ArrayList#remove(Object) is:
public boolean remove(Object o) {
if (o == null) {
for (int index = 0; index < size; index++)
if (elementData[index] == null) {
fastRemove(index);
return true;
}
} else {
for (int index = 0; index < size; index++)
if (o.equals(elementData[index])) { // call equals
fastRemove(index);
return true;
}
}
return false;
}
Collections$SynchronizedList#equals(Object) is:
public boolean equals(Object o) {
synchronized(mutex) {return list.equals(o);}
}
Variable list is actual instance of List. Variable o is instance of Collections$SynchronizedList.
Called AbstractList#equals(Object) is:
public boolean equals(Object o) {
if (o == this)
return true;
if (!(o instanceof List))
return false;
ListIterator<E> e1 = listIterator();
ListIterator e2 = ((List) o).listIterator();
while(e1.hasNext() && e2.hasNext()) {
E o1 = e1.next();
Object o2 = e2.next();
if (!(o1==null ? o2==null : o1.equals(o2))) // check each elements
return false;
}
return !(e1.hasNext() || e2.hasNext());
}
Variable o, o1 and o2 are instance of Collections$SynchronizedList. So this method call Collections$SynchronizedList#equals(Object).
And loop call AbstractList#equals(Object) and Collections$SynchronizedList#equals(Object).
REGRESSION. Last worked in version 6u29
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile and execute the following code:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list = Collections.synchronizedList(new ArrayList());
list.add(list);
list.remove(list);
}
}
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
StackOverflowError does not occur.
ACTUAL -
StackOverflowError occurred.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "main" java.lang.StackOverflowError
at java.util.LinkedList.listIterator(Unknown Source)
at java.util.AbstractList.listIterator(Unknown Source)
at java.util.Collections$SynchronizedList.listIterator(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Source)
at java.util.AbstractList.equals(Unknown Source)
at java.util.Collections$SynchronizedList.equals(Unknown Sour
( This report has more than 16,000 characters and has been truncated. )
- backported by
-
JDK-2221089 (coll) Infinite recursion for some equals tests in Collections
-
- Closed
-
-
JDK-2221090 (coll) Infinite recursion for some equals tests in Collections
-
- Closed
-
- relates to
-
JDK-6360946 (coll) SetFromMap.equals should perform identity check
-
- Resolved
-
-
JDK-6579224 (coll) toString() on self-referential Checked collections causes stack overflow
-
- Closed
-