# HG changeset patch # User Yuya Nishihara # Date 1540988214 -32400 # Node ID 8ebb05f747e563d42185dc9fe8e4b383214c1cd1 # Parent 14b6afc6cb28747fb88f3ca3e63fbdef14f7de78 fix: disable use of thread-based worker getfixes() accesses to repo, changectx, filectx, etc., so I believe there are code paths triggering data race. Mercurial API isn't thread safe in general. diff -r 14b6afc6cb28 -r 8ebb05f747e5 hgext/fix.py --- a/hgext/fix.py Wed Oct 31 15:27:06 2018 +0300 +++ b/hgext/fix.py Wed Oct 31 21:16:54 2018 +0900 @@ -157,7 +157,8 @@ # Don't waste memory/time passing unchanged content back, but # produce one result per item either way. yield (rev, path, newdata if newdata != olddata else None) - results = worker.worker(ui, 1.0, getfixes, tuple(), workqueue) + results = worker.worker(ui, 1.0, getfixes, tuple(), workqueue, + threadsafe=False) # We have to hold on to the data for each successor revision in memory # until all its parents are committed. We ensure this by committing and