Closed rpajik closed 1 year ago
I'm seeing something similar in an ancient RHEL 7 VM (release 7.9, Kernel 3.10.0-1160.88.1.el7.x86_64) with needrestart v3.6:
# needrestart -wv
[main] eval /etc/needrestart/needrestart.conf
[main] needrestart v3.6
[main] running in root mode
[Core] Using UI 'NeedRestart::UI::stdio'...
[main] systemd detected
[ucode] using NeedRestart::uCode::AMD
[ucode] using NeedRestart::uCode::Intel
[uCode/AMD] #0 cpu vendor id mismatch
[uCode/Intel] #0 current revision: 0xb000040
++ iucode_tool --scan-system
++ grep -oE '[^[:space:]]+$'
+ sig=0x000406f1
+ '[' -r /sys/devices/system/cpu/cpu0/microcode/processor_flags ']'
+ filter=-S
+ test -r /etc/needrestart/iucode.sh
+ . /etc/needrestart/iucode.sh
+ type bsdtar
+ IUCODE_TOOL_EXTRA_OPTIONS=
+ test -r /etc/default/intel-microcode
+ . /etc/default/intel-microcode
++ IUCODE_TOOL_EXTRA_OPTIONS=--ignore-broken
+ test '' = no
+ '[' -r '/usr/share/misc/intel-microcode*' ']'
+ iucode_tool -l -S --ignore-broken --ignore-broken -tb /lib/firmware/intel-ucode
+ grep 0x000406f1
Use of uninitialized value $processor in concatenation (.) or string at /usr/share/perl5/vendor_perl/NeedRestart/uCode.pm line 59.
However, on the same RHEL 7.9 version on a physical host, the output ist partly similar, I'll put it here in case it may help to dug down on the error:
# needrestart -wv
[main] eval /etc/needrestart/needrestart.conf
[main] needrestart v3.6
[main] running in root mode
[Core] Using UI 'NeedRestart::UI::stdio'...
[main] systemd detected
[ucode] using NeedRestart::uCode::AMD
[ucode] using NeedRestart::uCode::Intel
[uCode/AMD] #0 cpu vendor id mismatch
[uCode/Intel] #0 current revision: 0x001f
++ iucode_tool --scan-system
++ grep -oE '[^[:space:]]+$'
+ sig=0x000206c2
+ '[' -r /sys/devices/system/cpu/cpu0/microcode/processor_flags ']'
++ cat /sys/devices/system/cpu/cpu0/microcode/processor_flags
+ filter='-s 0x000206c2,0x1'
+ test -r /etc/needrestart/iucode.sh
+ . /etc/needrestart/iucode.sh
+ type bsdtar
+ IUCODE_TOOL_EXTRA_OPTIONS=
+ test -r /etc/default/intel-microcode
+ . /etc/default/intel-microcode
++ IUCODE_TOOL_EXTRA_OPTIONS=--ignore-broken
+ test '' = no
+ '[' -r '/usr/share/misc/intel-microcode*' ']'
+ iucode_tool -l -s 0x000206c2,0x1 --ignore-broken --ignore-broken -tb /lib/firmware/intel-ucode
+ grep 0x000206c2
Use of uninitialized value $processor in concatenation (.) or string at /usr/share/perl5/vendor_perl/NeedRestart/uCode.pm line 59.
[ucode] # did not get available microcode version
[uCode/AMD] #1 cpu vendor id mismatch
[uCode/Intel] #1 current revision: 0x001f
++ iucode_tool --scan-system
++ grep -oE '[^[:space:]]+$'
+ sig=0x000206c2
+ '[' -r /sys/devices/system/cpu/cpu0/microcode/processor_flags ']'
++ cat /sys/devices/system/cpu/cpu0/microcode/processor_flags
+ filter='-s 0x000206c2,0x1'
+ test -r /etc/needrestart/iucode.sh
+ . /etc/needrestart/iucode.sh
+ type bsdtar
+ IUCODE_TOOL_EXTRA_OPTIONS=
+ test -r /etc/default/intel-microcode
+ . /etc/default/intel-microcode
++ IUCODE_TOOL_EXTRA_OPTIONS=--ignore-broken
+ test '' = no
+ '[' -r '/usr/share/misc/intel-microcode*' ']'
+ iucode_tool -l -s 0x000206c2,0x1 --ignore-broken --ignore-broken -tb /lib/firmware/intel-ucode
+ grep 0x000206c2
Use of uninitialized value $processor in concatenation (.) or string at /usr/share/perl5/vendor_perl/NeedRestart/uCode.pm line 59.
[ucode] # did not get available microcode version
Failed to check for processor microcode upgrades.
Same issue here. On a standard Debian bookworm
kvm installation (which includes systemd), needrestart does not detect the virtualised environment. Installing the libimvirt-perl
package works around the problem.
This seems to have been fixed here 27bf4678bb92f68dfadd04ab04e96cba6ea2c376, but it has not been released, and so is not present in Debian.
I got issue after upgrade Debian to Bookworm for testing. Needrestart return microcode unknown instead of the system is virtualized via kvm/qemu.
cpuinfo:
microcode processor flag:
Debian Bullseye works as expected: