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

Re: Recursion of copy_source_ops() causes stack overflow in Apache

From: Malcolm Rowe <malcolm-svn-dev_at_farside.org.uk>
Date: 2007-01-26 12:23:15 CET

On Fri, Jan 26, 2007 at 03:01:46AM -0800, Robin Boerdijk wrote:
> Someone on the #svn-dev IRC channel thought that the deep recursive
> behaviour of copy_source_ops() was perhaps exceptional but not a bug.
> But what I'm afraid of is that copy_source_ops() does not have a
> theoretically maximum recursion depth.
>

From what I understand, delta combining is an O(N^2) operation by
definition, and so it's certainly possible that some of that is reflected
in the recursion depth of copy_source_ops(). But if that was the case,
I would have expected that we'd have noticed it somewhere else as well -
either from user reports or possibly in one of the larger repositories
like gcc's.

The code essentially hasn't changed since 1.0, so offhand I'd say it's
probably more likely that we've uncovered a data-dependent bug in the
combiner (or something odd in your repository/wc) than that we've hit a
limit in the combiner.

[Oh, there definitely should be a hard maximum recursion depth for
copy_source_ops(), though I don't know what it is, and it might be quite
large. The operation definitely isn't unbounded.]

Regards,
Malcolm

  • application/pgp-signature attachment: stored
Received on Fri Jan 26 12:23:30 2007

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