[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