Provided by: crashme_2.4-9_amd64 bug


       crashme - test operating environment software robustness


       crashme [NBYTES] [SRAND] [NTRYS] [NSUB] [VERBOSE]


       crashme  is  a  very  simple  program that tests the operating environment's robustness by
       invoking random data as if it were a procedure.   The  standard  signals  are  caught  and
       handled  with a setjmp back to a loop which will try again to produce a fault by executing
       random data. Some people call this stress testing.

               The [NBYTES] should be an integer, specifying the size of the random  data  string
               in  bytes. If given negative then the bytes are printed instead of being executed.
               If given with an explicit plus sign then the storage  for  the  bytes  is  freshly
               malloc'ed  each  time.  This  can have an effect on machines with seperate I and D
               cache mechanisms. The argument can also have a dot in it, X.Y, in which case Y  is
               a  increment  for  a pointer into the random data. The buffer is recalculated only
               when the pointer gets near the end of the data.

       [SRAND] The [SRAND] is an input seed to the random number generator, passed to srand.

               The [NTRIES] is how many times to loop before exiting normally from the program.

       [NSUB]  The [NSUB] is optional, the number of vfork subprocesses running all at once.   If
               negative  run  one  after another. If given as a time hrs:mns:scs (hours, minutes,
               seconds) then one subprocess will be run to completion, followed by another, until
               the time limit has been reached.  If this argument is given as the empty string or
               . then it is ignored.

               When in sequential-subprocess mode there  is  a  30  second  time  limit  on  each
               subprocess.  This  is  to  allow the instruction-set-space random walk to continue
               when a process bashes itself into an infinite loop.  For example, the ntrys can be
               bashed  to  a  very  large  number with nbytes bashed to zero. (10 second limit on
               Windows NT).

               The SRAND argument is incremented by one for each subprocess.

               The [VERBOSE] arg is optional. 0 is the least verbose, 5 the most.


       This is a suggested test, to run it for a least an hour.

       crashme +2000 666 100 1:00:00




       When a signal is caught the number and nature of the signal  is  indicated.   Setting  the
       environment  variable  CRASHLOG  will cause each subprocess to record the arguments it was


       Not all signals are caught, and the state of the user program/process  enviroment  can  be
       sufficiently  damaged  such  that the program terminates before going through all [NTRIES]

       If the architecture uses some kind of procedure descriptor but no special  code  has  been
       not been added to castaway() in crashme.c then the stress test will not be as potent as it
       would otherwise be.

       Beware: This program can crash your computer if the operating system or hardware  of  same
       is buggy. User data may be lost.


       George J Carrette.


       2.4 20-MAY-1994

                                              LOCAL                                    CRASHME(1)