[Python-apps-team] Bug#636396: mercurial: Cloning fails with: mpatch.mpatchError: patch cannot be decoded

Nicola nic.tuv at gmail.com
Fri Aug 12 11:08:36 UTC 2011


The reported error might be not directly related with python 2.6/2.7
or the unstable version of mercurial:

I'm guessing that the original bug report caontained output of
mercurial run on ARM architecture (my guess is that sheeva stands for
sheevaplug), compiled with the "recently" updated gcc 4.6.1 toolchain.

Apparently problems have been reported even for the stable version of
mercurial when compiled with gcc 4.6.1 ARM toolchain:
http://mercurial.selenic.com/bts/issue2877

I myself get exactly the same traceback reported in the original bug
report and in the upstream one, when running any operation (clone,
log, verify) using mercurial on debian ARM after a recent update that
brought mercurial 1.8.3 and the gcc 4.6.1 toolchain.

I would suggest revising the priority/severity of this bug (in the
scope of armel architecture) as it seems to me that, at least on
armel, the new packages are completely useless as any operation on new
and preexisting repositories fails with this error.

I'm not using any third party extension, nor any extension not
included in the official bundle, and even disabling any extension the
bug persists.


I'm attaching the output of hg version and hg log (this is with all
extensions disabled):

hg at sheeva:~/repos/ecsign$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux testing (wheezy)
Release:        testing
Codename:       wheezy

hg at sheeva:~/repos/ecsign$ uname -mo
armv5tel GNU/Linux
hg at sheeva:~/repos/ecsign$ cat /proc/cpuinfo
Processor       : Feroceon 88FR131 rev 1 (v5l)
BogoMIPS        : 1191.11
Features        : swp half thumb fastmult edsp
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant     : 0x2
CPU part        : 0x131
CPU revision    : 1

Hardware        : Marvell eSATA SheevaPlug Reference Board
Revision        : 0000
Serial          : 0000000000000000

hg at sheeva:~/repos/ecsign$ hg version
Mercurial Distributed SCM (version 1.8.3)
(see http://mercurial.selenic.com for more information)

Copyright (C) 2005-2011 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

hg at sheeva:~/repos/ecsign$ hg log
** unknown exception encountered, please report by visiting
**  http://mercurial.selenic.com/wiki/BugTracker
** Python 2.6.7 (r267:88850, Jul 10 2011, 11:09:45) [GCC 4.6.1
20110611 (prerelease)]
** Mercurial Distributed SCM (version 1.8.3)
** Extensions loaded:
Traceback (most recent call last):
  File "/usr/bin/hg", line 38, in <module>
    mercurial.dispatch.run()
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 16, in run
    sys.exit(dispatch(sys.argv[1:]))
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 36,
in dispatch
    return _runcatch(u, args)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 58,
in _runcatch
    return _dispatch(ui, args)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 601,
in _dispatch
    cmdpats, cmdoptions)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 406,
in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 655,
in _runcommand
    return checkargs()
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 609,
in checkargs
    return cmdfunc()
  File "/usr/lib/pymodules/python2.6/mercurial/dispatch.py", line 598,
in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/pymodules/python2.6/mercurial/util.py", line 433, in check
    return func(*args, **kwargs)
  File "/usr/lib/pymodules/python2.6/mercurial/commands.py", line 2666, in log
    for ctx in cmdutil.walkchangerevs(repo, matchfn, opts, prep):
  File "/usr/lib/pymodules/python2.6/mercurial/cmdutil.py", line 1303,
in iterate
    prepare(ctx, fns)
  File "/usr/lib/pymodules/python2.6/mercurial/commands.py", line 2664, in prep
    displayer.show(ctx, copies=copies, matchfn=revmatchfn)
  File "/usr/lib/pymodules/python2.6/mercurial/cmdutil.py", line 784, in show
    self._show(ctx, copies, matchfn, props)
  File "/usr/lib/pymodules/python2.6/mercurial/cmdutil.py", line 800, in _show
    date = util.datestr(ctx.date())
  File "/usr/lib/pymodules/python2.6/mercurial/context.py", line 106, in date
    return self._changeset[2]
  File "/usr/lib/pymodules/python2.6/mercurial/util.py", line 169, in __get__
    result = self.func(obj)
  File "/usr/lib/pymodules/python2.6/mercurial/context.py", line 59,
in _changeset
    return self._repo.changelog.read(self.node())
  File "/usr/lib/pymodules/python2.6/mercurial/changelog.py", line 173, in read
    text = self.revision(node)
  File "/usr/lib/pymodules/python2.6/mercurial/revlog.py", line 871, in revision
    text = mdiff.patches(text, bins)
mpatch.mpatchError: patch cannot be decoded





More information about the Python-apps-team mailing list