[comp.sys.amiga] LZ .91 destroyed my workbench!

anlhille@rose.ucs.indiana.edu (Joseph Hillenburg) (12/26/90)

Ok, this is what happened an hour or so ago:

I was ftp'ing stuff from abcfd20 (mostly ST/NT mods), and then I downloaded
them. (Can't take that in reverse order :) I planned on using LZ to dearchive
them. So I was still on the VAX, when I stuckthe JR-Comm screen to the back,
and was fooling with ARP ARes. I gave the command:

1.Q105S:Music/Modules/SoundTracker> ARES C:LZ

Ok, so then I typed 'LZ'. Boom. Instant crash and burn. My main partition was
severely screwed. Had to use DiskDoctor (yick) on it, so when it came back, the
root block had to be reformated, and the C: and Sys:System directories were
gone, but the files were all in the root directory. Some of the files were
gone, too. The annoying thing is, I DIDN'T EVEN USE LZ TO WRITE TO THE DISK! I
can understand the crash and burn, but why did it trash my HD?

=============================================================================
| -jph		     IMHO: The "H" means "honest!"                          |
| INET: anlhille@ucs.indiana.edu	  UUCP: iuvax!prism.decnet!anlhille |
| BITNET: anlhille@iurose.bitnet	  DECNET: PRISM::ANLHILLE           |
=============================================================================

xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) (12/26/90)

anlhille@rose.ucs.indiana.edu writes:

>Ok, this is what happened an hour or so ago:

>I was ftp'ing stuff from abcfd20 (mostly ST/NT mods), and then I downloaded
>them. (Can't take that in reverse order :) I planned on using LZ to dearchive
>them. So I was still on the VAX, when I stuckthe JR-Comm screen to the back,
>and was fooling with ARP ARes. I gave the command:

>1.Q105S:Music/Modules/SoundTracker> ARES C:LZ

>Ok, so then I typed 'LZ'. Boom. Instant crash and burn. My main partition was
>severely screwed. Had to use DiskDoctor (yick) on it, so when it came back, the
>root block had to be reformated, and the C: and Sys:System directories were
>gone, but the files were all in the root directory. Some of the files were
>gone, too. The annoying thing is, I DIDN'T EVEN USE LZ TO WRITE TO THE DISK! I
>can understand the crash and burn, but why did it trash my HD?

Well, mainly because you're using a hammer to drive a screw. To be made
resident, a command has to be _written_ to be resident: pure code, each
copy allocates its own private data space, reentrant, etc. LZ is an
assembler hack, written for speed, whose source is not public and
therefor not scrutinized by the Amiga community for obvious flaws.
Almost certainly it was never written to be resident.

Since the Amiga does not have memory management and protection, when
things go wrong, any executable code in memory (as well as plain trash)
is capable of being executed, in particular other resident programs,
like dir and copy.

One you start executing a program that is known to be going to go wild,
little disasters like having the thread of execution jump into the disk
device driver and start executing with invalid addresses, pointers, and
data is just part of what you expect.

Go read the writeup under the RESIDENT command on the "p" ("pure")
protection bit; pay special attention to the parts that say:

   "The PURE option forces RESIDENT to load commands which are not
   marked as pure (i.e., they do not have the pure bit set), and can
   be use to experiment with the pureness of other commands and
   programs. PLEASE USE THIS OPTION WITH CAUTION ... you must be
   extremely careful ... be sure to boot with a standard, write
   protected Workbench disk ... do not _use_ directories or assign
   directories to a hard disk ... While you are experimenting, make
   sure that any files you read or write are in RAM:, RAD:, or on a
   backup or freshly formatted floppy disk ... be alert for file
   problems and improper behavior." Amiga 1.3 Enhancer Software
   manual, pp 2-22, 2-23.

[My emphasis on "use".]

I think the "heart in throat" message there is pretty clear. Not the
kind of thing I'd be trying without a current HD backup in hand.

Note where your problem arose: you were executing from your HD C: assign,
so there was a path hanging around in a disk driver pointing back to that
partition, a recipe for disaster when things went wrong.

Kent, the man from xanth.
<xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>