[Squeakland] Recovering from hung image

Scott Wallace scott.wallace at squeakland.org
Thu Dec 1 14:31:02 PST 2005


Hi, John,

So sorry you're having these difficulties!

(1)  If you can make your image/changes files available on a server, 
a few of us in the community will be glad to take a look, though I 
agree that the situation as you describe it does not sound promising. 
[Or if you can't readily post to an ftp server somewhere, you could 
even burn your files onto a CD and fed-ex it to one of us -- please 
email me privately for a mailing address is you choose this route, or 
mail the CD to Viewpoints.]


(2)  For *next* time:   It's not at all a bad instinct to want to 
"save" an image that has gotten into a worrisome state.  The trick 
is, *don't ever* use "save" or "save and quit" with a sick image, 
because both of these are destructive of what was safely on disk 
before, so you can end up losing your work.   No matter what problems 
you encounter, as long as you don't "save" or "save and quit", the 
last-saved version from which you started your session will still be 
intact.

The "safe" alternatives for saving are "save as new version" and 
"save as..." -- these will not clobber the image you started with; 
these alternatives save the image under a different name, so they're 
not destructive of the coming-in version the way "save" and "save and 
quit" are.

[Many Smalltalk users have precisely one such stor in their 
backgrounds.  Smalltalk is so very "safe" that most of us who make 
our living in Smalltalk go for years without ever losing *anything*. 
The one truly unsafe thing you can do is to clobber your only good 
copy of a valuable image by "saving over" it with an image in a sick 
condition.  If it's any solace, even if you lose this image you'll 
probably never make the mistake again ;-)]


(3)  What was the nature of the content that you are concerned about 
losing?  If it was primarily Smalltalk code (i.e. classes and methods 
you defined using Smalltalk code tools,) these can all easily be 
recaptured by starting up a healthy image, opening a file-list, 
pointing it at the .changes file of the sick image, and then hitting 
the "recent changes" button in the file-list tool to get a 
"change-list browser" that reveals all the code submitted to the sick 
image since any given point you select.  You can then selectively 
choose things to bring over from the  changes file of the sick image 
to your new, healthy image.  [Write to me privately if you need more 
details on how to use the change-list browser.]


(4)  If you have never made a backup of your image/changes files, and 
have never saved your content to a squeak "Project" file -- i.e. if 
the only place your content resides is in an image that now is too 
sick to start up -- then if we can't manage to resuscitate your 
ailing image (as per item 1 above,) it's possible that the main 
positive to come out of this experience will be the bitter lesson 
that it teaches.

But before giving up, please make your image/changes available on a 
server somewhere so that we can have a look.


Cheers,

   -- Scott

At 4:39 PM -0800 11/30/05, John Maxwell wrote:
>I have just painted myself into a corner that I would very much like 
>to get out of. Hope there's a way out.
>
>I was mucking about with an Etoy running and inadvertently did 
>*something* which caused a couple of debug windows to pop up. I 
>didn't get a chance to even notice what I'd done, because what I did 
>next prevented it: at some deep, lizard-brain level, I panicked and, 
>sensing an imminent crash, popped the World menu and hit "save and 
>quit". Upon attempting to restart the image I realized this was NOT 
>the thing to have done, for now I have an image that won't go; it 
>hangs even before anything appears onscreen (it goes far enough to 
>switch to fullscreen mode on my Mac; the menu bar disappears). It 
>seems to go into a loop with 70-80% of my system resources used up.
>
>I am hoping, since whatever I did to cause this was extremely minor 
>and inadvertent, that I can perhaps manually edit the image file and 
>backtrack? Is this possible? My understanding of the changes file is 
>that it will allow me to recover from crashes that happen BEFORE one 
>saves; my problem is unfortunately the opposite.
>
>Any advice or insight would be appreciated... there's a bunch of 
>stuff in that image that I'd be quite annoyed to lose.
>
>   - John Maxwell
>     jmax at sfu.ca



More information about the Squeakland mailing list