Why do I get the message “Detected nondeterminism outside the control of CHESS” when I run CHESS on my program?
The goal of CHESS is to provide deterministic testing for multithreaded programs in which the only source of nondeterminism is thread scheduling. CHESS runs your test function repeatedly, taking it through a different thread schedule each time. CHESS reports this message when it detects any source of nondeterminism different from thread scheduling, such as the use of hardware counters or the time of day. CHESS also reports this message if the test function does not bring the program state it was started in. This commonly happens if global or static variables are initialized by the test function itself. You should make sure that all initialization for the test occurs in the ChessTestStartup function; if necessary, execute ChessTestRun a few times in ChessTestStartup.
Related Questions
- Why do I get the message "Detected nondeterminism outside the control of CHESS" when I run CHESS on my program?
- When I run the Virtual Control Freak Editor software I get the message: Run-time error 35603 Invalid key. Why?
- When I try to run the program, it refuses to run and gives a message saying ".... file missing" or "....file modified"?