> -----Original Message-----
> From: Lieven Govaerts [mailto:email@example.com]
> Sent: Sunday, June 24, 2007 1:58 PM
> To: Mark Phippard
> Cc: firstname.lastname@example.org; email@example.com
> Subject: Re: svn commit: r25510 - trunk/subversion/tests/cmdline
> Mark Phippard wrote:
> > On 6/24/07, Lieven Govaerts <firstname.lastname@example.org> wrote:
> >> this change is failing on the Mac and Windows buildslaves. More
> >> specifically, log_tests 17 and 19 are failing.
> >> I checked the output of "log -g log_tests-17\trunk" on my
> Windows box
> >> - where the tests pass - and my mac, the output is clearly
> > Lieven, this test was added for precisely this reason. It
> fails for
> > me on all my Windows and OSX boxes, but it does not fail
> for Hyrum or
> > Dan. So we put in the test (actually fixed the test) to reveal who
> > has the problem and widen the net of people that might be
> able to fix
> > it.
> > Paul Burba gets the problem on his Windows box and was going to see
> > what he could find.
> I did some more tests on Windows. log_tests 17 & 19 pass on a
> Debug build, but fail on a Release build. Maybe this helps.
Thanks Lieven, that actually helped a lot!
Of course the problem not occuring in the debug build made things a bit
tricky to debug :-(
Anyway, I'm embarassed to say I looked at this a long time last night
and couldn't see what was wrong. I looked at it 30 minutes this morning
and it was clear as day (The moral of the story: Sleep is good):
Log.c:do_merged_log() - Local variable "svn_boolean_t changed" is not
initialized before being passed by reference to check_history(). Great,
except that check_history doesn't always modify that arg:
/* Set INFO->HIST to the next history for the path *if* there is history
* available and INFO->HISTORY_REV is equal to or greater than CURRENT.
* *CHANGED is set to TRUE if the path has history in the CURRENT
>>>> * otherwise it is not touched. <<<<
* If we do need to get the next history revision for the path, call
* get_history to do it -- see it for details.
So do_merged_log() kept calling build_log_tree() for revs < 11 even
though though they were not changed.
I assume the debug build must initialize the variable whereas the
release build doesn't.
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Mon Jun 25 15:26:40 2007