[squeak-dev] New LRUCache causing core dump

Levente Uzonyi leves at elte.hu
Mon Feb 3 13:53:18 UTC 2014


On Sun, 2 Feb 2014, Chris Muller wrote:

>> Clearly, we cannot release with a broke PointerFinder.  So, what's the
>> best fix folks?  My first reaction is a guard in Array>>#isLiteral?
>>
>>      isLiteral
>>           ^ self class == Array and: [ (self includes: self) not and:
>> [ self allSatisfy: [ : each | each isLiteral ] ] ]
>
> And, actually, the above doesn't work because LRUCache has the
> original Array two levels below...
>

It would also fail for the following case

a := Array new: 1.
b := Array with: a.
a at: 1 put: b.
a isLiteral

I uploaded a solution to the Inbox.


Levente


More information about the Squeak-dev mailing list