On Fri, Aug 7, 2015 at 2:57 PM, Stefan Fuhrmann <
stefan.fuhrmann_at_wandisco.com> wrote:
> On Thu, Aug 6, 2015 at 3:59 PM, Ivan Zhakov <ivan_at_visualsvn.com> wrote:
>
>> On 6 August 2015 at 15:54, <stefan2_at_apache.org> wrote:
>> > Author: stefan2
>> > Date: Thu Aug 6 12:54:36 2015
>> > New Revision: 1694489
>> >
>> > URL: http://svn.apache.org/r1694489
>> > Log:
>> > Merge the 1.10-cache-improvements development branch to trunk and remove
>> > the BRANCH-README file. There were no conflicts.
>> >
>> > Changes brought by this branch:
>> > - Introduce a NULL cache implementation to unify / simplify cache usage
>> > - Space and runtime efficiency improvements to the recently introduced
>> > full key comparison in membuffer caches.
>
>
> Also after this change fs-test.exe fails with assertion in Windows
>> 32-bit Debug build:
>> [[
>> START: fs-test.exe
>> Assertion failed: !group || !group->header.used, file
>> ..\..\..\subversion\libsvn_subr\cache-membuffer.c, line 1031
>> ]]
>>
>
> This one is odd because the merge did not touch anything
> obviously linked to spare bucket handling. Could be a long-
> standing issue.
>
> I failed to reproduce it with a 32 bit debug build on Win64.
> Does it fail for you in serial execution mode? Is it deterministic
> in that case? Does the attached patch prevent it?
>
Tweaking the code a bit I was finally able to reproduce the problem.
It has been introduced in 1.9 and is fixed by r1695022.
The merge above only triggered it by enlarging the cache index
structure, in turn reducing the capacity of individual entry groups -
making them more likely to overflow and trigger the allocation of
spare groups.
-- Stefan^2.
Received on 2015-08-11 16:28:28 CEST