Freeze in THashTable<T>.FindWithoutComparer (while using TDictionary)

Issue #368 resolved
DiGi created an issue

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)

  1. Stefan Glienke repo owner

    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.

  2. Log in to comment