[issue2374] zlib error when pulling from repo served on python 2.5 with a client running python 2.6

Willem Verstraeten bugs at mercurial.selenic.com
Mon Sep 13 09:42:52 CDT 2010


New submission from Willem Verstraeten <willem.verstraeten at gmail.com>:

Scenario:

PC A: Ubuntu linux, i686, python 2.6.5, Mercurial 1.6.3 (installed through
Ubuntu PPA)
PC B : Ubuntu Linux, x86_64, python 2.6.4, Mercurial 1.6.3 (installed
through Ubuntu PPA)
PC C: Debian Lenny (5.0.4), x86_64, python 2.5.2, Mercurial 1.6.3 (installed
by downloading source tarball and running 'make local')

PC A is serving a repository by running hg serve.

Cloning from PC B works perfectly, but cloning from PC C gives zlib-related
errors. I've been able to narrow it down to the first changeset that gives
errors : changeset 5451. So on B and C I first cloned up until revision
5450, and then tried to pull in revision 5451.

OK debug output from B :
hg --debug pull --rev 5451
using http://192.168.2.82:8000/
sending between command
pulling from http://192.168.2.82:8000/
sending capabilities command
capabilities: changegroupsubset stream=1 lookup pushkey
unbundle=HG10GZ,HG10BZ,HG10UN branchmap
sending lookup command
searching for changes
sending branches command
examining fa490185178f:900d308f41ac
found incomplete branch fa490185178f:900d308f41ac
searching: 1 queries
sending between command
narrowing 1:14 e7b05212a8e7
found new branch changeset fa490185178f
found new changesets starting at fa490185178f
1 total queries
sending changegroupsubset command
adding changesets
changesets: 1 chunks
add changeset fa490185178f
adding manifests
manifests: 1/1 chunks (100.00%)
adding file changes
adding docs/bestPractice/LuciadMapBestPracticeSample.pdf revisions
files: 1/3 chunks (33.33%)
adding docs/developerGuide/Lucy_DeveloperGuide.pdf revisions
files: 2/3 chunks (66.67%)
adding docs/endUserGuide/LucyEndUserGuide.pdf revisions
files: 3/3 chunks (100.00%)
added 1 changesets with 3 changes to 3 files
updating the branch cache
sending lookup command
(run 'hg update' to get a working copy)



Problematic debug output from C :
/tmp/mercurial-1.6.3/hg --debug --config
'hooks.pretxnchangegroup.verify_usernames_are_valid=' pull --rev 5451
using http://192.168.2.82:8000/
sending between command
pulling from http://192.168.2.82:8000/
sending capabilities command
capabilities: changegroupsubset stream=1 lookup pushkey
unbundle=HG10GZ,HG10BZ,HG10UN branchmap
sending lookup command
searching for changes
sending branches command
examining fa490185178f:900d308f41ac
found incomplete branch fa490185178f:900d308f41ac
searching: 1 queries
sending between command
narrowing 1:14 e7b05212a8e7
found new branch changeset fa490185178f
found new changesets starting at fa490185178f
1 total queries
sending changegroupsubset command
adding changesets
changesets: 1 chunks
add changeset fa490185178f
adding manifests
manifests: 1/1 chunks (100.00%)
adding file changes
adding docs/bestPractice/LuciadMapBestPracticeSample.pdf revisions
files: 1/3 chunks (33.33%)
adding docs/developerGuide/Lucy_DeveloperGuide.pdf revisions
files: 2/3 chunks (66.67%)
adding docs/endUserGuide/LucyEndUserGuide.pdf revisions
files: 3/3 chunks (100.00%)
transaction abort!
rollback completed
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial at selenic.com
** Python 2.5.2 (r252:60911, Jan 24 2010, 17:44:40) [GCC 4.3.2]
** Mercurial Distributed SCM (version 1.6.3)
** Extensions loaded: convert, mq
Traceback (most recent call last):
  File "/tmp/mercurial-1.6.3/hg", line 27, in <module>
    mercurial.dispatch.run()
  File "mercurial/dispatch.py", line 16, in run
  File "mercurial/dispatch.py", line 34, in dispatch
  File "mercurial/dispatch.py", line 54, in _runcatch
  File "mercurial/dispatch.py", line 494, in _dispatch
  File "mercurial/dispatch.py", line 355, in runcommand
  File "mercurial/dispatch.py", line 545, in _runcommand
  File "mercurial/dispatch.py", line 499, in checkargs
  File "mercurial/dispatch.py", line 492, in <lambda>
  File "mercurial/util.py", line 420, in check
  File "mercurial/extensions.py", line 129, in wrap
  File "mercurial/util.py", line 420, in check
  File "hgext/mq.py", line 2814, in mqcommand
  File "mercurial/util.py", line 420, in check
  File "/usr/lib/python2.5/commands.py", line 2805, in pull
    
  File "mercurial/localrepo.py", line 1206, in pull
  File "mercurial/localrepo.py", line 1722, in addchangegroup
  File "mercurial/revlog.py", line 1278, in addgroup
  File "mercurial/revlog.py", line 1040, in revision
  File "mercurial/revlog.py", line 997, in _chunk
  File "mercurial/revlog.py", line 112, in decompress
zlib.error: Error -3 while decompressing data: incorrect data check

I'm suspecting some kind of incompatibility between the zlib implementations
of Python 2.5 and Python 2.6.

Also, I found this problem while investigating why 'hg verify' fails on 15
of my +- 60 repositories fail, so I suspect that this could also be some
kind of problem during pushing, but honestly I've got no idea but am really
really worried.

----------
messages: 13606
nosy: willemv
priority: urgent
status: unread
title: zlib error when pulling from repo served on python 2.5 with a client running python 2.6

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2374>
____________________________________________________


More information about the Mercurial-devel mailing list