{"abstract":"References into the tail of a humongous object are filed under a continuation region nobody scans.","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":"Stepping back a single region is wrong for objects spanning three or more regions.","family":"w2-garbage-collector-invariants-region-remembered-sets-humongous-continuation-mapping","id":"FA-90746","implementations":{"attempt":{"sha256":"6bf98a2ba48b4e323bbdb0c76166a6a66fbce723c00265ef2c8c3cb9cb688d8b","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        if 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"},"broken":{"sha256":"df886d57a76757a44e29a7e732116446f391fb2467b3c09b1e53f55fd2a9ba94","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        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"},"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-humongous-continuation-mapping","generated_at":"2026-09-29T14:51:29.654666+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":"Walk back from continuation regions to the region where the humongous object starts.","root_cause":"The target region is not mapped back to the humongous start region.","sha256":"b5937736f6366473550bc8fa0e08660a377dffea95d396c302dc84236acbfd5e","title":"Remembered sets: continuation regions get their own sets · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.925,"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":{},"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":[48],"4":[0]},"check":"pointer into a humongous continuation","expected":{"3":[0,48]},"passed":false},{"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\": {}, \"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\": [48], \"4\": [0]}, \"expected\": {\"3\": [0, 48]}, \"passed\": false}, {\"check\": \"null writes\", \"actual\": {\"3\": [16]}, \"expected\": {\"3\": [16]}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.772,"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":{},"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":{"4":[48],"5":[0]},"check":"pointer into a humongous continuation","expected":{"3":[0,48]},"passed":false},{"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\": {}, \"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\": {\"4\": [48], \"5\": [0]}, \"expected\": {\"3\": [0, 48]}, \"passed\": false}, {\"check\": \"null writes\", \"actual\": {\"3\": [16]}, \"expected\": {\"3\": [16]}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.485,"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"}