[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: Julian Foad <julianfoad_at_btopenworld.com>
Date: Tue, 22 Sep 2009 00:32:04 +0100

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.

Here's the GDB stack trace. (I can send you the Ethernet trace on

#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7804576 in epoll_wait () from /lib/libc.so.6
#2 0xb7a94ec1 in apr_pollset_poll () from /usr/lib/libapr-1.so.0
#3 0xb7d366f9 in serf_context_run ()
   from /home/julianfoad/lib/libserf-0.so.0
#4 0xb7d623f0 in finish_report (report_baton=0x971b0a8,
    at /home/julianfoad/src/subversion-trunk2/subversion/libsvn_ra_serf/update.c:2230
#5 0xb7f8ce1f in drive_merge_report_editor (
    target_wcpath=0x80ab528 "wc",
    url1=0x81fdf70 "https://svn.collab.net/repos/svn/trunk",
    url2=0x81fdfb0 "https://svn.collab.net/repos/svn/trunk",
    revision2=38960, children_with_mergeinfo=0x81c7ef8,
    depth=svn_depth_infinity, notify_b=0xbfcb49e0,
    adm_access=0x81f6678, callbacks=0xb7fb9040, merge_b=0xbfcb4a14,
    at /home/julianfoad/src/subversion-trunk2/subversion/libsvn_client/merge.c:4685
#6 0xb7f93423 in do_directory_merge (
    url1=0x81fdf70 "https://svn.collab.net/repos/svn/trunk",
    url2=0x81fdfb0 "https://svn.collab.net/repos/svn/trunk",
    revision2=38960, target_entry=0x81fcaf0, adm_access=0x81f6678,
    depth=svn_depth_infinity, notify_b=0xbfcb49e0, merge_b=0xbfcb4a14,
    at /home/julianfoad/src/subversion-trunk2/subversion/libsvn_client/merge.c:7589
#7 0xb7f93f3a in do_merge (merge_sources=0x81fd870,
    target=0x80ab528 "wc", target_entry=0x81fcaf0,
    adm_access=0x81f6678, sources_ancestral=1, sources_related=1,
    same_repos=1, ignore_ancestry=0, force=0, dry_run=0,
    record_only=0, reintegrate_merge=0, depth=svn_depth_infinity,
    merge_options=0x0, use_sleep=0xbfcb4b2c, ctx=0x808b728,
    at /home/julianfoad/src/subversion-trunk2/subversion/libsvn_client/merge.c:7913
#8 0xb7f983ce in svn_client_merge_peg3 (
    source=0x81f6408 "https://svn.collab.net/repos/svn/trunk",
    ranges_to_merge=0x81f64b0, peg_revision=0xbfcb4c14,
    target_wcpath=0x80ab528 "wc", depth=svn_depth_unknown,
    ignore_ancestry=0, force=0, record_only=0, dry_run=0,
    merge_options=0x0, ctx=0x808b728, pool=0x808abf8)
    at /home/julianfoad/src/subversion-trunk2/subversion/libsvn_client/merge.c:9274
#9 0x0805c29c in svn_cl__merge (os=0x808ad98, baton=0xbfcb4da8,
    at /home/julianfoad/src/subversion-trunk2/subversion/svn/merge-cmd.c:313
#10 0x0805b703 in main (argc=5, argv=0xbfcb4fd4)
    at /home/julianfoad/src/subversion-trunk2/subversion/svn/main.c:2130

- Julian

Received on 2009-09-22 01:31:33 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.