Stack file organisation

Richard Gaskin ambassador at
Wed Dec 18 15:29:00 EST 2002

Ted wrote:

> I've had one corrupt stack in Rev. It was in the development environment, and
> the cantModify was false.
> <<
> Richard Gaskin wrote in part:
> How long ago was this? ...cases of actual
> corruption in a Rev stack are extremely rare.
> <<
> This was some months ago, approximately last spring. I've used Revolution
> since the beta trials, and I've saved thousands of times. In that time I've
> had one corrupted stack, so in my experience it *is* rare.
> It happened as Roger Eller mentions in his post below.
> I have been wondering about this corruption thing myself. On 3 occasions,
> my stacks have become corrupted during normal use; twice on a Mac and once
> on a PC. Lucky for me, the Rev team has built a catch for this, and the app
> automatically generates a backup file which is named with the extension
> ..rev~. All I had to do was delete the corrupt file, then delete the "~"
> from the backup file and everything worked normal again. My stacks DO save
> during normal operation. Maybe the RunRev team can provide some info on
> what actions cause stack corruption and how to prevent it.

Ah - As Scott pointed out, the file isn't corrupted per se, you're just
attempting to open a partially-written file.

Stack corruption happens when an object (in xtalks, usually a card) is not
written back to disk properly.  The save completes without alerting you to
the error (the program is probably unaware of it at the time), yet the bad
data persists, carried around in the file until you try to open the one card
whose daa structur is hosed.  It's precisely because you usually don't know
about corruption until long after it occurs that it's especially
troublesome:  you mahe have added days or weeks of additional work since the
error first found its way into the file.

In contrast, what seems to be happening in your case is that something is
interruping the normal save operation.  The backup file (preceded with "~")
is fine, but since the interrupted file is incomplete it will not open.

While it may be just as annoying as corruption, it's useful to distinguish
for arriving at strategies for prevention, since the types of things that
cause stack corruption in paged-memory xtalks like HC and SC are different
from those things that will cause a save operation to be interrupted.  And
of course it's a lot easier to "repair" than corruption.  True corruption
usually can't be repaired; often the best you can do is to delete the
erroneous card altogether.

 Richard Gaskin 
 Fourth World Media Corporation
 Developer of WebMerge 2.1: Publish any database on any site
 Ambassador at
 Tel: 323-225-3717                       AIM: FourthWorldInc

More information about the Use-livecode mailing list