https://bugs.kde.org/show_bug.cgi?id=272408

Milian Wolff <m...@milianw.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|http://commits.kde.org/kdev |https://invent.kde.org/kdev
                   |platform/b09d35d9e7f8ef061a |elop/kdevelop/commit/1a1e5b
                   |96f4a11834153e48c8dc03      |15e2097fb4e491ab7d67d8aae42
                   |                            |008d298
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED
   Version Fixed In|                            |5.11.230400

--- Comment #14 from Milian Wolff <m...@milianw.de> ---
Git commit 1a1e5b15e2097fb4e491ab7d67d8aae42008d298 by Milian Wolff.
Committed on 03/03/2023 at 08:35.
Pushed by mwolff into branch 'master'.

Keep m_nextBucketHash alive across convertMonsterBucket changes

When a bucket is part of a hash clash it may have entries in the
m_nextBucketHash. When we then later convert the bucket from/to
a monster bucket, we need to keep that data alive, otherwise we
run into the infamous `bucketForIndex(bucketNumber)->noNextBuckets()`
assertion.

The expanded unit test easily triggers this behavior which was
previously not covered: we now also test situations with two
monster buckets, and three items instead of just two. Furthermore,
we test all possible permutations, which runs quickly and previously
always triggered the assertion.

This patch here fixes that situation, by keeping the m_nextBucketHash
data alive across the convertMonsterBucket changes.

FIXED-IN: 5.11.230400

M  +37   -5    kdevplatform/serialization/itemrepository.h
M  +72   -24   kdevplatform/serialization/tests/test_itemrepository.cpp

https://invent.kde.org/kdevelop/kdevelop/commit/1a1e5b15e2097fb4e491ab7d67d8aae42008d298

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to