|Anonymous | Login||08-12-2020 21:45 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Advanced Details [ Jump to Notes ]||[ View Simple ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0003386||[Squeak] Etoys||major||always||03-29-06 05:05||04-25-06 14:44|
|ETA||none||Fixed in Version||Product Version||3.9|
|Summary||0003386: 3.9 can't load legacy etoys project|
3.9 can't load etoys projects saved from <3.8 (i.e. squeakland),
though can load projects saved from 3.9.
squeakdebug.log is attached.
|Steps To Reproduce|
In #category: of "a subclass of Player" (being loaded) ,
"oldCategory" is not string but IdentityDictionary returned from #basicCategory, and that is passed to #class:recategorizedFrom:to:, then results the error.
SqueakDebug.log [^] (4,576 bytes) 03-29-06 05:05
categoryFixForEtoys.cs [^] (698 bytes) 04-03-06 21:37
SqueakDebug2.log [^] (4,468 bytes) 04-25-06 11:16
(0004669 - 540 - 546 - 546 - 546 - 546 - 546)
Apparently, the behaviors that come into the image have in their ivar #category an object other than nil. This ivar is now used to cache the category of a class or trait, hence causing some trouble with the unexpected value.
A trivial fix is to simply check whether we have a symbol or not. The attached cs does this change. However, its a hack and the values stored in the ivar just get lost. Can somebody with etoys knowlede check why they are there whether they are still in use? Because if this was the case, we would have a problem...
(0004671 - 8 - 8 - 8 - 8 - 8 - 8)
(0004746 - 285 - 319 - 319 - 319 - 319 - 319)
Even with categoryFixForEToys.cs (was not integrated to 7022), loading legacy project causes (other) error (sometimes emergency evaluator shows up):
ByteSymbol(Object)>>doesNotUnderstand: #setSubject: .
that is called from "a subclass of Player class(ClassDescription)>>organization"
(0004799 - 171 - 177 - 177 - 177 - 177 - 177)
Reminder sent to: al, MarcusDenker
I uploaded squeakdebug2.log, that is results of loading a legacy project by 7024-with-categoryFixForEtoys.cs.
(note that the cs hasn't been integareted yet, even in 7024)
(0004806 - 702 - 730 - 730 - 730 - 730 - 730)
I looked at the SqueakDebug2.log and this seems to be a different issue. The problem is that we have new instvars in Behavior, hence "organization" has shifted by 2. The EToys project loading does not seem to take format changes of classes into account.
Since the ivar shift is an issue for the VM as well, we are going to change this in the near future. This will probably go into one of the next releases. So I suggest to test this again later.
Once again, I really suggest that the responsible person of EToys for 3.9 (who is this?) has a look as I don't know EToys at _all_. The previous submitted fix categoryFixForEtoys.cs should only go into 3.9 if he thinks that is an appropriate solution!
|03-29-06 05:05||korakurider||New Issue|
|03-29-06 05:05||korakurider||File Added: SqueakDebug.log|
|04-03-06 21:36||al||Note Added: 0004669|
|04-03-06 21:37||al||File Added: categoryFixForEtoys.cs|
|04-04-06 09:34||MarcusDenker||Status||new => resolved|
|04-04-06 09:34||MarcusDenker||Resolution||open => fixed|
|04-04-06 09:34||MarcusDenker||Assigned To||=> MarcusDenker|
|04-04-06 09:34||MarcusDenker||Note Added: 0004671|
|04-14-06 13:33||korakurider||Status||resolved => feedback|
|04-14-06 13:33||korakurider||Resolution||fixed => reopened|
|04-14-06 13:33||korakurider||Note Added: 0004746|
|04-25-06 11:16||korakurider||File Added: SqueakDebug2.log|
|04-25-06 11:27||korakurider||Issue Monitored: al|
|04-25-06 11:27||korakurider||Note Added: 0004799|
|04-25-06 14:44||al||Note Added: 0004806|
|07-15-06 11:35||MarcusDenker||Relationship added||related to 0003591|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
68 total queries executed.|
42 unique queries executed.