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

Javi Merino cibervicho at gmail.com
Wed Sep 14 07:53:56 UTC 2011


On 14/09/11 08:12, Arno Huggenfeld wrote:
> 
> Ok,
> 
> third try.
> 
> ----------------------------------------
> As it seems that my first two mails vanished in the spam filter, next try with different settings.
> ----------------------------------------
> I discovered by chance that mercurial is working after
> 
> # echo 2 > /proc/cpu/alignment
> (meaning fix problem, default 0 means do nothing)
> 
> which strongly suggests that there is an alignment problem in mpatch.c . Most of the times it is code which implicitly relies on a specific alignment of structure members or array elements, which is not standardized and cpu, os and compiler specific. http://netwinder.osuosl.org/users/b/brianbr/public_html/alignment.html and http://lecs.cs.ucla.edu/wiki/index.php have good explanations.

Nice!

> ----------------------------------------
> I did some experiments with various versions:
> 
> 1.8.3-1 (wheezy): only working with echo 2 > /proc/cpu/alignment
> 1.8.4+174-6ab8b17adc03 (upstream hg-stable): only working with echo 2 > /proc/cpu/alignment
> 1.9.1 (upstream previous release): only working with echo 2 > /proc/cpu/alignment
> 1.9.1-2 (sid): only working with echo 2 > /proc/cpu/alignment
> 1.9.2 (upstream latest release): working
> 1.9.2+17-d23dfcbb8840+20110912 (upstream main): working
> 
> All tests were limited to hg verify on a small repository.

My current test case is:

cd /tmp
rm -rf a
hg init a
cd a
echo a > a
hg ci -Am0
hg tag t1
hg tag --remove t1

which fails in 1.9.2 .

> It is not mentioned in the release notes but something was fixed between 1.9.1 and 1.9.2.

Yes, the situation has improved a lot in 1.9.2, you can clone and
commit, but there are still problems (see the test case above).

> Therefore I suggest Debian upgrading to 1.9.2.

1.9.2 was uploaded to debian yesterday.  I'm not root in the ARM machine
I'm using for debugging, so I can't test your suggestion.  Can you
please upgrade your package and see if it works?

It would really help if you could run the whole mercurial test suite.
To do that, download the sources from [0] unpack them and run "make
tests".  It will probably take hours to execute.

[0] http://mercurial.selenic.com/release/mercurial-1.9.2.tar.gz

Thanks,
Javi (Vicho)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/python-apps-team/attachments/20110914/39926ec6/attachment-0001.pgp>


More information about the Python-apps-team mailing list