返回 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