hg st/clone/pull crashes on old machine with 5.4

Manuel Jacob me at manueljacob.de
Wed May 13 22:35:52 UTC 2020


On 2020-05-14 00:14, Manuel Jacob wrote:
> Hi Sandro,
> 
> The problem is probably the 6 year old Python version. See also the
> weird error message "TypeError: 'buffer' does not have the buffer
> interface". ;)
> 
> If you are unable to upgrade the Python version, I can debug it and
> maybe find a workaround. However, it’s not trivial to compile Python
> 2.7.3 on my machine. It would be easier with SSH access to a machine
> that has Python 2.7.3 and a functioning pip installed.

I managed to reproduce the bug locally.

> -Manuel
> 
> On 2020-05-13 22:21, Alessandro Dentella wrote:
>> Hi,
>> 
>> I have an old server (Debian Wheezy/7.5) where I compiled a mercurial 
>> 5.4 and
>> pulled a repo I host on Heptapod.
>> 
>> When I do hg pull (or hg st) of a repo pulled from heptapod it crashes 
>> with the
>> traceback reported below. (same behaviour with 5.3.2, 4.9.1).
>> 
>> If I `hg pull` any from Debian 8+ with hg 5.4 there's no problem.
>> 
>> How does the OS influence this behaviour? Is it something known?
>> 
>> 
>> Thanks for your help
>> 
>> 
>> sandro
>> *:-)
>> 
>> 
>> 
>> 
>> --
>> Sandro Dentella  *:-)
>> http://trepalchi.it                Il portale degli artisti
>> 
>> http://www.reteisi.org             Soluzioni libere per le scuole
>> http://sqlkit.argolinux.org        SQLkit home page - 
>> PyGTK/python/sqlalchemy
>> 
>> 
>> root at fw-publieditor-colt:/tmp/sd# hg clone
>> ssh://git@hg.thux.dev/customers/zoooom/quasar2020.customer.app.zoooom.it
>> destination directory: quasar2020.customer.app.zoooom.it
>> requesting all changes
>> adding changesets
>> adding manifests
>> transaction abort!
>> rollback completed
>> ** unknown exception encountered, please report by visiting
>> ** https://mercurial-scm.org/wiki/BugTracker
>> ** Python 2.7.3 (default, Mar 14 2014, 11:57:14) [GCC 4.7.2]
>> ** Mercurial Distributed SCM (version 5.4)
>> ** Extensions loaded: convert, graphlog, strip, mq, pager, rebase, 
>> record
>> Traceback (most recent call last):
>>   File "/usr/bin/hg", line 43, in <module>
>>     dispatch.run()
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/dispatch.py",
>> line 112, in run
>>     status = dispatch(req)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/dispatch.py",
>> line 298, in dispatch
>>     ret = _runcatch(req) or 0
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/dispatch.py",
>> line 472, in _runcatch
>>     return _callcatch(ui, _runcatchfunc)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/dispatch.py",
>> line 481, in _callcatch
>>     return scmutil.callcatch(ui, func)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/scmutil.py",
>> line 152, in callcatch
>>     return func()
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/dispatch.py",
>> line 462, in _runcatchfunc
>>     return _dispatch(req)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/dispatch.py",
>> line 1226, in _dispatch
>>     lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/dispatch.py",
>> line 910, in runcommand
>>     ret = _runcommand(ui, options, cmd, d)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/hgext/pager.py", line
>> 76, in pagecmd
>>     return orig(ui, options, cmd, cmdfunc)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/dispatch.py",
>> line 1237, in _runcommand
>>     return cmdfunc()
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/dispatch.py",
>> line 1223, in <lambda>
>>     d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/util.py",
>> line 1864, in check
>>     return func(*args, **kwargs)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/commands.py",
>> line 1916, in clone
>>     depth=opts.get(b'depth') or None,
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/hg.py",
>> line 907, in clone
>>     depth=depth,
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/exchange.py",
>> line 1827, in pull
>>     _fullpullbundle2(repo, pullop)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/exchange.py",
>> line 1693, in _fullpullbundle2
>>     _pullbundle2(pullop)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/exchange.py",
>> line 2030, in _pullbundle2
>>     bundle2.processbundle(pullop.repo, bundle, op=op)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/bundle2.py",
>> line 477, in processbundle
>>     processparts(repo, op, unbundler)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/bundle2.py",
>> line 485, in processparts
>>     _processpart(op, part)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/bundle2.py",
>> line 554, in _processpart
>>     handler(op, part)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/bundle2.py",
>> line 2000, in handlechangegroup
>>     **extrakwargs
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/bundle2.py",
>> line 489, in _processchangegroup
>>     ret = cg.apply(op.repo, tr, source, url, **kwargs)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/changegroup.py",
>> line 343, in apply
>>     self._unpackmanifests(repo, revmap, trp, progress)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/changegroup.py",
>> line 258, in _unpackmanifests
>>     repo.manifestlog.getstorage(b'').addgroup(deltas, revmap, trp)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/manifest.py",
>> line 1803, in addgroup
>>     deltas, linkmapper, transaction, addrevisioncb=addrevisioncb
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/revlog.py",
>> line 2465, in addgroup
>>     deltacomputer=deltacomputer,
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/revlog.py",
>> line 2303, in _addrevision
>>     deltainfo = deltacomputer.finddeltainfo(revinfo, fh)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/revlogutils/deltas.py",
>> line 1087, in finddeltainfo
>>     deltainfo = self._fullsnapshotinfo(fh, revinfo)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/revlogutils/deltas.py",
>> line 1017, in _fullsnapshotinfo
>>     rawtext = self.buildtext(revinfo, fh)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/revlogutils/deltas.py",
>> line 938, in buildtext
>>     revinfo.node,
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/revlogutils/deltas.py",
>> line 526, in _textfromdelta
>>     basetext = revlog.revision(baserev, _df=fh, raw=False)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/revlog.py",
>> line 1834, in revision
>>     return self._revisiondata(nodeorrev, _df, raw=raw)[0]
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/revlog.py",
>> line 1860, in _revisiondata
>>     rev, rawtext, validated = self._rawtext(node, rev, _df=_df)
>>   File
>> "/usr/local/share/hg/lib/python2.7/site-packages/mercurial/revlog.py",
>> line 1934, in _rawtext
>>     rawtext = mdiff.patches(basetext, bins)
>> TypeError: 'buffer' does not have the buffer interface
>> _______________________________________________
>> Mercurial mailing list
>> Mercurial at mercurial-scm.org
>> https://www.mercurial-scm.org/mailman/listinfo/mercurial
> _______________________________________________
> Mercurial mailing list
> Mercurial at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial



More information about the Mercurial mailing list