[Pharo-dev] [Pharo-users] STON materialization corrupts a dictionary if the keys are references

Sven Van Caekenberghe sven at stfx.eu
Tue Apr 5 07:11:07 EDT 2016


> On 05 Apr 2016, at 13:02, Nicolai Hess <nicolaihess at gmail.com> wrote:
> 
> 
> 
> 2016-04-05 12:32 GMT+02:00 Cyril Ferlicot Delbecque <cyril.ferlicot at gmail.com>:
> 
> 
> On 05/04/2016 12:09, Sven Van Caekenberghe wrote:
> 
> > Like I said, it is a hashing issue, sometimes it will be correct by accident.
> >
> > I hope you did not have to much trouble with this bug, I guess it must have been hard to chase.
> >
> > Is it urgent ?
> >
> > I probably can give you a quick fix, but I would like to think a bit more about this, since rehashing each materialised dictionary seems expensive.
> >
> >
> >
> 
> Hi Sven,
> 
> I got the same kind of problem in a personal application.
> 
> I use Sets that I serialize and I had a lot of trouble because sometimes
> some action had strange behaviours.
> 
> For example in a set with element `aSet remove: aSet anyOne` raised 'XXX
> not found in aSet'.
> 
> I am glad to hear that it is a Ston issue and not me that used sets in a
> bad way :)
> 
> For me too it is not urgent since I have a not of university work for
> the moment.
> 
> 
> 
> How are hashed collections created/filled during ston-parsing ?
> If the position in a hashed collection is created by a ston-reference, that is later replaced by the "real" object,
> the index in the dictionary  (or other hashed collections) may be wrong.

Yes, that is indeed it, Nicolai. 

But I would like to try to minimise the rehashing as it seems expensive. But first I need a more reliable failure.

> --
> Cyril Ferlicot
> 
> http://www.synectique.eu
> 
> 165 Avenue Bretagne
> Lille 59000 France




More information about the Pharo-dev mailing list