Index: luni/src/test/java/tests/api/java/util/ArrayListTest.java =================================================================== --- luni/src/test/java/tests/api/java/util/ArrayListTest.java (revision 537744) +++ luni/src/test/java/tests/api/java/util/ArrayListTest.java (working copy) @@ -23,6 +23,8 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.ConcurrentModificationException; +import java.util.Vector; import tests.support.Support_ListTest; @@ -489,6 +491,17 @@ for (int i = 0; i < alist.size(); i++) assertTrue("Trimmed list contained incorrect elements", alist .get(i) == objArray[i]); + Vector v = new Vector(); + v.add("a"); + ArrayList al = new ArrayList(v); + Iterator it = al.iterator(); + al.trimToSize(); + try { + it.next(); + fail("should throw a ConcurrentModificationException"); + } catch (ConcurrentModificationException ioobe) { + // expected + } } /** Index: luni/src/main/java/java/util/ArrayList.java =================================================================== --- luni/src/main/java/java/util/ArrayList.java (revision 537744) +++ luni/src/main/java/java/util/ArrayList.java (working copy) @@ -654,6 +654,7 @@ array = newArray; firstIndex = 0; lastIndex = array.length; + modCount = 0; } private static final ObjectStreamField[] serialPersistentFields = { new ObjectStreamField(