Dec. 31, 2009
5:32 p.m.
Henrik Sperre Johansen wrote:
The MapCache is not registered for finalization, IIRC. The new WeakKeyDictionary does not work reliably without being registered. See also http://code.google.com/p/pharo/issues/detail?id=1628. I remember wanting to retract some parts of comment #2 after further investigation, but I no longer remember which :) Should give some pointers though.
I *think* it's OK for MapCache to not be registered, because before each potential add or remove, DebuggerMethodMap sends #finalizeValues to it. And I also had some doubts about the code described in issue 1628, but I don't see how it could have caused this particular corruption, where the array is all nils yet tally is > 0. Regards, -Martin