On 13 Mar 2015, at 08:39, Max Leske <maxleske@gmail.com> wrote:


On 13 Mar 2015, at 07:37, Max Leske <maxleske@gmail.com> wrote:


On 13 Mar 2015, at 02:24, Sean P. DeNigris <sean@clipperadams.com> wrote:

Sean P. DeNigris wrote
the file-in target had the slots in the same order as the inst var
indexes.

One more observation: if I serialize in the second image (the one that
originally materialized), and materialize in a fresh image, the object is
faithfully created i.e. the same as the serialized object.



Hi Sean

This definitely sounds like a problem related to slots. Fuel materializes instance variables by name and not by index, so what you describe shouldn���t be possible. I���ll see what I can find.

Well, that was actually wrong. Fuel does use indeces, not names during materialization.

And again I have to correct myself: I was right the first time around, Fuel *does* use indices but *after* determining those indices from the variable names (so the serialized object only holds the variable names, not their indices).

In addition, all operations concerning instance variables are done through #instanceVariables. We never use #instVarNames or others, so I really can���t see how this could have happened.



Cheers,
Max

I wasn���t able to reproduce your problem. I see the problem when I materialize your file but when I try to recreate the situation everything works. Have you tried the same with two fresh images (of the same version respectively)?

I even tried switching around instance variables to see if I could see a difference in ordering when using #instanceVariables et al but no luck. It really looks like you serialized an instance of a class with switched instance variables.

What I don���t understand, is how you got to the situation where ���self slots��� didn���t have the same ordering as ���self instanceVariables���.




-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/BUG-Strange-Fuel-Result-tp4811628p4811631.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.