Disable 2043-reference_pauses for CMS

And fix a minor issue in the test that should have no impact on its
execution.

Bug: 232459100
Test: Treehugger

Change-Id: I1c0abaa23a45d5f162beb8e467f67cd6ea66fbbc
diff --git a/test/2043-reference-pauses/src/Main.java b/test/2043-reference-pauses/src/Main.java
index dc64d9a..e390155 100644
--- a/test/2043-reference-pauses/src/Main.java
+++ b/test/2043-reference-pauses/src/Main.java
@@ -187,7 +187,7 @@
         // which should thus not get cleared.
         Integer[] strongRefs = new Integer[NREFS];
         for (int i = 0; i < NBATCHES; ++i) {
-            for (int j = i * REFS_PER_BATCH; j < (i + 1) * NREFS / NBATCHES; ++j) {
+            for (int j = i * REFS_PER_BATCH; j < (i + 1) * REFS_PER_BATCH; ++j) {
                 Integer newObj = new Integer(j);
                 strongRefs[j] = newObj;
                 weakRefs.set(j, new WeakReference(newObj));
diff --git a/test/knownfailures.json b/test/knownfailures.json
index 013272f..b057e69 100644
--- a/test/knownfailures.json
+++ b/test/knownfailures.json
@@ -1368,6 +1368,13 @@
         "description": ["Slow test. Prone to timeouts."]
     },
     {
+        "tests": ["2043-reference-pauses"],
+        "env_vars": {"ART_USE_READ_BARRIER": "false"},
+        "variant": "host",
+        "bug": "b/232459100",
+        "description": ["Fails intermittently for CMS."]
+    },
+    {
         "tests": ["096-array-copy-concurrent-gc"],
         "variant": "gcstress & debuggable & debug & host",
         "bug": "b/149708943",