Default Timeout for Push Operation

Matt Hawley Matt.Hawley at microsoft.com
Tue Feb 23 12:48:24 CST 2010


I'm currently working on a Linux VPC image to try this out. Here's the traceback

[13] > hg push ssl --debug --traceback
using https://codeplex-pair5:4431/Repo3
http auth: user cppair, password ********
sending between command
pushing to https://cppair:***@codeplex-pair5:4431/Repo3
sending capabilities command
capabilities: unbundle=HG10GZ,HG10BZ,HG10UN branchmap lookup changegroupsubset
sending heads command
searching for changes
common changesets up to 000000000000
1 changesets found
list of changesets:
ab711e4041675624dadecfdb8b8862d8f8a66d60
sending unbundle command
sending 138181097 bytes
Traceback (most recent call last):
  File "mercurial\dispatch.pyo", line 46, in _runcatch
  File "mercurial\dispatch.pyo", line 454, in _dispatch
  File "mercurial\dispatch.pyo", line 324, in runcommand
  File "mercurial\dispatch.pyo", line 505, in _runcommand
  File "mercurial\dispatch.pyo", line 459, in checkargs
  File "mercurial\dispatch.pyo", line 453, in <lambda>
  File "mercurial\util.pyo", line 386, in check
  File "mercurial\commands.pyo", line 2356, in push
  File "mercurial\localrepo.pyo", line 1452, in push
  File "mercurial\localrepo.pyo", line 1590, in push_unbundle
  File "mercurial\httprepo.pyo", line 228, in unbundle
  File "mercurial\httprepo.pyo", line 128, in do_read
  File "mercurial\httprepo.pyo", line 80, in do_cmd
  File "urllib2.pyo", line 381, in open
  File "urllib2.pyo", line 399, in _open
  File "urllib2.pyo", line 360, in _call_chain
  File "mercurial\url.pyo", line 456, in https_open
  File "mercurial\keepalive.pyo", line 252, in do_open
URLError: <urlopen error (10054, 'Connection reset by peer')>
abort: error: Connection reset by peer

-----Original Message-----
From: Benoit Boissinot [mailto:benoit.boissinot at ens-lyon.org] 
Sent: Tuesday, February 23, 2010 10:27 AM
To: Matt Hawley
Cc: Patrick Downey; mercurial at selenic.com
Subject: Re: Default Timeout for Push Operation

On Tue, Feb 23, 2010 at 06:15:46PM +0000, Matt Hawley wrote:
> Hi Benoit,
> 
> Out of curiosity, I tried pushing without SSL, and things worked. I 
> re-tried under SSL and the same behavior occurred. Unfortunately, this 
> isn't a solution, as we need to have SSL enabled.

Ok. I would be really nice if you could see if it's an issue under linux, see if it's a problem with python's ssl support on windows or if it's more general.
> 
> Regarding wireshark - I've never used it and got a little overwhelmed 
> by what I need to do. Any guidance? Also, I've never ran with 
> --debugger, so if you could point me to some info on that, it would be 
> helpful.

For wireshark, I'm sorry I've never used it under windows. But the idea is to select a network interface, add a filter to restrict to some ports (you probably don't want to record all the traffic, only the traffic from hg to the server), that should be "port https" in the filtering box.


For --debugger, type 'continue' in the pdb shell (the debugging shell), then when you think it's stuck, kill the process (that's ctrl-c under unix, there should be something similar for windows).

You should be dropped into the pdb shell instead of just exiting, then type 'bt' to get a backtrace.

(thinking about it, if you just want a backtrace, just launch hg with --traceback, when it's killed it will print the full trackeback)

Another tool that could be useful if you find the windows equivalent is strace, this allows you to list the syscall() and return code of
syscall() made by the applications. With that you could see if it is waiting on a socket or something.


I hope this helps.

regards,

Benoit


--
:wq



More information about the Mercurial mailing list