To improve the quality of MemTest86, accurate reporting of problems and bugs essential. Please carefully follow the instructions below to report problems.
Note: The information here is targeted at troubleshooting problems with execution of the test code and not for diagnosing reported memory errors.
MemTest86 v5 or later (UEFI)
One of the new features of MemTest86 v5 is the ability to log to a file on a USB flash drive. A log file (MemTest86.log) is automatically created and updated while MemTest86 v5 is running. This file is saved in the 'EFI/BOOT' directory in the USB drive's first partition. For obvious reasons, a log file is not generated when booting MemTest86 from a CD; please use a USB flash drive instead. If you believe you may have encountered a bug with MemTest86, please report problems to PassMark Software
MemTest86 v4 (BIOS)
In Version 4.1.0 a Boot Trace feature was added that provides a simple mechanism for troubleshooting of test failures by both technical and non-technical users. With the very large variety of computer hardware available it is impossible to test MemTest86 an all platforms and some incompatibilities exist causing failures. With trace information many of these faults may now be resolved.
Enabling Boot Trace - The boot trace feature is enabled with either a boot time option or an on-line command. However, most problems occur during startup so the boot option is the preferred method. All of the released images have a boot option to start the test with boot tracing enabled. When booting from a Linux system with LILO or GRUB add "btrace" to the boot options line. When Boot Trace is enabled two columns of trace information will be displayed one the bottom two thirds of the screen. The CPU, line number from the source file, a short message and two parameters are displayed in each trace point. A ">" character denotes the current trace point. A total of 26 trace points are displayed and older trace points are lost as execution progresses. Pressing any key will advance to the next trace point. As initialization proceeds other portions of the screen will be filled in with information and the header lines will be erased.
Gathering Trace Information – There are two types of failures where trace information is needed to help diagnose the problem, hangs and crashes. Gathering traces for a situation when the test hangs is very simple. Just continue to press return until the test stops. At minimum email the last 5 trace points. More useful would be a digital picture of the screen. For cases where the test crashes we need to find the trace points just before the crash. This requires slowly stepping through the traces and identifying the point where the test crashes or reboots. Then run the test again and stop at the trace point just before the crash and report the information. Again, email at least the last 5 trace points or better a picture of the screen. Please email failure information using the form below.
Using Trace Information - Technical users will be able to diagnose problems using trace data that previously would have required detailed understanding of MemTest86's internal workings. By following the trace points in the source you will be able to follow the path of execution and identify problems. As needed new trace points may be added to the code to provide more detail when diagnosing a problem.
Additional Information - It is also very valuable to know how failures affect different releases. Please try each of the test versions provided and report. A number of failures affect only operation when multiple CPUs are being used. Please run using the option to run with only one CPU and report.
MemTest86 can not diagnose many types of PC failures. For example a faulty CPU or motherboard that causes Windows to crash will most likely just cause MemTest86 to crash in the same way.
Often the memory works in a different system or the vendor insists that it is good. In these cases the memory is not necessarily bad but is not able to operate reliably at high speed. Sometimes more conservative memory timings on the motherboard will correct these errors. In other cases the only option is to replace the memory with better quality, higher speed memory. Don't buy cheap memory and expect it to work reliably. On occasion "block move" test errors will occur even with name brand memory and a quality motherboard. These errors are legitimate and should be corrected.
MemTest86 supports all types of memory. In fact the test has no knowledge of the memory or CPU type nor does it need to. MemTest86 is able to test all types and brands of memory. If the information reported regarding chipsets or CPU's is incorrect it will not affect testing in any way. This not a problem or bug but is listed here due to the many questions about this issue.
MemTest86 v5 or later (UEFI)
MemTest86 depends on the services provided by the UEFI firmware, which include mouse/keyboard support, multiprocessor services, file input/output, and PCI device management. Because the services that are provided by the firmware are developed individually by the motherboard manufacturers, there may be functional differences than can limit or prevent the proper operation of MemTest86. Some of these issues are highlighted below:
"Mac-F42C88C8",ALL,EXACT,RESTRICT_STARTUP "80AF",ALL,EXACT,RESTRICT_MP "Z97MX-Gaming 5",ALL,EXACT,RESTRICT_MP "Z170MX-Gaming 5",ALL,EXACT,RESTRICT_MP "Z170X-Gaming 3",ALL,EXACT,RESTRICT_MP "Z170X-Gaming 7",ALL,EXACT,RESTRICT_MP "Z170X-Gaming GT",ALL,EXACT,RESTRICT_MP "Z170X-UD3-CF",ALL,EXACT,RESTRICT_MP "Z170-HD3P",ALL,EXACT,RESTRICT_MP
Each blacklisted baseboard is stored on a separate line with the following format:
[baseboard],[BIOS version],[exact|partial match],[restriction flags]
[baseboard] is the case-sensitive baseboard string in double quotes
[bios version] is the first BIOS version (string in double quotes) that no longer exhibits the issue. If no fix is available, specify ALL
[exact|partial match] determines whether exact or partial matching is used on [baseboard string].
[restriction flags] determines the restriction policy to impose if there is a match. This can be one of the following values:
- RESTRICT_STARTUP - Display a warning message before MemTest86 boots
- RESTRICT_MP - Do not perform the multiprocessor test during startup, and set the default CPU mode to SINGLE
- DISABLE_MP - Completely disable multiprocessor support, restricting the CPU mode to SINGLE only
- DISABLE_CONCTRL - Disable console control protocol, which may be needed for some older systems (eg. iMac 7.1)
- FIXED_SCREENRES - Do not modify the default screen resolution, which is known to cause issues on some Lenovo systems
- RESTRICT_ADDR - Set the lower address limit to 0x100000 by default, which may be needed for some Mac systems (eg. Late 2013 27" iMac)
- TEST12_SINGLECPU - Run Test 12 in SINGLE CPU Mode, which may be necessary to workaround CPU threads hanging in PARALLEL mode
- DISABLE_LANG - Disable language support and font installation, which is known to cause issues on some Dell systems
MemTest86 is also inherently limited by the UEFI environment and as such, gives rise to the following limitations:
MemTest86 v4 (BIOS)
Sometimes when booting from a floppy disk the following messages scroll up on the screen:
X:8000 AX:0212 BX:8600 CX:0201 DX:0000
On a small number of machines, false positives were reported when running Test #3 in parallel mode. If this is the case, re-run the test in single CPU mode before concluding that it is a RAM issue.
What are the license restrictions on MemTest86 Free Edition?
MemTest86 Free Edition is free to download with no restrictions on usage
How many licenses of MemTest86 Pro Edition will I need?
You need 1 license per machine that is running MemTest86 Pro at the same time.
Example 1: You have a PC production line that produces 10 machines per day. You test each machine during the night. So a maximum of 10 machines are running MemTest86 Pro at any one time. 10 Licenses are required.
Example 2: You are a company that takes delivery of no more than two new machines at a time. You want to run MemTest86 Pro in both machines at the same time. 2 licenses are required.
Example 3: You have 5 staff in the field repairing PC's. Each technician carries a copy of MemTest86 with them on a USB drive. 5 licenses are required.
Copyright © 2020 PassMark® Software