[Bug] Deadlock may happen in cancel_other_workers even when there's only one handle
Chronostasys opened this issue · 0 comments
Chronostasys commented
I've encountered a deadlock in salsa in cancel_other_workers
(line 151 below) even when there are no other active snapshots.
This may have occurred when there's no other active handle.
The problem is the misusage of condvar api. When waiting for signals of changing jars
, jar
itself needs to be protected by a lock (which is later passed to condver), and so it is in Drop
.
salsa/components/salsa-2022/src/storage.rs
Lines 129 to 153 in 4151b09