HgWeb.cgi Hanging During Push
Matt Mackall
mpm at selenic.com
Fri Apr 27 20:22:36 UTC 2012
On Fri, 2012-04-27 at 16:04 -0400, Jensen, Aaron wrote:
> > Hmm, the numbers in your code and in your trace don't agree (there are no '1xx' steps). But it seems that everything is working on the server side
> >with the possible exception of connection teardown.
>
> Woops. That's because I copy/pasted the wrong code. The 100s were from the lock class, but I copied the wireproto class.
>
>
> > It's probably time to instrument the client (around wireproto.py:292) and/or try to attack it with Wireshark.
>
> > FYI, I've got about 90% confidence that it's something peculiar to your setup aside from your hook, as we've got lots of IIS users with hooks out there > and enough devs to run into this problem if it were generic.
>
> This problem started when we upgraded our server to 2.1.1 a couple months ago. We also asked developers to upgrade, but I don't how many have. We run as standard as we can, on both the server and the client. What kind of setup issues would cause something like this? I've got no local hooks running.
>
>
> > We'll probably have to go the Wireshark route (downloading now), unless there are instructrions for getting Mercurial running from source on
> > Windows.
http://mercurial.selenic.com/wiki/HackableMercurial makes it easy.
> I've run a Wireshark capture. I'll send it directly to you and not the mailing list. Hopefully, you can make sense of it faster than me...
>
>
> > ..unless of course, you're using an in-process Python hook, in which case that's probably to blame.
>
> We used to have an in-process hook, but it was moved to PowerShell right around the time this problem started happening. But that hook isn't running as part of this.
Trick is to click on an HTTP packet and do "follow TCP stream". Which
shows the server sending back the following..
Content-Type: application/mercurial-0.1
Server: Microsoft-IIS/7.0
9980: at step 1
9980: at step 2
9980: at step 4
9980: at step 5
9980: at step 6
9980: at step 7
9980: at step 101
9980: at step 103
9980: at step 104
9980: at step 105
9980: at step 106
9980: at step 108
9980: at step 109
9980: at step 8
9980: at step 9
9980: at step 10
9980: at step 11
9980: at step 101
9980: at step 109
Ok, that looks familiar.. and shouldn't be there.
Date: Fri, 27 Apr 2012 19:57:41 GMT
Connection: close
Content-Length: 102
1
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
..and that seems to be shell output getting intermingled into the
protocol stream. I'm pretty sure that's not supposed to be there either.
Do you have ui.verbose enabled on the server?
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list