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@sfu.ca
Hi John, I'm sure the experts will reply with something more helpful than I can, but out of curiosity, what exactly do you mean by your last stmt - "there's a bunch of stuff in that image...". Do you mean you're a Squeak source code developer and make changes to your image from a lower-level functional point of view, or do you make UI changes and save the image in that manner, or something else? I'm simply trying to learn more about proper/possible usage of EToys. I personally only change my image by doing updates and "save" them. Everything else is simply published projects.
--Randy
-----Original Message----- From: squeakland-bounces@squeakland.org [mailto:squeakland- bounces@squeakland.org] On Behalf Of John Maxwell Sent: Wednesday, November 30, 2005 7:39 PM To: squeakland@squeakland.org Subject: [Squeakland] Recovering from hung image
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@sfu.ca
Squeakland mailing list Squeakland@squeakland.org http://squeakland.org/mailman/listinfo/squeakland
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@sfu.ca
squeakland@lists.squeakfoundation.org