Test results / reports
- Overall test result criteria
- Module test result criteria
- Test result summary
- HTML report file
- Binary results file
Overall test result criteria
The overall test result of the memory test is determined by the following criteria
Result | Criteria |
PASS | All configured tests were completed without any errors detected |
FAIL | All configured tests were completed with at least one error was detected or MAXERRCOUNT is exceeded at any point of the test |
INCOMPLETE PASS | At least one of the configured tests was not completed but no errors were detected |
INCOMPLETE FAIL | At least one of the configured tests was not completed and at least one error was detected |
Module test result criteria
The indvidual module test result is determined by the following criteria
Result | Criteria |
PASS | All configured tests were completed and no errors were detected on the module without any undecoded errors |
FAIL | All configured tests were completed with at least one error detected on the module |
INCOMPLETE PASS | At least one of the configured tests was not completed but no errors were detected on the module without any undecoded errors |
INCOMPLETE FAIL | At least one of the configured tests was not completed and at least one error was detected on the module |
UNKNOWN | No errors were detected on the module but there was at least one undecoded error |
Test result summary
At the end of the test, a summary of the test results is displayed, as shown in the following screenshot:
Lowest Error Address: The lowest address that where an error has been reported. Highest Error Address: The highest address that where an error has been reported. Bits in Error Mask: A mask of all bits that have been in error (hexadecimal). Bits in Error: Total bit in error for all error instances and the min, max and average bit in error of each individual occurrence. Max Contiguous Errors: The maximum of contiguous addresses with errors. CPUs in Error: List of CPU cores that detected memory errors. ECC Correctable/Uncorrectable Errors: The number of errors that have been corrected/uncorrected by ECC hardware. Test Errors: On the right hand side of the screen the number of errors for each test are displayed.
HTML report file
The user may also save the results as an HTML test report to a file. The test report appearance is fully customizable in the pro and site license version. Here is an example of an HTML test report
To save your the results as a HTML report, press 'y' to save when prompted. Note the file name the report will appear as, this will be saved to the USB you have booted from.
As seen in the following screenshot:
For Pro and Site editions, HTML report files can be automatically saved by specifying the AUTOMODE and AUTOREPORTFMT configuration file parameters. See Configuring MemTest86 for more details about configuration file parameters.
When network booting from PXE (Site edition only), HTML reports are uploaded to the PXE server. This can be useful for automated workflows such as production line environments.
Binary results file
(Site and Pro editions only) For environments with limited storage space and processing capacity, the user may choose to save the results as a binary file. The format of the binary file is as follows.
typedef struct _TESTRESULT {
CHAR8 Signature[4];// "MT86" signature
UINT16 Revision; // Current revision: 1.1 (Upper byte: major version; Lower byte: minor version)
UINT32 StartTime; //Start test time in Unix time, accurate to 1 sec
UINT32 ElapsedTime;//Test elapsed time in seconds
UINT64 RangeMin; //Min address tested
UINT64 RangeMax; //Max address tested
UINT16 CPUSelMode; //0-Single CPU, 1-Parallel, 2-Round Robin, 3-Sequential
INT16 CPUTempMin; //Min CPU temp for duration of test (-1 if N/A)
INT16 CPUTempMax; //Max CPU temp for duration of test (-1 if N/A)
INT16 CPUTempAve; //Ave CPU temp for duration of test (-1 if N/A)
INT16 RAMTempMin; //Min RAM temp for duration of test (-1 if N/A)
INT16 RAMTempMax; //Max RAM temp for duration of test (-1 if N/A)
INT16 RAMTempAve; //Ave RAM temp for duration of test (-1 if N/A)
BOOLEAN ECCSupport;//0 if ECC not supported, != 0 if ECC supported
INT8 TestResult; //{0:PASS, 1:INCOMPLETE PASS, -1:FAIL, -2:INCOMPLETE FAIL}
UINT32 ErrorCode; // Error code
UINT32 NumErrors; //Number of errors from all tests. Must be 0 if Passed == True
UINT64 MinErrorAddr;//Lowest address that had an error
UINT64 MaxErrorAddr;//Highest address that had an error
UINT64 ErrorBits; //Bit coded field showing the bits in error
UINT32 NumCorrECCErrors;//Number of detected and corrected ECC errors from all tests.
UINT32 NumUncorrECCErrors;//Number of detected but uncorrected ECC errors from all tests.
UINT8 Reserved[14]; // For future use
UINT16 NumTestsEnabled;// Number of individual tests enabled
struct {
UINT8 TestNo; // Test ID number
UINT16 NumTestsPassed;// Number tests passed for this test number
UINT16 NumTestsCompleted;// Number tests completed for this test number
UINT32 NumErrors; // Number of errors detected for this test number
} AllTests[1]; // Variable-sized array of size=NumTestsEnabled
struct SLOTCHIP_ERRINFO {
UINT16 SlotChipErrsArrCount; // Size of variable-sized array SlotChipErrs below
struct {
INT8 Slot; // Slot number (-1 for unknown)
INT8 Chip; // Chip number (-1 for unknown)
UINT32 NumErrors; // Number of errors detected for this slot/chip combination
} SlotChipErrs[1];
} SlotChipErrInfo;
} TESTRESULT;
Binary result files cannot be saved manually and can only be saved by specifying the AUTOMODE and AUTOREPORTFMT configuration file parameters. See Configuring MemTest86 for more details about configuration file parameters.
As with HTML report files, binary results can be automatically saved to disk or uploaded to the PXE server, supporting automated workflows such as production line environments.