返回 Bug 清单
BUG-0098project-05中需关注python-logic
QuantumEventBuffer 使用 Lock 而非 RLock 导致 wait_for_events 死锁
发现:2026-09-30验证:2026-10-09置信度:85%
症状
调用 `wait_for_events()` 时线程永久阻塞,导致 QRNG 采集流程无法获取足够事件。
根因
`QuantumEventBuffer` 使用 `threading.Lock`(非可重入)作为锁。`wait_for_events()` 在 `with self._cond:`(获取锁)中调用 `self.snapshot()`,而 `snapshot()` 再次 `with self._lock:` 尝试获取同一把锁,导致死锁。
错误签名
`QuantumEventBuffer` 使用 `threading.Lock`(非可重入)作为锁。`wait_for_events()` 在 `with self._cond:`(获取锁)中调用 `self.snapshot()`,而 `snapshot()` 再次 `with self._lock:` 尝试获取同一把锁,导致死锁。技术信息
来源项目
project-05
涉及文件
aurora-platform/shared/utils/event_buffer.py
标签
python-logic, project-05