Freeze in THashTable<T>.FindWithoutComparer (while using TDictionary)
Issue #368
resolved
Current develop version of TDictionary will freeze after some mixture of Add/Delete. It is probably since a974af9a66a7486685d71e064d50a733348c76f9 (refactored hashtable)
Delphi 10.4. (updated), 32bit and 64 bit.
MCVE is bit crazy, but it is just cut from bigger code, and it should not freeze anyway.
Comments (4)
-
repo owner -
repo owner - changed status to resolved
fixed
#368→ <<cset 1be70fac96e1>>
-
reporter Thanks for really quick fix, first tests were successful.
-
repo owner fixed
#368→ <<cset 76d561e4d884>>
- Log in to comment
Can repro and found the defect code - items reusing a bucket of a previously removed item are not handled properly which causes the hashtable to fill up to 100% causing an endless lookup loop.