{"abstract":"The distributed lock operation is admitted even though reacquisition reuses the previous fencing token.","category":"Concurrency","checks":9,"contract":"Return a Boolean admission decision for acquire a distributed mutex. The record r must satisfy all of: r['lock_available'] is None; r['waiter_turn'][0] == r['waiter_turn'][1][0]; r['owner_session'][0] < r['owner_session'][1]; r['fence_increase'][0] > r['fence_increase'][1]; r['lock_namespace'][0] == r['lock_namespace'][1]. Extra tracing fields are ignored; validation does not mutate the record.","evaluation_group":"xd-distributed-lock","failed_approach":"Adding the fence increase check repairs the reported defect, but replacing the adjacent lock namespace check loses that independent invariant.","family":"xd-distributed-lock-fence_increase","id":"FA-1366","implementations":{"attempt":{"sha256":"90a7e85e3b4b559680f11ed78579a65d29f83908ba249be5992568e8a7e57cce","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    return (r['lock_available'] is None) and (r['waiter_turn'][0] == r['waiter_turn'][1][0]) and (r['owner_session'][0] < r['owner_session'][1]) and (r['fence_increase'][0] > r['fence_increase'][1])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr = {'lock_available': None, 'waiter_turn': ['a', ['a', 'b']], 'owner_session': [9, 10], 'fence_increase': [7, 6], 'lock_namespace': ['n1', 'n1']}\ncheck('valid operation', solve(r), True)\ncheck('Acquisition steals a currently held mutex', solve(dict(r, **{'lock_available': 'owner'})), False)\ncheck('A newcomer bypasses the oldest eligible waiter', solve(dict(r, **{'waiter_turn': ['b', ['a', 'b']]})), False)\ncheck('An expired session acquires a new mutex', solve(dict(r, **{'owner_session': [10, 10]})), False)\ncheck('Reacquisition reuses the previous fencing token', solve(dict(r, **{'fence_increase': [6, 6]})), False)\ncheck('A request acquires a lock in another coordination namespace', solve(dict(r, **{'lock_namespace': ['n2', 'n1']})), False)\ncheck('unrelated tracing metadata', solve(dict(r, trace='run-'+str(N))), True)\ncheck('repeat validation is pure', solve(r), True)\ninvalid = {'lock_available': 'owner', 'waiter_turn': ['b', ['a', 'b']], 'owner_session': [10, 10], 'fence_increase': [6, 6], 'lock_namespace': ['n2', 'n1']}\nkeys = list(invalid)\npair = {keys[N % len(keys)]: invalid[keys[N % len(keys)]], keys[(N+1) % len(keys)]: invalid[keys[(N+1) % len(keys)]]}\ncheck('two independent violations in variant', solve(dict(r, **pair)), False)\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":"48872a937f2439bb4d179c2f23cfae241e8f8b4df3507825d297aa3272c46b7d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    return (r['lock_available'] is None) and (r['waiter_turn'][0] == r['waiter_turn'][1][0]) and (r['owner_session'][0] < r['owner_session'][1]) and (r['lock_namespace'][0] == r['lock_namespace'][1])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr = {'lock_available': None, 'waiter_turn': ['a', ['a', 'b']], 'owner_session': [9, 10], 'fence_increase': [7, 6], 'lock_namespace': ['n1', 'n1']}\ncheck('valid operation', solve(r), True)\ncheck('Acquisition steals a currently held mutex', solve(dict(r, **{'lock_available': 'owner'})), False)\ncheck('A newcomer bypasses the oldest eligible waiter', solve(dict(r, **{'waiter_turn': ['b', ['a', 'b']]})), False)\ncheck('An expired session acquires a new mutex', solve(dict(r, **{'owner_session': [10, 10]})), False)\ncheck('Reacquisition reuses the previous fencing token', solve(dict(r, **{'fence_increase': [6, 6]})), False)\ncheck('A request acquires a lock in another coordination namespace', solve(dict(r, **{'lock_namespace': ['n2', 'n1']})), False)\ncheck('unrelated tracing metadata', solve(dict(r, trace='run-'+str(N))), True)\ncheck('repeat validation is pure', solve(r), True)\ninvalid = {'lock_available': 'owner', 'waiter_turn': ['b', ['a', 'b']], 'owner_session': [10, 10], 'fence_increase': [6, 6], 'lock_namespace': ['n2', 'n1']}\nkeys = list(invalid)\npair = {keys[N % len(keys)]: invalid[keys[N % len(keys)]], keys[(N+1) % len(keys)]: invalid[keys[(N+1) % len(keys)]]}\ncheck('two independent violations in variant', solve(dict(r, **pair)), False)\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":"b690aef6b92e649c3e63efe9b4f1ebb2872a0ddc6f001f4352256f570c8f0188","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    return (r['lock_available'] is None) and (r['waiter_turn'][0] == r['waiter_turn'][1][0]) and (r['owner_session'][0] < r['owner_session'][1]) and (r['fence_increase'][0] > r['fence_increase'][1]) and (r['lock_namespace'][0] == r['lock_namespace'][1])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr = {'lock_available': None, 'waiter_turn': ['a', ['a', 'b']], 'owner_session': [9, 10], 'fence_increase': [7, 6], 'lock_namespace': ['n1', 'n1']}\ncheck('valid operation', solve(r), True)\ncheck('Acquisition steals a currently held mutex', solve(dict(r, **{'lock_available': 'owner'})), False)\ncheck('A newcomer bypasses the oldest eligible waiter', solve(dict(r, **{'waiter_turn': ['b', ['a', 'b']]})), False)\ncheck('An expired session acquires a new mutex', solve(dict(r, **{'owner_session': [10, 10]})), False)\ncheck('Reacquisition reuses the previous fencing token', solve(dict(r, **{'fence_increase': [6, 6]})), False)\ncheck('A request acquires a lock in another coordination namespace', solve(dict(r, **{'lock_namespace': ['n2', 'n1']})), False)\ncheck('unrelated tracing metadata', solve(dict(r, trace='run-'+str(N))), True)\ncheck('repeat validation is pure', solve(r), True)\ninvalid = {'lock_available': 'owner', 'waiter_turn': ['b', ['a', 'b']], 'owner_session': [10, 10], 'fence_increase': [6, 6], 'lock_namespace': ['n2', 'n1']}\nkeys = list(invalid)\npair = {keys[N % len(keys)]: invalid[keys[N % len(keys)]], keys[(N+1) % len(keys)]: invalid[keys[(N+1) % len(keys)]]}\ncheck('two independent violations in variant', solve(dict(r, **pair)), False)\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":" 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":"xd-distributed-lock-fence_increase","generated_at":"2026-09-29T14:37:01.645575+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic local contract for concurrency. Each negative fixture violates exactly one invariant. No transport timing, persistence, cryptographic verification, or full protocol implementation is claimed.","repair":"Require r['fence_increase'][0] > r['fence_increase'][1] together with every other stated precondition before accepting the operation.","root_cause":"The admission path omits the fence increase invariant while validating the other operation preconditions.","sha256":"3a39dbdd678c827c71836568cd27fd2191c75f0401b9795ecb4e8e3525667da9","title":"Acquire a distributed mutex: Reacquisition reuses the previous fencing token · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":130.27,"exit_code":1,"observations":[{"actual":true,"check":"valid operation","expected":true,"passed":true},{"actual":false,"check":"Acquisition steals a currently held mutex","expected":false,"passed":true},{"actual":false,"check":"A newcomer bypasses the oldest eligible waiter","expected":false,"passed":true},{"actual":false,"check":"An expired session acquires a new mutex","expected":false,"passed":true},{"actual":false,"check":"Reacquisition reuses the previous fencing token","expected":false,"passed":true},{"actual":true,"check":"A request acquires a lock in another coordination namespace","expected":false,"passed":false},{"actual":true,"check":"unrelated tracing metadata","expected":true,"passed":true},{"actual":true,"check":"repeat validation is pure","expected":true,"passed":true},{"actual":false,"check":"two independent violations in variant","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"valid operation\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"Acquisition steals a currently held mutex\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A newcomer bypasses the oldest eligible waiter\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"An expired session acquires a new mutex\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Reacquisition reuses the previous fencing token\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A request acquires a lock in another coordination namespace\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"unrelated tracing metadata\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"repeat validation is pure\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"two independent violations in variant\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.507,"exit_code":1,"observations":[{"actual":true,"check":"valid operation","expected":true,"passed":true},{"actual":false,"check":"Acquisition steals a currently held mutex","expected":false,"passed":true},{"actual":false,"check":"A newcomer bypasses the oldest eligible waiter","expected":false,"passed":true},{"actual":false,"check":"An expired session acquires a new mutex","expected":false,"passed":true},{"actual":true,"check":"Reacquisition reuses the previous fencing token","expected":false,"passed":false},{"actual":false,"check":"A request acquires a lock in another coordination namespace","expected":false,"passed":true},{"actual":true,"check":"unrelated tracing metadata","expected":true,"passed":true},{"actual":true,"check":"repeat validation is pure","expected":true,"passed":true},{"actual":false,"check":"two independent violations in variant","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"valid operation\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"Acquisition steals a currently held mutex\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A newcomer bypasses the oldest eligible waiter\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"An expired session acquires a new mutex\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Reacquisition reuses the previous fencing token\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"A request acquires a lock in another coordination namespace\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unrelated tracing metadata\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"repeat validation is pure\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"two independent violations in variant\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":36.538,"exit_code":0,"observations":[{"actual":true,"check":"valid operation","expected":true,"passed":true},{"actual":false,"check":"Acquisition steals a currently held mutex","expected":false,"passed":true},{"actual":false,"check":"A newcomer bypasses the oldest eligible waiter","expected":false,"passed":true},{"actual":false,"check":"An expired session acquires a new mutex","expected":false,"passed":true},{"actual":false,"check":"Reacquisition reuses the previous fencing token","expected":false,"passed":true},{"actual":false,"check":"A request acquires a lock in another coordination namespace","expected":false,"passed":true},{"actual":true,"check":"unrelated tracing metadata","expected":true,"passed":true},{"actual":true,"check":"repeat validation is pure","expected":true,"passed":true},{"actual":false,"check":"two independent violations in variant","expected":false,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"valid operation\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"Acquisition steals a currently held mutex\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A newcomer bypasses the oldest eligible waiter\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"An expired session acquires a new mutex\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Reacquisition reuses the previous fencing token\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"A request acquires a lock in another coordination namespace\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unrelated tracing metadata\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"repeat validation is pure\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"two independent violations in variant\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}