Bug 1307179 - microcode.service failure on AMD CPU family 0xf
microcode.service failure on AMD CPU family 0xf
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: microcode_ctl (Show other bugs)
7.2
Unspecified Linux
unspecified Severity low
: rc
: ---
Assigned To: Petr Oros
Rachel Sibley
:
: 1348987 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-12 17:41 EST by Orion Poplawski
Modified: 2016-11-04 01:33 EDT (History)
2 users (show)

See Also:
Fixed In Version: microcode_ctl-2.1-15.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-04 01:33:31 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Orion Poplawski 2016-02-12 17:41:16 EST
Description of problem:

# systemctl status microcode.service -l
● microcode.service - Load CPU microcode update
   Loaded: loaded (/usr/lib/systemd/system/microcode.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2016-02-12 13:55:49 MST; 1h 40min ago
 Main PID: 479 (code=exited, status=1/FAILURE)

Feb 12 13:55:46 phlebas.cora.nwra.com systemd[1]: Starting Load CPU microcode update...
Feb 12 13:55:46 phlebas.cora.nwra.com bash[479]: /usr/bin/bash: /sys/devices/system/cpu/microcode/reload: No such file or directory
Feb 12 13:55:49 phlebas.cora.nwra.com systemd[1]: microcode.service: main process exited, code=exited, status=1/FAILURE
Feb 12 13:55:49 phlebas.cora.nwra.com systemd[1]: Failed to start Load CPU microcode update.
Feb 12 13:55:49 phlebas.cora.nwra.com systemd[1]: Unit microcode.service entered failed state.
Feb 12 13:55:49 phlebas.cora.nwra.com systemd[1]: microcode.service failed.

I think the service should run if /sys/devices/system/cpu/microcode/reload does not exist to avoid having a spurious service failure by using:

ConditionPathExists=/sys/devices/system/cpu/microcode/reload

# dmesg | grep -Fi microcode
[    0.967818] microcode: AMD CPU family 0xf not supported

Version-Release number of selected component (if applicable):
microcode_ctl-2.1-12.el7.x86_64
Comment 2 Petr Oros 2016-06-29 08:58:27 EDT
*** Bug 1348987 has been marked as a duplicate of this bug. ***
Comment 4 Rachel Sibley 2016-08-18 14:33:48 EDT
I was able to reproduce on an amd-dinar system by adding the dis_ucode_ldr on the kernel command line, here is the before/after output. After the fix the service is inactive with no failures as the ConditionPathExists=/sys/devices/system/cpu/microcode/reload was not met


Before
===============
[root@amd-dinar-04 ~]# uname -r
3.10.0-327.el7.x86_64

[root@amd-dinar-04 ~]# rpm -q microcode_ctl
microcode_ctl-2.1-12.el7.x86_64

[root@amd-dinar-04 ~]# systemctl status microcode.service -l
● microcode.service - Load CPU microcode update
   Loaded: loaded (/usr/lib/systemd/system/microcode.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2016-08-18 13:05:44 EDT; 2min 53s ago
  Process: 937 ExecStart=/usr/bin/bash -c echo 1 > /sys/devices/system/cpu/microcode/reload (code=exited, status=1/FAILURE)
 Main PID: 937 (code=exited, status=1/FAILURE)

Aug 18 13:05:43 amd-dinar-04.lab.bos.redhat.com systemd[1]: Starting Load CPU microcode update...
Aug 18 13:05:43 amd-dinar-04.lab.bos.redhat.com bash[937]: /usr/bin/bash: /sys/devices/system/cpu/microcode/reload: No such file or directory
Aug 18 13:05:44 amd-dinar-04.lab.bos.redhat.com systemd[1]: microcode.service: main process exited, code=exited, status=1/FAILURE
Aug 18 13:05:44 amd-dinar-04.lab.bos.redhat.com systemd[1]: Failed to start Load CPU microcode update.
Aug 18 13:05:44 amd-dinar-04.lab.bos.redhat.com systemd[1]: Unit microcode.service entered failed state.
Aug 18 13:05:44 amd-dinar-04.lab.bos.redhat.com systemd[1]: microcode.service failed.

After
===================
[root@amd-dinar-04 ~]# yum update microcode_ctl-2.1-15.el7.x86_64

- reboot

[root@amd-dinar-04 ~]# systemctl status microcode.service -l 
● microcode.service - Load CPU microcode update
   Loaded: loaded (/usr/lib/systemd/system/microcode.service; enabled; vendor preset: enabled)
   Active: inactive (dead)
Condition: start condition failed at Thu 2016-08-18 14:17:16 EDT; 1min 24s ago
           ConditionPathExists=/sys/devices/system/cpu/microcode/reload was not met

Aug 18 14:17:16 amd-dinar-04.lab.bos.redhat.com systemd[1]: Started Load CPU microcode update.
Comment 6 errata-xmlrpc 2016-11-04 01:33:31 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-2399.html

Note You need to log in before you can comment on or make changes to this bug.