I'm baffled. I tried to materialize data in Pharo 4.0 that was serialized in 3.0, and got the dreaded "FLBadVersion: Materialization error. Unexpected stream version 193 where it should be 194". But here's the part I don't understand... I went back into the 3.0 image, upgraded Fuel to 1.9.4, and re-serialized the data. But when materializing I got the same error! What am I missing here? Thanks. ----- Cheers, Sean -- View this message in context: http://forum.world.st/Upgrading-Fuel-Data-tp4809243.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Sean P. DeNigris wrote
I'm baffled
Here's something interesting... After loading Fuel 1.9.4 via the Configurations Browser, FLSerializer>>#currentVersion reports 193. I tried loading the latest Fuel package via MC into Pharo 3.0, but it relies on, Context, which doesn't exist. Ugh. Migrating data should not be this hard. I know I will soon get my data back, but I'm only so confident because of my experience with Smalltalk and our great community. To a newer user, this could be a confidence-shaking deal breaker. ----- Cheers, Sean -- View this message in context: http://forum.world.st/Upgrading-Fuel-Data-tp4809243p4809254.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Sean P. DeNigris wrote
To a newer user, this could be a confidence-shaking deal breaker.
Workaround: 1. Revert Fuel package to v. 798 i.e. just before version bump 2. Materialize data 3. Reload original Fuel package (currently v. 804) Suggestions: 1. unless/until we have a Fuel migration tool, at minimum, any Fuel version integrated into latest Pharo must be loadable in the previous Pharo version. E.g. if Fuel 1.9.4 was loadable in Pharo 3.0, migration would be a bit awkward, but doable. 2. Maybe more guidance in the default error behavior would help e.g. put up text suggesting to either a) temporarily downgrade Fuel to whatever version on first materialization, or b) re-serialize in the image where the data was serialized after upgrading Fuel ----- Cheers, Sean -- View this message in context: http://forum.world.st/Upgrading-Fuel-Data-tp4809243p4809265.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
On 03 Mar 2015, at 18:03, Sean P. DeNigris <sean@clipperadams.com> wrote:
Sean P. DeNigris wrote
To a newer user, this could be a confidence-shaking deal breaker.
Workaround: 1. Revert Fuel package to v. 798 i.e. just before version bump 2. Materialize data 3. Reload original Fuel package (currently v. 804)
Glad that worked.
Suggestions: 1. unless/until we have a Fuel migration tool, at minimum, any Fuel version integrated into latest Pharo must be loadable in the previous Pharo version. E.g. if Fuel 1.9.4 was loadable in Pharo 3.0, migration would be a bit awkward, but doable.
Thatâs a good idea. Iâll make a fix and add a job to the Fuel build to check for that. Just note that âloadableâ doesnât necessarily mean âusableâ in every sense. Example: the Context class does not exist in Pharo3. Luckily we do have a migration mechanism which allows us to specify which class to use instead of MethodContext during materialization. But: there are some migrations we canât perform with Fuel (though theyâre probably not relevent to most users). What I want to say is that itâs the users responsibility to make sure that a graph is consistent (whatever the user defines as consistent) after materialization in such a situation. At least for now. Maybe weâll get to a better place in the future.
2. Maybe more guidance in the default error behavior would help e.g. put up text suggesting to either a) temporarily downgrade Fuel to whatever version on first materialization, or b) re-serialize in the image where the data was serialized after upgrading Fuel
We are aware that this is an open issue [1]. Many people have struggled with this (including myself). Unfortunately, none of the devs (Martin, Mariano and me) have any time to work on time consuming Fuel issues. If you (or anybody else) want to help with this though, Iâd be happy to help where I can. Cheers, Max [1] https://code.google.com/p/fuel/issues/detail?id=207&q=version&colspec=ID%20T... <https://code.google.com/p/fuel/issues/detail?id=207&q=version&colspec=ID%20T...>
----- Cheers, Sean -- View this message in context: http://forum.world.st/Upgrading-Fuel-Data-tp4809243p4809265.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Hi Sean. Iâve added the necessary changes to Fuel so that 1.9.4 now cleanly loads (with all tests green) in Pharo 3 and Squeak 4.5. The build matrix on the CI has been updated to account for versions 1.9.3 and 1.9.4 (across all image versions) and the development build now again only builds for Pharo 4. So you can now safely do Gofer it url: 'http://smalltalkhub.com/mc/Pharo/Fuel/main'; package: 'ConfigurationOfFuel'; load. ((Smalltalk at: #ConfigurationOfFuel) project version: â1.9.4') load. in any image version prior to the latest, and in the latest of course (so in 30, 40, Squeak4.5, Squeak4.6). I hope this makes image migrations a bit easier. Please let us know if you have more suggestions (as I already said, the version problem is on our list). Cheers, Max
Begin forwarded message:
Date: 3 Mar 2015 18:03:08 CET From: "Sean P. DeNigris" <sean@clipperadams.com> To: pharo-dev@lists.pharo.org Subject: Re: [Pharo-dev] Upgrading Fuel Data Reply-To: Pharo Development List <pharo-dev@lists.pharo.org>
Sean P. DeNigris wrote
To a newer user, this could be a confidence-shaking deal breaker.
Workaround: 1. Revert Fuel package to v. 798 i.e. just before version bump 2. Materialize data 3. Reload original Fuel package (currently v. 804)
Suggestions: 1. unless/until we have a Fuel migration tool, at minimum, any Fuel version integrated into latest Pharo must be loadable in the previous Pharo version. E.g. if Fuel 1.9.4 was loadable in Pharo 3.0, migration would be a bit awkward, but doable. 2. Maybe more guidance in the default error behavior would help e.g. put up text suggesting to either a) temporarily downgrade Fuel to whatever version on first materialization, or b) re-serialize in the image where the data was serialized after upgrading Fuel
----- Cheers, Sean -- View this message in context: http://forum.world.st/Upgrading-Fuel-Data-tp4809243p4809265.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
thanks max. Fuel is cool and your effort is valuable to all of us. Stef Le 21/3/15 19:52, Max Leske a écrit :
Hi Sean.
Iâve added the necessary changes to Fuel so that 1.9.4 now cleanly loads (with all tests green) in Pharo 3 and Squeak 4.5. The build matrix on the CI has been updated to account for versions 1.9.3 and 1.9.4 (across all image versions) and the development build now again only builds for Pharo 4.
So you can now safely do
Gofer it url: 'http://smalltalkhub.com/mc/Pharo/Fuel/main' <http://smalltalkhub.com/mc/Pharo/Fuel/main%27>; package: 'ConfigurationOfFuel'; load. ((Smalltalk at: #ConfigurationOfFuel) project version: â1.9.4') load.
in any image version prior to the latest, and in the latest of course (so in 30, 40, Squeak4.5, Squeak4.6).
I hope this makes image migrations a bit easier. Please let us know if you have more suggestions (as I already said, the version problem is on our list).
Cheers, Max
Begin forwarded message:
*Date: *3 Mar 2015 18:03:08 CET *From: *"Sean P. DeNigris" <sean@clipperadams.com <mailto:sean@clipperadams.com>> *To: *pharo-dev@lists.pharo.org <mailto:pharo-dev@lists.pharo.org> *Subject: **Re: [Pharo-dev] Upgrading Fuel Data* *Reply-To: *Pharo Development List <pharo-dev@lists.pharo.org <mailto:pharo-dev@lists.pharo.org>>
Sean P. DeNigris wrote
To a newer user, this could be a confidence-shaking deal breaker.
Workaround: 1. Revert Fuel package to v. 798 i.e. just before version bump 2. Materialize data 3. Reload original Fuel package (currently v. 804)
Suggestions: 1. unless/until we have a Fuel migration tool, at minimum, any Fuel version integrated into latest Pharo must be loadable in the previous Pharo version. E.g. if Fuel 1.9.4 was loadable in Pharo 3.0, migration would be a bit awkward, but doable. 2. Maybe more guidance in the default error behavior would help e.g. put up text suggesting to either a) temporarily downgrade Fuel to whatever version on first materialization, or b) re-serialize in the image where the data was serialized after upgrading Fuel
----- Cheers, Sean -- View this message in context: http://forum.world.st/Upgrading-Fuel-Data-tp4809243p4809265.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com <http://Nabble.com>.
I hope this makes image migrations a bit easier Thanks! Iâm sure it will :)
----- Cheers, Sean -- View this message in context: http://forum.world.st/Upgrading-Fuel-Data-tp4809243p4814076.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
On 03 Mar 2015, at 17:34, Sean P. DeNigris <sean@clipperadams.com> wrote:
I'm baffled. I tried to materialize data in Pharo 4.0 that was serialized in 3.0, and got the dreaded "FLBadVersion: Materialization error. Unexpected stream version 193 where it should be 194".
But here's the part I don't understand... I went back into the 3.0 image, upgraded Fuel to 1.9.4, and re-serialized the data. But when materializing I got the same error! What am I missing here?
Thanks.
Iâll check when I get home. 1.9.4 -> 1.9.4 should *definitely* work.
----- Cheers, Sean -- View this message in context: http://forum.world.st/Upgrading-Fuel-Data-tp4809243.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Max Leske wrote
Iâll check when I get home. 1.9.4 -> 1.9.4 should *definitely* work.
There may be something wrong with the configuration. 1.9.4 loads Fuel.795, but the version was bumped in 799. ----- Cheers, Sean -- View this message in context: http://forum.world.st/Upgrading-Fuel-Data-tp4809243p4809256.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
participants (3)
-
Max Leske -
Sean P. DeNigris -
stepharo