{"abstract":"Remembered sets fill with pointers that never cross a region boundary.","category":"Garbage collector invariants","checks":6,"contract":"Region-based remembered sets. kinds[r] is young, old, humongous or hcont (a continuation region of the humongous object that starts in the nearest preceding humongous region). For each write [slot, value]: null values are ignored; the target region is the region of value, mapped from continuations back to the humongous start; writes within one region and writes whose slot is in a young region are filtered; otherwise the slot's card index (slot // card) is added to the target region's set. Return the remembered sets.","evaluation_group":"w2-garbage-collector-invariants-region-remembered-sets","failed_approach":"A distance test filters short cross-region pointers and keeps far intra-region ones.","family":"w2-garbage-collector-invariants-region-remembered-sets-same-region-filter","id":"FA-90731","implementations":{"attempt":{"sha256":"420696102ef059584b9a4d54077b4d1acc5504985c5bfd83bb7958415bf2b46d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kinds, region_size, card, writes):\n    remsets = {}\n    for slot, val in writes:\n        if val is None:\n            continue\n        src, dst = slot // region_size, val // region_size\n        while kinds[dst] == 'hcont':\n            dst -= 1\n        if abs(slot - val) < region_size:\n            continue\n        if kinds[src] == 'young':\n            continue\n        remsets.setdefault(dst, set()).add(slot // card)\n    return {str(k): sorted(v) for k, v in sorted(remsets.items())}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[8, 1040], [2056, 6152], [6452, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2056, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1040], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1032, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[8, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[8, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[16, 1040], [2064, 6152], [6460, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2064, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1048], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1040, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[16, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[16, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[24, 1040], [2072, 6152], [6468, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2072, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1056], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1048, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[24, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[24, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[32, 1040], [2080, 6152], [6476, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2080, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1064], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1056, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[32, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[32, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[40, 1040], [2088, 6152], [6484, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2088, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1072], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1064, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[40, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[40, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"b49b9fd216ac338f92f8de5f56e83fd9a4cfa982a091fb74d909736fcd5517e0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kinds, region_size, card, writes):\n    remsets = {}\n    for slot, val in writes:\n        if val is None:\n            continue\n        src, dst = slot // region_size, val // region_size\n        while kinds[dst] == 'hcont':\n            dst -= 1\n        if slot // card == val // card:\n            continue\n        if kinds[src] == 'young':\n            continue\n        remsets.setdefault(dst, set()).add(slot // card)\n    return {str(k): sorted(v) for k, v in sorted(remsets.items())}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[8, 1040], [2056, 6152], [6452, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2056, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1040], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1032, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[8, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[8, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[16, 1040], [2064, 6152], [6460, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2064, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1048], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1040, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[16, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[16, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[24, 1040], [2072, 6152], [6468, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2072, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1056], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1048, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[24, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[24, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[32, 1040], [2080, 6152], [6476, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2080, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1064], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1056, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[32, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[32, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[40, 1040], [2088, 6152], [6484, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2088, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1072], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1064, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[40, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[40, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"343769a8aaa84ed1fd322d254803775f50099dd3494bf4e330884267d9432ffc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kinds, region_size, card, writes):\n    remsets = {}\n    for slot, val in writes:\n        if val is None:\n            continue\n        src, dst = slot // region_size, val // region_size\n        while kinds[dst] == 'hcont':\n            dst -= 1\n        if src == dst:\n            continue\n        if kinds[src] == 'young':\n            continue\n        remsets.setdefault(dst, set()).add(slot // card)\n    return {str(k): sorted(v) for k, v in sorted(remsets.items())}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[8, 1040], [2056, 6152], [6452, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2056, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1040], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1032, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[8, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[8, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[16, 1040], [2064, 6152], [6460, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2064, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1048], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1040, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[16, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[16, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[24, 1040], [2072, 6152], [6468, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2072, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1056], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1048, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[24, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[24, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[32, 1040], [2080, 6152], [6476, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2080, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1064], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1056, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[32, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[32, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})],\n [('regression: old-to-young and old-to-old writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[40, 1040], [2088, 6152], [6484, 7168]]),\n   {'1': [0], '6': [16], '7': [50]}),\n  ('pointer within the same region',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[2088, 2948], [3048, 2056]]),\n   {}),\n  ('neighbouring addresses across a region boundary',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1016, 1072], [3056, 2032]]),\n   {'1': [7, 23]}),\n  ('writes from young regions are filtered',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[1064, 0], [7208, 2048], [1032, 7168]]),\n   {}),\n  ('pointer into a humongous continuation',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[40, 5220], [6144, 4104]]),\n   {'3': [0, 48]}),\n  ('null writes',\n   (['old', 'young', 'old', 'humongous', 'hcont', 'hcont', 'old', 'young'],\n    1024,\n    128,\n    [[40, None], [6144, None], [2112, 3072]]),\n   {'3': [16]})]]\nfor label, args, expected in cases[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic, bounded teaching model of one garbage-collector mechanism with stipulated rules; it is not a production collector and claims no conformance to any particular runtime. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-garbage-collector-invariants-region-remembered-sets-same-region-filter","generated_at":"2026-09-29T14:51:29.439180+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Remembered-set filtering decides which cross-region pointers an evacuation will find.","repair":"Skip writes whose slot and target are in the same region.","root_cause":"The filter compares cards instead of regions.","sha256":"9e42c75b0bd9fbecad32c35c1f1094df37e707a2189d8e19b4ed46eb9906b439","title":"Remembered sets: intra-region pointers recorded · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.283,"exit_code":1,"observations":[{"actual":{"1":[0],"6":[16]},"check":"regression: old-to-young and old-to-old writes","expected":{"1":[0],"6":[16],"7":[50]},"passed":false},{"actual":{},"check":"pointer within the same region","expected":{},"passed":true},{"actual":{"1":[23]},"check":"neighbouring addresses across a region boundary","expected":{"1":[7,23]},"passed":false},{"actual":{},"check":"writes from young regions are filtered","expected":{},"passed":true},{"actual":{"3":[0,48]},"check":"pointer into a humongous continuation","expected":{"3":[0,48]},"passed":true},{"actual":{},"check":"null writes","expected":{"3":[16]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: old-to-young and old-to-old writes\", \"actual\": {\"1\": [0], \"6\": [16]}, \"expected\": {\"1\": [0], \"6\": [16], \"7\": [50]}, \"passed\": false}, {\"check\": \"pointer within the same region\", \"actual\": {}, \"expected\": {}, \"passed\": true}, {\"check\": \"neighbouring addresses across a region boundary\", \"actual\": {\"1\": [23]}, \"expected\": {\"1\": [7, 23]}, \"passed\": false}, {\"check\": \"writes from young regions are filtered\", \"actual\": {}, \"expected\": {}, \"passed\": true}, {\"check\": \"pointer into a humongous continuation\", \"actual\": {\"3\": [0, 48]}, \"expected\": {\"3\": [0, 48]}, \"passed\": true}, {\"check\": \"null writes\", \"actual\": {}, \"expected\": {\"3\": [16]}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.846,"exit_code":1,"observations":[{"actual":{"1":[0],"6":[16],"7":[50]},"check":"regression: old-to-young and old-to-old writes","expected":{"1":[0],"6":[16],"7":[50]},"passed":true},{"actual":{"2":[16,23]},"check":"pointer within the same region","expected":{},"passed":false},{"actual":{"1":[7,23]},"check":"neighbouring addresses across a region boundary","expected":{"1":[7,23]},"passed":true},{"actual":{},"check":"writes from young regions are filtered","expected":{},"passed":true},{"actual":{"3":[0,48]},"check":"pointer into a humongous continuation","expected":{"3":[0,48]},"passed":true},{"actual":{"3":[16]},"check":"null writes","expected":{"3":[16]},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: old-to-young and old-to-old writes\", \"actual\": {\"1\": [0], \"6\": [16], \"7\": [50]}, \"expected\": {\"1\": [0], \"6\": [16], \"7\": [50]}, \"passed\": true}, {\"check\": \"pointer within the same region\", \"actual\": {\"2\": [16, 23]}, \"expected\": {}, \"passed\": false}, {\"check\": \"neighbouring addresses across a region boundary\", \"actual\": {\"1\": [7, 23]}, \"expected\": {\"1\": [7, 23]}, \"passed\": true}, {\"check\": \"writes from young regions are filtered\", \"actual\": {}, \"expected\": {}, \"passed\": true}, {\"check\": \"pointer into a humongous continuation\", \"actual\": {\"3\": [0, 48]}, \"expected\": {\"3\": [0, 48]}, \"passed\": true}, {\"check\": \"null writes\", \"actual\": {\"3\": [16]}, \"expected\": {\"3\": [16]}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.824,"exit_code":0,"observations":[{"actual":{"1":[0],"6":[16],"7":[50]},"check":"regression: old-to-young and old-to-old writes","expected":{"1":[0],"6":[16],"7":[50]},"passed":true},{"actual":{},"check":"pointer within the same region","expected":{},"passed":true},{"actual":{"1":[7,23]},"check":"neighbouring addresses across a region boundary","expected":{"1":[7,23]},"passed":true},{"actual":{},"check":"writes from young regions are filtered","expected":{},"passed":true},{"actual":{"3":[0,48]},"check":"pointer into a humongous continuation","expected":{"3":[0,48]},"passed":true},{"actual":{"3":[16]},"check":"null writes","expected":{"3":[16]},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: old-to-young and old-to-old writes\", \"actual\": {\"1\": [0], \"6\": [16], \"7\": [50]}, \"expected\": {\"1\": [0], \"6\": [16], \"7\": [50]}, \"passed\": true}, {\"check\": \"pointer within the same region\", \"actual\": {}, \"expected\": {}, \"passed\": true}, {\"check\": \"neighbouring addresses across a region boundary\", \"actual\": {\"1\": [7, 23]}, \"expected\": {\"1\": [7, 23]}, \"passed\": true}, {\"check\": \"writes from young regions are filtered\", \"actual\": {}, \"expected\": {}, \"passed\": true}, {\"check\": \"pointer into a humongous continuation\", \"actual\": {\"3\": [0, 48]}, \"expected\": {\"3\": [0, 48]}, \"passed\": true}, {\"check\": \"null writes\", \"actual\": {\"3\": [16]}, \"expected\": {\"3\": [16]}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}