[Python-apps-team] Bug#921572: mercurial breaks hg-git autopkgtest: ProgrammingError: callcommand() cannot be used after commands are sent

Paul Gevers elbrus at debian.org
Wed Feb 6 20:41:08 GMT 2019


Source: mercurial, hg-git
Control: found -1 mercurial/4.9-1
Control: found -1 hg-git/0.8.12-1
Severity: important
X-Debbugs-CC: debian-ci at lists.debian.org
User: debian-ci at lists.debian.org
Usertags: breaks needs-update

Dear maintainers,

With a recent upload of mercurial the autopkgtest of hg-git fails in
testing when that autopkgtest is run with the binary packages of
mercurial from unstable. It passes when run with only packages from
testing. In tabular form:
                       pass            fail
mercurial              from testing    4.9-1
hg-git                 from testing    0.8.12-1
versioned deps [0]     from testing    from unstable
all others             from testing    from testing

I copied some of the output at the bottom of this report. There are lots
of deprecation warnings that hg-git must fix one way or the other (for
real, or in the reference data), but there are other failures that I am
not sure about. Please check the full log.

Currently this regression is blocking the migration of mercurial to
testing [1]. Due to the nature of this issue, I filed this bug report
against both packages. Can you please investigate the situation and
reassign the bug to the right package?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[0] You can see what packages were added from the second line of the log
file quoted below. The migration software adds source package from
unstable to the list if they are needed to install packages from
mercurial/4.9-1. I.e. due to versioned dependencies or breaks/conflicts.
[1] https://qa.debian.org/excuses.php?package=mercurial

https://ci.debian.net/data/autopkgtest/testing/amd64/h/hg-git/1866935/log.gz

--- /tmp/autopkgtest-lxc.f_shsdii/downtmp/build.dXo/src/tests/test-pull.t
+++
/tmp/autopkgtest-lxc.f_shsdii/downtmp/build.dXo/src/tests/test-pull.t.err
@@ -24,24 +24,103 @@
   $ echo "default=$TESTTMP/gitrepo" >> hgrepo/.hg/hgrc
   $ hg -R hgrepo pull -r t_alpha
   pulling from $TESTTMP/gitrepo
