hg push aborted message is displayed but push was still preformed

Keren Asulin keren.asulin at ocado.com
Thu Apr 24 16:02:09 UTC 2014


Hey mailing list,

We have an interesting issue in which a change will be pushed to mercurial
and the following message will be displayed:

"remote: abort: Resource temporarily unavailable
abort: unexpected response: empty string
[command returned code 255 Mon Apr  7 14:53:45 2014]"

but the push actually worked and running hg log on the repository in the
centralized server will display the changeset.

This would have been a minor annoyance that would have only driven me crazy
if it didn't break jenkins builds that were trying to push to mercurial.
This occurs randomly in different repos it may go away after 2 minutes or 2
days.
It was also reproduced with all extensions disabled.
The central mercurial server is running mercurial 2.8-2. The "client"
version varies, it occurs in 2.8-2 but also in 2.2.2

I'll include a push with debug and trace (the trace is local to the client)
and it looks to me like the client is expecting a response from the remote
server and getting an empty string.

We are using mercurial-server (all interaction between server and client is
done via ssh) but we have been using it before the problem started.

I removed file names from the debug + trace but everything else is the same.

Any help will be much appreciated I've been trying to solve it for 8 hours
or so now and im starting to despair.

Thanks
Keren (English is not my first language so I'm sorry if I butchered it)

Trace:

> hg push --debug --trace
pushing to ssh://hg@hg/kerensandbox
running ssh hg at hg 'hg -R kerensandbox serve --stdio'
sending hello command
sending between command
remote: 145
remote: capabilities: lookup changegroupsubset branchmap pushkey known
getbundle unbundlehash batch stream unbundle=HG10GZ,HG10BZ,HG10UN
httpheader=1024
remote: 1
query 1; heads
sending batch command
searching for changes
all remote heads known locally
sending branchmap command
sending branchmap command
preparing listkeys for "bookmarks"
sending listkeys command
3 changesets found
list of changesets:
17bfa06f7d5ac6527161fefbdb153163eb0bbdb4
692d06fdbda17fa4a753e1a6a4da2370e7fbf1a2
a4e1f6264e078fa0de15e7eea8c1d7e38b1502ed
sending unbundle command
bundling: 1/3 changesets (33.33%)
bundling: 2/3 changesets (66.67%)
bundling: 3/3 changesets (100.00%)
bundling: 1/3 manifests (33.33%)
bundling: 2/3 manifests (66.67%)
bundling: 3/3 manifests (100.00%)
bundling: ... 1/42 files (2.38%)
bundling: ... 2/42 files (4.76%)
bundling: ... 3/42 files (7.14%)
bundling: ... 4/42 files (9.52%)
bundling: ... 5/42 files (11.90%)
bundling: ... 6/42 files (14.29%)
bundling: ... 7/42 files (16.67%)
bundling: ... 9/42 files (21.43%)
bundling: ... 10/42 files (23.81%)
bundling: ... 11/42 files (26.19%)
bundling: ... 12/42 files (28.57%)
bundling: ... 13/42 files (30.95%)
bundling: ... 14/42 files (33.33%)
bundling: ... 15/42 files (35.71%)
bundling: ... 16/42 files (38.10%)
bundling: ... 17/42 files (40.48%)
bundling: ... 18/42 files (42.86%)
bundling: ... 19/42 files (45.24%)
bundling: ... 20/42 files (47.62%)
bundling: ... 21/42 files (50.00%)
bundling: ... 22/42 files (52.38%)
bundling: ... 23/42 files (54.76%)
bundling: ... 24/42 files (57.14%)
bundling: ... 25/42 files (59.52%)
bundling: ... 26/42 files (61.90%)
bundling: ... 27/42 files (64.29%)
bundling: ... 28/42 files (66.67%)
bundling: ... 29/42 files (69.05%)
bundling: ... 36/42 files (85.71%)
bundling: ... 38/42 files (90.48%)
bundling: ... 39/42 files (92.86%)
bundling: ... 40/42 files (95.24%)
bundling: ... 41/42 files (97.62%)
bundling: ... 42/42 files (100.00%)

preparing listkeys for "phases"
sending listkeys command
preparing pushkey for "phases:a4e1f6264e078fa0de15e7eea8c1d7e38b1502ed"

sending pushkey command
try to push obsolete markers to remote
checking for updated bookmarks
preparing listkeys for "bookmarks"
sending listkeys command
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 35 changes to 35 files
remote: 1266:17bfa06f7d5a: good openssl signature
remote: 1267:692d06fdbda1: good openssl signature
remote: 1268:a4e1f6264e07: good openssl signature
remote: Notifying Opengrok of changes to kerensandbox
remote: ###################################################################
remote: # This system is for the use of authorized users only.            #
remote: # Individuals using this computer system without authority, or in #
remote: # excess of their authority, are subject to having all of their   #
remote: # activities on this system monitored and recorded by system      #
remote: # personnel.                                                      #
remote: #                                                                 #
remote: # In the course of monitoring individuals improperly using this   #
remote: # system, or in the course of system maintenance, the activities  #
remote: # of authorized users may also be monitored.                      #
remote: #                                                                 #
remote: # Anyone using this system expressly consents to such monitoring  #
remote: # and is advised that if such monitoring reveals possible         #
remote: # evidence of criminal activity, system personnel may provide the #
remote: # evidence of such monitoring to law enforcement officials.       #
remote: ###################################################################
remote: Notifying Fisheye of changes to KERENSANDBOX ssh://hg@hg/kerensandbox
200
remote: Notifying Jenkins of changes to
http://jenkins/jenkins/mercurial/notifyCommit?url=ssh://hg@hg/kerensandbox200
remote: abort: Resource temporarily unavailable

remote: abort: Resource temporarily unavailable
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 133,
in _runcatch
    return _dispatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 806,
in _dispatch
    cmdpats, cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 585,
in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.7/dist-packages/mercurial/extensions.py", line
196, in wrap
    return wrapper(origfn, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/hgext/color.py", line 417, in
colorcmd
    return orig(ui_, opts, cmd, cmdfunc)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 897,
in _runcommand
    return checkargs()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 868,
in checkargs
    return cmdfunc()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 803,
in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 512, in
check
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/extensions.py", line
151, in wrap
    util.checksignature(origfn), *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 512, in
check
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/hgext/mq.py", line 3377, in
mqcommand
    return orig(ui, repo, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 512, in
check
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 4711,
in push
    newbranch=opts.get('new_branch'))
  File "/usr/lib/python2.7/dist-packages/mercurial/localrepo.py", line
1928, in push
    remotephases = remote.listkeys('phases')
  File "/usr/lib/python2.7/dist-packages/mercurial/wireproto.py", line 115,
in plain
    encresref.set(self._submitone(f.func_name, encargsorres))
  File "/usr/lib/python2.7/dist-packages/mercurial/wireproto.py", line 163,
in _submitone
    return self._call(op, **args)
  File "/usr/lib/python2.7/dist-packages/mercurial/sshpeer.py", line 162,
in _call
    return self._recv()
  File "/usr/lib/python2.7/dist-packages/mercurial/sshpeer.py", line 199,
in _recv
    self._abort(error.ResponseError(_("unexpected response:"), l))
  File "/usr/lib/python2.7/dist-packages/mercurial/sshpeer.py", line 118,
in _abort
    raise exception
ResponseError: ('unexpected response:', '')

abort: unexpected response: empty string



-- 
Keren Asulin | Development Support & Integration Engineer | Ocado Technology

*dsi at ocado.com* <dsi at ocado.com> | keren.asulin at ocado.com | www.ocado.com

-- 
Notice:  This email is confidential and may contain copyright material of 
Ocado Limited (the "Company"). Opinions and views expressed in this message 
may not necessarily reflect the opinions and views of the Company.

If you are not the intended recipient, please notify us immediately and 
delete all copies of this message. Please note that it is your 
responsibility to scan this message for viruses.

Company reg. no. 3875000.

Ocado Limited
Titan Court
3 Bishops Square
Hatfield Business Park
Hatfield
Herts
AL10 9NE
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20140424/753e9108/attachment-0002.html>


More information about the Mercurial mailing list