changeset 40417:8ebb05f747e5 stable

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.
author Yuya Nishihara <yuya@tcha.org>
date Wed, 31 Oct 2018 21:16:54 +0900
parents 14b6afc6cb28
children 256b1f0c24e8
files hgext/fix.py
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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