[squeak-dev] Lost image - any suggestions?

Tim Johnson digit at sonic.net
Thu Feb 21 23:15:01 UTC 2019


Hi,

I have an image which had been running with only periodic interruption 
for many months, as it functions as a server to collect data.  Over the 
past two weeks or so, I'd started working on some code in it again, some 
of which I liked, but which I'm afraid I may have now lost.  (I am 
foolish, working in an image being used to collect data, but I have 
excuses.)

Is it possible for me to recover anything from the last 2-3 weeks from a 
.changes file?  I do have a previous version of the same image, from 
November, but don't know how to load a different .changes file.

In case it matters, here's what went down:

Things seemed OK until today when I moved a window in Morphic and the VM 
crashed.  (I had a dozen+ inspectors open on a dozen+ collections 
between 150 and 8000 in size.)

After the crash, I loaded the image up again and recovered my one 
changed method via Recover Changes.  Then, feeling  overconfident, I did 
a "save" instead of "Save as" :(.  At some point during or after the 
save, Squeak stopped responding to user input.  Activity Monitor showed 
CPU usage at only around 3% so after a while I just force-quit it.

Now if I try to load that image with the VM I'd been using, the VM 
crashes before even bringing up a window.

I got some output from running the VM through Terminal.  Thinking I'd 
get more debug output, I tried it by compiling 
oscogvm/build.macos64x64/squeak.cog.spur and running SqueakDebug.app, 
but I was mistaken thinking SqueakDebug.app would dump any more to 
Terminal than regular Squeak.app.  (Both output the same information and 
seem to crash in the same way.)

Anyhow, if anyone has any tips, or wants a copy of a broken image, 
please let me know.  In any case, I'll just end with this quote from 
Ralph Johnson:

"One thing to remember is NEVER TRUST AN IMAGE!  Images are extremely
convenient and fairly fragile.  Every so often you will kill an image,
and you will lose everything in it.  It is possible to recover from
your changes log, but it is real pain if you have several weeks of
work there to recover.  I make it a point to build a new image once
a week or so.  Some people do it every day.  It all depends on your
style, I guess.  Just because you saved an image doesn't mean that
you can start it up again."

- 
https://users.cs.duke.edu/~ola/courses/cps196/spr98/smalltalk/changesets.html

Thanks,
Tim J

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2-21-debug-out.txt
Type: text/x-fortran
Size: 9108 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190221/f4191835/attachment.bin>


More information about the Squeak-dev mailing list