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

Re: svnsync crashes on a huge commit

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Fri, 16 Aug 2013 12:25:57 +0100

Ben Reser <ben_at_reser.org> writes:

> I'm inclined to take a more conservative approach. The following patch
> should fix most of this problem on 1.8.x without pulling the new XML
> parsing implementation onto 1.8.x.
>
> [[[
> Index: subversion/libsvn_ra_serf/replay.c
> ===================================================================
> --- subversion/libsvn_ra_serf/replay.c (revision 1513303)
> +++ subversion/libsvn_ra_serf/replay.c (working copy)
> @@ -147,10 +147,16 @@
> state == OPEN_FILE || state == ADD_FILE)
> {
> replay_info_t *info;
> + apr_pool_t *pool;
>
> - info = apr_palloc(replay_ctx->dst_rev_pool, sizeof(*info));
> + if (state == OPEN_FILE || state == ADD_FILE)
> + pool = replay_ctx->file_pool;
> + else
> + pool = replay_ctx->dst_rev_pool;
>
> - info->pool = replay_ctx->dst_rev_pool;
> + info = apr_palloc(pool, sizeof(*info));
> +
> + info->pool = pool;
> info->parent = parser->state->private;
> info->baton = NULL;
> info->stream = NULL;

I've tested this by running syncs under valgrind, including the first 75
revisions of the chromium repository, and it doesn't trigger any
warnings.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2013-08-16 13:26:33 CEST

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