-  importing git objects into hg
-  (run 'hg update' to get a working copy)
+  ** Unknown exception encountered with possibly-broken third-party
extension hggit
+  ** which supports versions 4.7 of Mercurial.
+  ** Please disable hggit and try your action again.
+  ** If that fixes the bug please report it to
https://bitbucket.org/durin42/hg-git/issues
+  ** Python 2.7.15+ (default, Feb  3 2019, 13:13:16) [GCC 8.2.0]
+  ** Mercurial Distributed SCM (version 4.9)
+  ** Extensions loaded: hggit, strip, mq
+  ** ProgrammingError: callcommand() cannot be used after commands are sent
+  Traceback (most recent call last):
+    File "/usr/bin/hg", line 43, in <module>
+      dispatch.run()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
99, in run
+      status = dispatch(req)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
225, in dispatch
+      ret = _runcatch(req) or 0
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
376, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
384, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line
165, in callcatch
+      return func()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
367, in _runcatchfunc
+      return _dispatch(req)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1021, in _dispatch
+      cmdpats, cmdoptions)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
756, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1030, in _runcommand
+      return cmdfunc()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1018, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/hgext/mq.py", line 3633, in
mqcommand
+      return orig(ui, repo, *args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line
4451, in pull
+      fnodes.append(e.callcommand('lookup', {'key': r}))
+    File
"/usr/lib/python2.7/dist-packages/mercurial/wireprotov1peer.py", line
133, in callcommand
+      raise error.ProgrammingError('callcommand() cannot be used '
+  mercurial.error.ProgrammingError: callcommand() cannot be used after
commands are sent
+  [1]
   $ hg -R hgrepo update t_alpha
-  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  abort: unknown revision 't_alpha'!
+  [255]
   $ hg -R hgrepo log --graph
-  @  changeset:   0:ff7a2f2d8d70
-     bookmark:    master
-     tag:         default/master
-     tag:         t_alpha
-     tag:         tip
-     user:        test <test at example.org>
-     date:        Mon Jan 01 00:00:10 2007 +0000
-     summary:     add alpha
-
 no-op pull
   $ hg -R hgrepo pull -r t_alpha
   pulling from $TESTTMP/gitrepo
-  no changes found
+  ** Unknown exception encountered with possibly-broken third-party
extension hggit
+  ** which supports versions 4.7 of Mercurial.
+  ** Please disable hggit and try your action again.
+  ** If that fixes the bug please report it to
https://bitbucket.org/durin42/hg-git/issues
+  ** Python 2.7.15+ (default, Feb  3 2019, 13:13:16) [GCC 8.2.0]
+  ** Mercurial Distributed SCM (version 4.9)
+  ** Extensions loaded: hggit, strip, mq
+  ** ProgrammingError: callcommand() cannot be used after commands are sent
+  Traceback (most recent call last):
+    File "/usr/bin/hg", line 43, in <module>
+      dispatch.run()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
99, in run
+      status = dispatch(req)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
225, in dispatch
+      ret = _runcatch(req) or 0
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
376, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
384, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line
165, in callcatch
+      return func()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
367, in _runcatchfunc
+      return _dispatch(req)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1021, in _dispatch
+      cmdpats, cmdoptions)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
756, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1030, in _runcommand
+      return cmdfunc()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1018, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/hgext/mq.py", line 3633, in
mqcommand
+      return orig(ui, repo, *args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line
4451, in pull
+      fnodes.append(e.callcommand('lookup', {'key': r}))
+    File
"/usr/lib/python2.7/dist-packages/mercurial/wireprotov1peer.py", line
133, in callcommand
+      raise error.ProgrammingError('callcommand() cannot be used '
+  mercurial.error.ProgrammingError: callcommand() cannot be used after
commands are sent
+  [1]

 no-op pull with added bookmark
   $ cd gitrepo
@@ -49,32 +128,101 @@
   $ cd ..
   $ hg -R hgrepo pull -r epsilon
   pulling from $TESTTMP/gitrepo
-  no changes found
+  ** Unknown exception encountered with possibly-broken third-party
extension hggit
+  ** which supports versions 4.7 of Mercurial.
+  ** Please disable hggit and try your action again.
+  ** If that fixes the bug please report it to
https://bitbucket.org/durin42/hg-git/issues
+  ** Python 2.7.15+ (default, Feb  3 2019, 13:13:16) [GCC 8.2.0]
+  ** Mercurial Distributed SCM (version 4.9)
+  ** Extensions loaded: hggit, strip, mq
+  ** ProgrammingError: callcommand() cannot be used after commands are sent
+  Traceback (most recent call last):
+    File "/usr/bin/hg", line 43, in <module>
+      dispatch.run()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
99, in run
+      status = dispatch(req)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
225, in dispatch
+      ret = _runcatch(req) or 0
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
376, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
384, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line
165, in callcatch
+      return func()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
367, in _runcatchfunc
+      return _dispatch(req)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1021, in _dispatch
+      cmdpats, cmdoptions)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
756, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1030, in _runcommand
+      return cmdfunc()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1018, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/hgext/mq.py", line 3633, in
mqcommand
+      return orig(ui, repo, *args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line
4451, in pull
+      fnodes.append(e.callcommand('lookup', {'key': r}))
+    File
"/usr/lib/python2.7/dist-packages/mercurial/wireprotov1peer.py", line
133, in callcommand
+      raise error.ProgrammingError('callcommand() cannot be used '
+  mercurial.error.ProgrammingError: callcommand() cannot be used after
commands are sent
+  [1]

 pull a branch
   $ hg -R hgrepo pull -r beta
   pulling from $TESTTMP/gitrepo
-  importing git objects into hg
-  (run 'hg update' to get a working copy)
+  ** Unknown exception encountered with possibly-broken third-party
extension hggit
+  ** which supports versions 4.7 of Mercurial.
+  ** Please disable hggit and try your action again.
+  ** If that fixes the bug please report it to
https://bitbucket.org/durin42/hg-git/issues
+  ** Python 2.7.15+ (default, Feb  3 2019, 13:13:16) [GCC 8.2.0]
+  ** Mercurial Distributed SCM (version 4.9)
+  ** Extensions loaded: hggit, strip, mq
+  ** ProgrammingError: callcommand() cannot be used after commands are sent
+  Traceback (most recent call last):
+    File "/usr/bin/hg", line 43, in <module>
+      dispatch.run()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
99, in run
+      status = dispatch(req)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
225, in dispatch
+      ret = _runcatch(req) or 0
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
376, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
384, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line
165, in callcatch
+      return func()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
367, in _runcatchfunc
+      return _dispatch(req)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1021, in _dispatch
+      cmdpats, cmdoptions)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
756, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1030, in _runcommand
+      return cmdfunc()
+    File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
1018, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/hgext/mq.py", line 3633, in
mqcommand
+      return orig(ui, repo, *args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line
1672, in check
+      return func(*args, **kwargs)
+    File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line
4451, in pull
+      fnodes.append(e.callcommand('lookup', {'key': r}))
+    File
"/usr/lib/python2.7/dist-packages/mercurial/wireprotov1peer.py", line
133, in callcommand
+      raise error.ProgrammingError('callcommand() cannot be used '
+  mercurial.error.ProgrammingError: callcommand() cannot be used after
commands are sent
+  [1]
   $ hg -R hgrepo log --graph
-  o  changeset:   1:7fe02317c63d
-  |  bookmark:    beta
-  |  tag:         default/beta
-  |  tag:         tip
-  |  user:        test <test at example.org>
-  |  date:        Mon Jan 01 00:00:11 2007 +0000
-  |  summary:     add beta
-  |
-  @  changeset:   0:ff7a2f2d8d70
-     bookmark:    epsilon
-     bookmark:    master
-     tag:         default/epsilon
-     tag:         default/master
-     tag:         t_alpha
-     user:        test <test at example.org>
-     date:        Mon Jan 01 00:00:10 2007 +0000
-     summary:     add alpha
-

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/python-apps-team/attachments/20190206/2a6acc9b/attachment.sig>


More information about the Python-apps-team mailing list