Hyrum K. Wright wrote:
> In working on the fs-rep-sharing branch, I've stumbled into a problem with bdb
> post-commit deltification. When loading r2555 of the Subversion repository, I
> get what appears to be an infinite loop in read_rep_range() in
> subversion/libsvn_fs_base/reps-strings.c, specifically in the inner loop which
> collects reps needed to perform undeltifiacation. This occurs when processing
> /trunk/subversion/libsvn_wc/log.c.
>
> I'm sending this here so that other interested parties can take a look, and so
> that I don't forget the result of my analysis.
[NOTE: I've not looked into the code yet]
/trunk/subversion/libsvn_wc/log.c wasn't modified in r2555. But a branch
version thereof was in r2554. The history of log.c on the branch at that
point is short-lived -- it was the first modification to the file since the
branchpoint. Here's a map of the ancestry around that time period:
,-------*------ branches/issue-749-dev
/ 2554
-----*------*-------*-----*----*----------- trunk
2416 2452 2470 2523 2524
Now, interestingly, r2524 (on trunk) reverted r2470 and r2452. So the
contents of log.c are the same in r2416 and r2524, and likely share a
representation on your branch:
,-------*------ branches/issue-749-dev
/ 2554
-----*------*-------*-----*----*----------- trunk
2416 2452 2470 2523 2524
^ |
| |
`- - - - - - - - - - - - -'
My guess is that the problem is actually caused by the handling of r2524,
but maybe not seen until r2554 tries to get deltified (or perhaps
re-deltified). But it's just a guess.
--
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2008-09-18 19:28:57 CEST