[comp.sys.atari.st] An interesting way to crash gulam shell

mj@myrias.UUCP (06/05/87)

   I have a nice mthod for a spectacular crash of Gulam.prg (a version
posted to the net).  It is not that I want to brag about it, but you
may do it by a mistake nad have a nasty surprise.

WARNING!  Try it only on RAM drive or scratch floppy, since the only 
method of recovery will be to de-install RAM drive, or reformat your
disk!!!!

Try the following sequence of commands:

mkdir testd
mkdir testd\expmd
ls -l >testd\dirf   # this for better effect
cp testd\* testd\expmd

Now lean back and watch effects.   There is nothing, short of resetting
your computer, that you can do anyway.   (It will create a recursive
structure of subdirectories which you cannot remove, since rm command
does not have either -r or -f option.   GEM will also barf on you after
a short while, coming with nonsense error messages).
   I believe that this bug is closely related to 'rm *', mentioned by
John Turner.

    Michal Jaegermann
    Myrias Research Corporation
    Edmonton, Alberta, CANADA
    ...{ihnp4, ubc-vision}!alberta!myrias!mj

bammi@cwruecmp.UUCP (06/08/87)

In article <505@myrias.UUCP> mj@myrias.UUCP (Michal Jaegermann) writes:
...............
>mkdir testd
>mkdir testd\expmd
>ls -l >testd\dirf   # this for better effect
>cp testd\* testd\expmd
>
>Now lean back and watch effects.   There is nothing, short of resetting
>your computer, that you can do anyway.   (It will create a recursive
>structure of subdirectories which you cannot remove, since rm command
>does not have either -r or -f option.   GEM will also barf on you after
>a short while, coming with nonsense error messages).
>   I believe that this bug is closely related to 'rm *', mentioned by
>John Turner.
>

	From my perspective the answer is Yes and No. Let me try and
explain. In Gulam the filename regular expressions are UNIX style
filename regular expressions and NOT Gemdos style regular expressions.
So a '*' matches all files in $cwd. Therefore 'whatever *' will also
match the names of all subdirectories in $cwd. In newer versions of
Gulam, one of the things that has been fixed is that rm and other
commands that do not deal with directories will skip them if given
directories as args (the command line expansion is done before it is known
what command is going to use the args), instead of barfing at them.
One of the features of the 'cp' command is that if it is given the
name of a directory as the source arguement, then it will copy the
entire directory to the destination (if the destination is also
a directory). But your example is a good one, and shows up a problem
in this scheme of things. It'll be interesting to see what solution
Prabhaker come up with.
-- 
usenet: {decvax,cbatt,cbosgd,sun}!cwruecmp!bammi	jwahar r. bammi
csnet:       bammi@cwru.edu   <---------Please note change of address
arpa:        bammi@cwru.edu   <---------Please note change of address
compuServe:  71515,155

mjd@icdoc.UUCP (06/12/87)

In article <505@myrias.UUCP> mj@myrias.UUCP (Michal Jaegermann) writes:
>
>   I have a nice mthod for a spectacular crash of Gulam.prg (a version
>
>Now lean back and watch effects.   There is nothing, short of resetting
>your computer, that you can do anyway.   (It will create a recursive
>structure of subdirectories which you cannot remove, since rm command
>does not have either -r or -f option.   GEM will also barf on you after
>a short while, coming with nonsense error messages).

The fix to this is to use gem to move down to the bottom of the tree,
and then to move up only 2 or 3 levels before attempting to delete
the subtree from that point. Keep doing this until you have removed
the entire structure. This worked OK on a hard disc, but make sure to
beef up your 40-folder fix, and reboot to clear TOS's directory map
first.