[issue1947] Busy hang producing diff for merge changeset involving renames
Jesse Glick
bugs at mercurial.selenic.com
Thu Dec 10 17:50:12 UTC 2009
New submission from Jesse Glick <jesse.glick at sun.com>:
Try something like:
$ hg clone -U http://hg.netbeans.org/prototypes/
$ hg -R r log -r d774ee5a31bd -p
Hg 1.2 takes 5.1 sec, 1.3/1.3.1 6.5 sec. Hg 1.4/1.4.1 consumes 100% CPU and
never finishes (at least so long as I have waited). --profile says
C-c C-c CallCount Recursive Total(ms) Inline(ms)
module:lineno(function)
9 0 32.4758 8.6247
mercurial.ancestor:10(ancestor)
+1341171 0 20.1788 6.8549
+mercurial.revlog:1121(parents)
+714921 0 1.3028 1.3028 +<min>
+714970 0 1.2548 1.2548 +<method 'pop' of 'list'
objects>
+716754 0 1.1117 1.1117 +<method 'append' of
'list' objects>
+17 0 0.0031 0.0001
+mercurial.context:476(parents)
1341171 0 20.1788 6.8549
mercurial.revlog:1121(parents)
+1341171 0 13.3239 5.6847
+mercurial.revlog:518(parentrevs)
1341207 0 13.3243 5.6849
mercurial.revlog:518(parentrevs)
+1341206 0 7.6394 4.8956
+mercurial.revlog:269(__getitem__)
1347945 0 7.7005 4.9204
mercurial.revlog:269(__getitem__)
+1347945 0 2.7576 2.7576 +<_struct.unpack>
+14 0 0.0225 0.0001 +mercurial.revlog:264(load)
1503703 0 3.0610 3.0610 <_struct.unpack>
714989 0 1.3029 1.3029 <min>
715203 0 1.2553 1.2553 <method 'pop' of 'list'
objects>
718848 0 1.1153 1.1153 <method 'append' of
'list' objects>
155683 0 1.6612 0.8665
mercurial.revlog:293(__iter__)
+155681 0 0.3032 0.3032 +<_struct.unpack>
+155681 0 0.2455 0.2455 +<isinstance>
+141 0 0.2460 0.0009
+mercurial.revlog:234(loadindex)
192418 0 0.9481 0.6447 mercurial.manifest:18(flags)
+192418 0 0.3033 0.3033 +<method 'get' of 'dict'
objects>
The changeset is a pbranch merge; the branch involved moving a few dozen
files, but is otherwise a modest patch:
15 files changed, 281 insertions(+), 321 deletions(-)
157f6b44cef8 (the non-merge changeset which did the rename) produces this
problem as well, though it did not do so before the merge. Other changesets
in the branch do not pose a problem, so I'm guessing the renames are the
trigger.
----------
messages: 11202
nosy: jglick, mzlamal
priority: bug
status: unread
title: Busy hang producing diff for merge changeset involving renames
topic: 1.4, diff, performance, regression
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue1947>
____________________________________________________
More information about the Mercurial-devel
mailing list