[squeak-dev] Image damaged due to IO error while saving
Christoph.Thiede at student.hpi.uni-potsdam.de
Fri Sep 3 23:21:22 UTC 2021
I just had a look at the broken image file. It is three hundred megabytes of zeros, indeed.
> I don't know what the failure mode was on Windows (file system full? something else?).
I don't know, too. I can only tell you that my system was so buggy that I could not even start a new cmd window or even restart the system without using the physical reset button. ¯\_(ツ)_/¯
As I said, this is nothing to blame our VM for, but yes, if we could detect an error code, this would be helpful, of course.
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von David T. Lewis <lewis at mail.msen.com>
Gesendet: Samstag, 4. September 2021 00:48:37
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] Image damaged due to IO error while saving
On Fri, Sep 03, 2021 at 06:24:32PM -0400, David T. Lewis wrote:
> On Fri, Sep 03, 2021 at 10:04:18PM +0000, Thiede, Christoph wrote:
> > Truncate? It has still a very usual file size ... But when I try to open it, the VM asks me for another image file, so apparently, it cannot read it. No idea what's going on here ...
> > Best,
> > Christoph
> > ________________________________
> > Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von David T. Lewis <lewis at mail.msen.com>
> > Gesendet: Samstag, 4. September 2021 00:01:54
> > An: The general-purpose Squeak developers list
> > Betreff: Re: [squeak-dev] Image damaged due to IO error while saving
> > On Fri, Sep 03, 2021 at 09:02:07PM +0000, Thiede, Christoph wrote:
> > > Or is there maybe, just maybe some kind of automatic image repair tool? One that does not require in-depth knowledge of the file format internals of .image files? :-)
> > >
> > No, if you truncate the image file, it's junk.
> > Dave
> I don't know what the failure mode was on Windows (file system full?
> something else?). Regardless of the underlying failure, if you write
> the image file and the write does not successfully complete, then
> you almost certainly have a junk file that cannot be fixed.
> But to your other question, could we check for the failure and not
> exit the image, that's definitely worth looking into.
> Take a look at SmalltalkImage>>snapshotEmbeddedPrimitive and
> SmalltalkImage>>snapshotPrimitive. If the method comments are
> right, then a nil result would indicate a write faiure. I don't
> know if the actual primitives in the VM behave this way (if not
> they could be fixed). But if that is how the primitives behave,
> then it should be possible to add a check for nil to prevent
> exiting the image after a failed write.
> I do not see any such check in SmalltalkImage>>snapshot:andQuit:withExitCode:embedded:
> so it would be worth looking at this to see if a nil check could
> be added to protect against the kind of failure you saw.
Actually, I need to retract this. There actually *is* a nil check,
and it works as advertised for the case of a Unix VM trying to
save the image to a write protected file. So I think we would
need to understand the actual write failure that happened on Windows,
and see if the Windows VM is handling it in an appropriate way.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev