← Evaluations/EVAL-20260317-020251
code
Mar 17, 2026EVAL-20260317-020251

This distributed lock implementation has a subtle race condition that can cause two processes to hold the lock simultaneously. Find the bug and fix it. ```python import redis import time import uuid class DistributedLock: def __init__(self, redis_client, lock_name, timeout=10): self.redis = redis_client self.lock_name = f"lock:{lock_name}" self.timeout = timeout self.token = str(uuid.uuid4()) def acquire(self): while True: if self.redis.setnx(self.lock_name, self.token): self.redis.expire(self.lock_name, self.timeout) return True time.sleep(0.1) def release(self): if self.redis.get(self.lock_name) == self.token: self.redis.delete(self.lock_name) ``` Explain why this is dangerous in production and provide a correct implementation.

Winner
Qwen 3.5 397B-A17B
openrouter
9.74
WINNER SCORE
matrix avg: 9.14
results.json report.mdFull dataset (CSV) →
10×10 Judgment Matrix · 43 judgments
OPEN DATA
Judge ↓ / Respondent →Qwen 3.5 9BQwen 3 8BQwen 3 32BQwen 3 Coder NextQwen 3.5 35B-A3BQwen 3.5 27BQwen 3.5 122B-A10BQwen 3.5 397B-A17B
Qwen 3.5 9B9.8··8.88.89.09.6
Qwen 3 8B9.2·9.810.010.010.010.0
Qwen 3 32B8.310.010.010.010.010.08.8
Qwen 3 Coder Next9.010.0·10.010.010.010.0
Qwen 3.5 35B-A3B6.3··8.68.29.010.0
Qwen 3.5 27B···8.67.98.89.8
Qwen 3.5 122B-A10B6.38.6·8.88.28.610.0
Qwen 3.5 397B-A17B·9.8··6.79.89.6