CRASHME(1) | General Commands Manual | CRASHME(1) |
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 are two magic values for [NBYTES] : A value of 81920 avoids malloc and returns a pointer to static data. This makes the operation of crashme more repeatable on architectures where malloc is designed to return unpredictable locations. A value of 1025 avoids a call that sets the protection of the data to READ+WRITE+EXEC.
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.
This is a suggested test, to run it for a least an hour.
crashme +2000 666 100 1:00:00
crashme.c
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 given.
Not all signals are caught, and the state of the user program/process environment can be sufficiently damaged such that the program terminates before going through all [NTRIES] operations.
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. GJC@alum.mit.edu http://people.delphiforums.com/gjc/crashme.html http://crashme.codeplex.com/
2.8.5 6-AUG-2014