[Pharo-project] Fuel serialization - feature/bug

Yanni Chiu yanni at rogers.com
Tue Jun 14 02:12:40 EDT 2011


On 13/06/11 6:56 PM, Yanni Chiu wrote:
> On 13/06/11 5:49 PM, Mariano Martinez Peck wrote:
>>
>> mmmmmm so you are using a stream to serialize and such stream is also
>> being refenced from the object to serialize?
>
> Yes, that's it - except that the stream is an FSWriteStream on a
> FSMemoryStore "file", which I think is an issue here. The PRKernel is
> holding an instance of PRFuelPersistency, which holds an FSReference.
> That FSReference happens to refer to a memory-based "file".

The code is at http://ss3.gemstone.com/ss/pierfuel.html

You'll first need a Pier image, with the following loaded:

(ConfigurationOfFilesystem project version:  '2.0.1-baseline') load

(ConfigurationOfFuel project version:  '1.4') load
   OR
(ConfigurationOfFuel project version:  '1.5-baseline') load

If you run PRFuelPersistencyTest, then you'll see the stack trace. I saw 
the same problem with 1.4 and with 1.5-baseline.

In the 1.5-baseline, I added #fuelIgnoredInstanceVariableNames to 
PRFuelPersistency and FSMemoryStore (to ignore 'directory' and 'root', 
respectively) but the same problem remained. So I think it's a bug.

Despite the test failing, the PRFuelPersistency works as expected to 
save/restore a Pier kernel to/from a file. The file is 30 times smaller 
than the corresponding (uncompressed) SIXX file.





More information about the Pharo-dev mailing list