|Anonymous | Login||10-27-2021 21:42 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Simple Details [ Jump to Notes ]||[ View Advanced ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0007506||[Squeak] Morphic||minor||always||04-16-10 03:56||04-16-10 03:57|
|Summary||0007506: Opened morphs are infinitely recursive when sent #storeOn:|
In a fresh squeak 9948 (RC5)
Open new project
"Morph new openCenteredInWorld storeOn: (foo := String new writeStream) ."
After a while stop with Alt-.
In the debugger look at the variable aStream.
Note the infinite loop.
Basicly an opened morph tries to store its owner
Its owner tries to store its submorphs which include the opened morph.
The #storeOn: is very simplistic storing ivars index by index.
I did this in a context of curiosity and trying to find a way of serializing a morph in words s.t. the essentials of the morph could be recreated.
Since any use of this would have caused an immediately noticable problem I have concluded that no one uses this selector with morphs.
So there in no priority to solving the problem by itself.
There is a reasonable need to serialize a world other than the way it is currently done in projects.
a smarter, working StoreOn: would be useful for this.
Basically, store ivars by name. Keep a set of visited morphs and note the second time you are visiting to avoid the recursion.
|There are no notes attached to this issue.|
|04-16-10 03:56||wiz||New Issue|
|04-16-10 03:56||wiz||Status||new => assigned|
|04-16-10 03:56||wiz||Assigned To||=> KenCausey|
|04-16-10 03:57||wiz||Assigned To||KenCausey =>|
|04-16-10 03:57||wiz||Category||Any => Morphic|
|04-16-10 03:57||wiz||Description Updated|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
34 total queries executed.|
28 unique queries executed.