Project

General

Profile

Bug #28072

Add memtest support to loader menu

Added by Joe Maloney over 1 year ago. Updated 3 months ago.

Status:
Closed
Priority:
No priority
Assignee:
Ryan Moeller
Category:
OS
Target version:
Seen in:
Severity:
Low
Reason for Closing:
Reason for Blocked:
Needs QA:
Yes
Needs Doc:
Yes
Needs Merging:
No
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

memtest86-halted.jpg (702 KB) memtest86-halted.jpg PassMark MemTest86 halted on boot with unexpected interrupt Ryan Moeller, 07/17/2018 10:56 AM
21695

Subtasks

Bug #38739: Remove memtest from loader menu until it is fixed upstreamDoneRyan Moeller

Related issues

Has duplicate FreeNAS - Umbrella #28499: BSD Loader / Memory TesterClosed

Associated revisions

Revision 80d11491 (diff)
Added by Kris Moore over 1 year ago

Add memtest86+ to the build

Ticket: #28072

History

#1 Avatar?id=14398&size=24x24 Updated by Kris Moore over 1 year ago

  • Category set to OS
  • Status changed from Not Started to In Progress

#2 Updated by Nick Wolff over 1 year ago

  • Severity set to Low

Seems to just need added to boot menu.

#3 Avatar?id=14398&size=24x24 Updated by Kris Moore over 1 year ago

  • Assignee changed from Kris Moore to Benno Rice
  • Priority changed from No priority to Important

This has been a support request for a while now. Benno, can you get this added to our loader menus under the advanced screen?

#6 Updated by Benno Rice about 1 year ago

  • Status changed from In Progress to Ready for Testing

#7 Updated by Dru Lavigne about 1 year ago

  • Subject changed from Add memtest support to loader to Add memtest support to loader menu
  • Target version changed from 11.2-RC2 to 11.2-BETA1
  • Needs Merging changed from Yes to No

#8 Avatar?id=55038&size=24x24 Updated by Zackary Welch about 1 year ago

  • Needs QA changed from Yes to No

Memtest option detected in loader and is functional. Is there supposed to be a blue screen for the duration of the test?

#9 Updated by Eric Turgeon about 1 year ago

  • Status changed from Ready for Testing to Passed Testing

#10 Updated by Eric Turgeon about 1 year ago

  • Status changed from Passed Testing to Failed Testing
  • Needs QA changed from No to Yes

#11 Updated by Michael Reynolds about 1 year ago

The menu option for memtest86+ is there but does not work
Booted to INTERNAL8
Hit space to interrupt the boot menu
Option 2 Configure boot options
Option 6 Test Ram (memtest86+)
All I get is a blue screen

I left the blue screen for a good 5 minutes and nothing changed.
I was using a VirtualBox virtual machine to test.

#12 Updated by Eric Turgeon about 1 year ago

I got the same thing on VirtualBox and my AMD Phenom 4 core FreeNAS server.

Michael Reynolds wrote:

The menu option for memtest86+ is there but does not work
Booted to INTERNAL8
Hit space to interrupt the boot menu
Option 2 Configure boot options
Option 6 Test Ram (memtest86+)
All I get is a blue screen

I left the blue screen for a good 5 minutes and nothing changed.
I was using a VirtualBox virtual machine to test.

#13 Updated by Dru Lavigne about 1 year ago

  • Assignee changed from Benno Rice to Alexander Motin

#14 Updated by Alexander Motin about 1 year ago

  • Status changed from Failed Testing to Screened
  • Target version changed from 11.2-BETA1 to 11.2-BETA2

#15 Updated by Alexander Motin about 1 year ago

  • Target version changed from 11.2-BETA2 to 11.2-RC2

#16 Updated by Alexander Motin about 1 year ago

  • Assignee changed from Alexander Motin to Ryan Moeller

#17 Updated by Ryan Moeller about 1 year ago

  • Status changed from Screened to In Progress

#18 Updated by Ryan Moeller about 1 year ago

Memtest has failed to run in every configuration I tested. On legacy BIOS video console systems the utility loads but gets stuck on a blank screen. On UEFI systems the utility fails to load (it doesn't appear to be compatible with the EFI loader). It also loads but freezes on a blank screen when built with SERIAL and HISPEED options for serial console support.

I also confirmed the utility is broken on stock FreeBSD systems, both from the package repository and built with SERIAL and HISPEED options from the ports tree.

In looking for alternatives in the FreeBSD ports tree, I saw memtest86 (as opposed to memtest86+), which is only for the i386 architecture, and memtester, which is a userland utility. Neither seem to be viable as a drop in replacement.

Debugging and fixing the existing port is not likely to be a trivial undertaking, as the utility is meant to be booted directly without an operating system to support development. The lack of UEFI support is also a problem.

#19 Updated by Ryan Moeller about 1 year ago

  • Status changed from In Progress to Blocked
  • Reason for Blocked set to Other: make a note in comments

Pending discussion with port maintainer.

#20 Updated by Dru Lavigne about 1 year ago

#21 Updated by Ryan Moeller 12 months ago

21695

Linking to external resources for additional info:

There is an open ticket for the FreeBSD memtest86+ port:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211204
The maintainer has identified several issues and attached several patches for testing fixes, however the work is incomplete and the patches do not produce a working memtest.

There is some discussion of various fixes for memtest86+ 5.01 in the Redhat bug tracker:
https://bugzilla.redhat.com/show_bug.cgi?id=1013110
They mention being able to produce a working binary with later versions of GCC using some flags to disable certain optimizations, and show a few out of bounds array accesses that should be fixed. Someone mentioned that the developers were unresponsive to attempts to upstream fixes.

It could be informative to further investigate the patches Redhat apply for their package.

Trying a different tack, I looked into MemTest86 (as opposed to memtest86+):
https://www.memtest86.com/
MemTest86 is still actively developed by PassMark. Support has been added for UEFI booting, 64-bit systems are supported, a graphical interface has been created, and more.
Unfortunately, development does not appear to be in the open. PassMark sell Pro and Site Editions, but there is also a Free Edition available for download. According to their license page, "MemTest86 Free Edition is free to download with no restrictions on usage."
The source for PassMark MemTest86 is contained in an archive in the USB image download. I was able to successfully build an ELF binary with a few minor tweaks to the sources (inspired by the FreeBSD port patches). The binary loaded and booted and promptly halted due to an "Unexpected Interrupt," but it is a little further than memtest86+ got. The keyboard shortcuts were still responsive, even. I've attached a photo of the screen showing the output from memtest86 after booting from the FreeBSD loader. "Unexpected Interrupt - Halting CPU0" etc is from MemTest86, not the loader.

Note: The FreeBSD port for memtest86 is based on old sources (from version 4.0b, PassMark is at V7.5) and only supports i386.

#22 Updated by Dru Lavigne 12 months ago

  • Target version changed from 11.2-RC2 to 11.2-BETA3

#23 Updated by Dru Lavigne 12 months ago

  • Status changed from Blocked to Screened
  • Target version changed from 11.2-BETA3 to 11.3
  • Reason for Blocked deleted (Other: make a note in comments)

Given the current situation, this feature will have to wait for 11.3.

#24 Updated by Ryan Moeller 6 months ago

  • Status changed from Screened to Not Started

#25 Avatar?id=14398&size=24x24 Updated by Kris Moore 3 months ago

  • Status changed from Not Started to Closed

Also available in: Atom PDF