[issue2271] diff --git traceback with pager and high cpu load
Christian Ebert
bugs at mercurial.selenic.com
Sun Jul 4 09:11:20 UTC 2010
New submission from Christian Ebert <blacktrash at gmx.net>:
Since (found out by bisecting)
changeset: 11182:3c368a1c962d
branch: stable
parent: 11171:3b3261f6d9ba
user: Brodie Rao <brodie at bitheap.org>
date: Mon May 03 14:00:34 2010 -0500
summary: pager: fork and exec pager as parent process
I get a traceback (see below) for hg diff --git with enabled pager
extension. However this only happens when I run a multithreaded video
conversion at the same time, e.g.:
Processes: 71 total, 3 running, 68 sleeping... 234 threads 13:08:53
Load Avg: 1.42, 1.18, 0.63 CPU usage: 74.88% user, 2.46% sys, 22.66% idle
PhysMem: 477M wired, 625M active, 1274M inactive, 2382M used, 1714M free.
VM: 50G + 0 39216(0) pageins, 0(0) pageouts
PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE
1296 mencoder 149.6% 8:41.66 5 48 0 0 0 54M 666M
[...]
The extremely strange traceback:
$ hg diff -r default
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial at selenic.com
** Python 2.6.5 (r265:79063, May 13 2010, 09:27:41) [GCC 4.0.1 (Apple Inc.
build 5493)]
** Mercurial Distributed SCM (version 1.5.4+190-521c8e0c93bf)
** Extensions loaded: keyword, mq, convert, patchbomb, graphlog, record,
extdiff, color, pager, crecord
Traceback (most recent call last):
File "/usr/local/bin/hg", line 27, in <module>
mercurial.dispatch.run()
File "/usr/local/lib/python2.6/site-packages/mercurial/dispatch.py", line
16, in run
sys.exit(dispatch(sys.argv[1:]))
File "/usr/local/lib/python2.6/site-packages/mercurial/dispatch.py", line
34, in dispatch
return _runcatch(u, args)
File "/usr/local/lib/python2.6/site-packages/mercurial/dispatch.py", line
54, in _runcatch
return _dispatch(ui, args)
File "/usr/local/lib/python2.6/site-packages/mercurial/dispatch.py", line
483, in _dispatch
cmdpats, cmdoptions)
File "/usr/local/lib/python2.6/site-packages/mercurial/dispatch.py", line
351, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/local/lib/python2.6/site-packages/mercurial/extensions.py",
line 160, in wrap
return wrapper(origfn, *args, **kwargs)
File "/usr/local/lib/python2.6/site-packages/hgext/pager.py", line 95, in
pagecmd
return orig(ui, options, cmd, cmdfunc)
File "/usr/local/lib/python2.6/site-packages/mercurial/extensions.py",
line 160, in wrap
return wrapper(origfn, *args, **kwargs)
File "/usr/local/lib/python2.6/site-packages/hgext/color.py", line 213, in
colorcmd
return orig(ui_, opts, cmd, cmdfunc)
File "/usr/local/lib/python2.6/site-packages/mercurial/dispatch.py", line
534, in _runcommand
return checkargs()
File "/usr/local/lib/python2.6/site-packages/mercurial/dispatch.py", line
488, in checkargs
return cmdfunc()
File "/usr/local/lib/python2.6/site-packages/mercurial/dispatch.py", line
481, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/usr/local/lib/python2.6/site-packages/mercurial/util.py", line 408,
in check
return func(*args, **kwargs)
File "/usr/local/lib/python2.6/site-packages/mercurial/extensions.py",
line 116, in wrap
util.checksignature(origfn), *args, **kwargs)
File "/usr/local/lib/python2.6/site-packages/mercurial/util.py", line 408,
in check
return func(*args, **kwargs)
File "/usr/local/lib/python2.6/site-packages/hgext/mq.py", line 2791, in
mqcommand
return orig(ui, repo, *args, **kwargs)
File "/usr/local/lib/python2.6/site-packages/mercurial/util.py", line 408,
in check
return func(*args, **kwargs)
File "/usr/local/lib/python2.6/site-packages/mercurial/commands.py", line
1452, in diff
cmdutil.diffordiffstat(ui, repo, diffopts, node1, node2, m, stat=stat)
File "/usr/local/lib/python2.6/site-packages/mercurial/cmdutil.py", line
677, in diffordiffstat
changes, diffopts):
File "/usr/local/lib/python2.6/site-packages/mercurial/patch.py", line
1492, in difflabel
for chunk in func(*args, **kw):
File "/usr/local/lib/python2.6/site-packages/mercurial/patch.py", line
1449, in diff
changes = repo.status(ctx1, ctx2, match=match)
File "/usr/local/lib/python2.6/site-packages/mercurial/localrepo.py", line
1088, in status
mf2.set(f, ctx2.flags(f))
File "/usr/local/lib/python2.6/site-packages/mercurial/context.py", line
737, in flags
flag = findflag(self._parents[0])
File "/usr/local/lib/python2.6/site-packages/mercurial/context.py", line
731, in findflag
ff = self._repo.dirstate.flagfunc(lambda x: flag or '')
File "/usr/local/lib/python2.6/site-packages/mercurial/dirstate.py", line
131, in flagfunc
if self._checklink:
File "/usr/local/lib/python2.6/site-packages/mercurial/util.py", line 163,
in __get__
result = self.func(obj)
File "/usr/local/lib/python2.6/site-packages/mercurial/dirstate.py", line
115, in _checklink
return util.checklink(self._root)
File "/usr/local/lib/python2.6/site-packages/mercurial/util.py", line 697,
in checklink
name = tempfile.mktemp(dir=path, prefix='hg-checklink-')
File "/usr/local/lib/python2.6/site-packages/mercurial/demandimport.py",
line 75, in __getattribute__
self._load()
File "/usr/local/lib/python2.6/site-packages/mercurial/demandimport.py",
line 47, in _load
mod = _origimport(head, globals, locals)
File "/sw/lib/python2.6/tempfile.py", line 34, in <module>
from random import Random as _Random
File "/usr/local/lib/python2.6/site-packages/mercurial/demandimport.py",
line 106, in _demandimport
mod = _origimport(name, globals, locals)
File "/sw/lib/python2.6/random.py", line 59, in <module>
LOG4 = _log(4.0)
ValueError: math domain error
----------
messages: 12998
nosy: blacktrash, brodie
priority: bug
status: unread
title: diff --git traceback with pager and high cpu load
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2271>
____________________________________________________
More information about the Mercurial-devel
mailing list