[Cuis-dev] Thoughts about symbols
Andres Valloud
ten at smallinteger.com
Sun Dec 1 07:55:14 PST 2024
You know, I was going to say that rehash is not atomic and this is a
problem... why was the mutex removed from the original SymbolSet
implementation I sent you? Without that mutex, the entire premise of a
symbol table is broken.
On 12/1/24 6:38 AM, Juan Vuletich via Cuis-dev wrote:
> On 12/1/2024 5:14 AM, Andres Valloud via Cuis-dev wrote:
>> By the way, SymbolSet>>rehash is broken because it's not aware of
>> UnicodeSymbol. Look at this lovely failure.
>>
>> | haha |
>> haha := 'abc¢' asUnicodeString asSymbol.
>> Symbol rehash.
>> Symbol findInterned: haha :: == haha
>>
>> That's very bad, this is leaking symbols and will lead to problems
>> that are very hard to debug. Images where this problem manifests are
>> effectively trashed and need to be rebuilt from scratch --- and this
>> is why I would not want to have to deal with this.
>>
>> IIRC, when I originally wrote the new symbol table code, UnicodeSymbol
>> did not exist. I find it really hard to believe that I would ignore
>> the presence of UnicodeSymbol. So, I suspect this issue appeared
>> during integration, and if so this is yet another consequence of
>> duplication.
>>
>> Andres.
>
> Thanks for the fix. It is now at GitHub.
>
More information about the Cuis-dev
mailing list