[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Update (etc.) hangs with Serf

From: Lieven Govaerts <svnlgo_at_mobsol.be>
Date: Tue, 22 Sep 2009 08:20:16 +0200

On Tue, Sep 22, 2009 at 1:32 AM, Julian Foad <julianfoad_at_btopenworld.com> wrote:
> On Tue, 2009-09-22 at 00:27 +0100, Julian Foad wrote:
>> On Sun, 2009-09-20 at 22:04 +0200, Lieven Govaerts wrote:
>> > On Thu, Sep 17, 2009 at 11:58 PM, Lieven Govaerts <svnlgo_at_mobsol.be> wrote:
>> > > This particular script doesn't trigger a hang on my machine, but I get
>> > > a reproducible hang in svnsync with serf 0.3 now which I've reported a
>> > > while ago as issue 3424. Big chance that it's the same issue as you
>> > > (and others) are seeing.
>> >
>> > I've fixed the issue I've been seeing, but it's related to opening a
>> > child process. So, unless you're using an external diff program, this
>> > fix can't solve your problem.
>> >
>> > Next time it hangs, could you see with wireshark (or another tcp dump
>> > program) if you get ZeroWindow packets? The issue I solved caused serf
>> > to hang in apr_pollset_poll, with no sockets to listen on. Maybe it
>> > can be triggered in other ways.
>>
>> When mine hangs, my svn was sending TCP ZeroWindow packets to
>> svn.collab.net every second or two for the last 15 seconds before the
>> hang. From when it hangs, there are no further packets of any kind
>> either sent or received between my machine and svn.collab.net. I waited
>> for at least a minute before stopping the capture. I can send you the
>> trace if it helps.

No that's okay, it's the same symptom as I fixed last weekend,
question is if it's the same rootcause.

I've read on IRC that you're using an external diff3 program. Can you
try with serf @ http://serf.googlecode.com/svn/branches/0.3.x to see
if that fixes your problem?

If this branch doesn't fix it, can you help me debugging a bit? I'd
like to know why it hangs in apr_pollset_poll. One reason I already
know is that serf_connection's are getting closed while the associated
sockets are still connected. Attached patch will print a backtrace
each time the connection is cleaned (only works on *nix with gcc
compilers). Can you use it and send me any backtraces you get?

[snipped]

thanks,

Lieven

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2397660

Received on 2009-09-22 08:21:00 CEST

This is an archived mail posted to the Subversion Dev mailing list.