-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Current x86-64 microarchitecture is unsupported even though all flags are present #1182
Comments
Hi @cseres3. Thank you for the report and provided data. I checked the data and I can confirm it's really bug in the
while the original
See that for the
The problematic code is here: leapp-repository/repos/system_upgrade/common/actors/scancpu/libraries/scancpu.py Line 141 in 6421225
|
Playing a little bit around:
I haven't checked the kernel code generating the /proc/cpuinfo file whether it's safe or not to do it in this way. If we are sure that there is not a |
Thank you for finding the problematic code! |
@cseres3 yeah, it's unfortunate it's not on EL7, as I found that yesterday also :D it was very short happy moment. but for future I definitely vote to consume the json output instead of manual parsing. |
Original solution expected always ``key: val`` pair on each line. However, it has not been expected that val could be actually empty string, which would lead to situation where the following line is interpreted as a value. The new solution updates the parsing for output on RHEL 7, but also calls newly ``lscpu -J`` on RHEL 8+ to obtain data in the JSON format, which drops all possible parsing problems from our side. Fixes oamg#1182
Original solution expected always ``key: val`` pair on each line. However, it has not been expected that val could be actually empty string, which would lead to situation where the following line is interpreted as a value. The new solution updates the parsing for output on RHEL 7, but also calls newly ``lscpu -J`` on RHEL 8+ to obtain data in the JSON format, which drops all possible parsing problems from our side. Fixes oamg#1182
Original solution expected always ``key: val`` pair on each line. However, it has not been expected that val could be actually empty string, which would lead to situation where the following line is interpreted as a value. The new solution updates the parsing for output on RHEL 7, but also calls newly ``lscpu -J`` on RHEL 8+ to obtain data in the JSON format, which drops all possible parsing problems from our side. Fixes oamg#1182
@cseres3 hi, we have a fix ready. Could you please check that it solves your issue? |
Sure, I can test it gladly. What should I do to get the fixed version? |
Probably the easiest way is to install leapp-repository build that contains the fix https://copr.fedorainfracloud.org/coprs/g/oamg/leapp/build/7046991/ |
Hi, |
Sure! Something like this will install you the recent version of leapp-repository PR1184 .
|
Thanks a lot!
|
Sorry, Friday vibes - I was so eager to tell how to get leapp bits installed that completely forgot that your issue was not with rhel upgrades with leapp but with alma upgrades with elevate :) |
@cseres3 : @fernflower is right. In case you want to upgrade Almlinux, you need to apply the patch in the elevate project. Fixing that one particular actor on your machine locally, seems like most simple way right now. |
I was able to patch the file scancpu.py manually (Hunk #2 failed for some reason, but I modified those few lines manually). I can confim that the false inhibitor is now gone and the fix seems to work. Thank you again! |
Thank you for the feedback. We will close the issue once we merge it. |
Original solution expected always ``key: val`` pair on each line. However, it has not been expected that val could be actually empty string, which would lead to situation where the following line is interpreted as a value. The new solution updates the parsing for output on RHEL 7, but also calls newly ``lscpu -J`` on RHEL 8+ to obtain data in the JSON format, which drops all possible parsing problems from our side. Fixes #1182
Original solution expected always ``key: val`` pair on each line. However, it has not been expected that val could be actually empty string, which would lead to situation where the following line is interpreted as a value. The new solution updates the parsing for output on RHEL 7, but also calls newly ``lscpu -J`` on RHEL 8+ to obtain data in the JSON format, which drops all possible parsing problems from our side. Fixes oamg#1182 (cherry picked from commit 050620e)
Original solution expected always ``key: val`` pair on each line. However, it has not been expected that val could be actually empty string, which would lead to situation where the following line is interpreted as a value. The new solution updates the parsing for output on RHEL 7, but also calls newly ``lscpu -J`` on RHEL 8+ to obtain data in the JSON format, which drops all possible parsing problems from our side. Fixes oamg#1182 (cherry picked from commit 050620e)
Actual behavior
I am trying to upgrade from AlmaLinux8 to AlmaLinux9 using elevate-ng. Preupgrade gives me inhibitor "Current x86-64 microarchitecture is unsupported in RHEL9", "Missings flags detected are: cmov, cx8, fpu, fxsr, mmx, syscall, sse, sse2, cx16, lahf_lm, popcnt, pni, sse4_1, sse4_2, ssse3". However cat /proc/cpuinfo lists all of them and I have successfully upgraded another VM in the same Proxmox VE virtualization environment.
# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 85 model name : Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz stepping : 7 microcode : 0x5003302 cpu MHz : 2194.842 cache size : 16384 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 22 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat umip pku ospke avx512_vnni md_clear arch_capabilities bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs taa mmio_stale_data retbleed eibrs_pbrsb gds bogomips : 4389.68 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management:
To Reproduce
Steps to reproduce the behavior
Expected behavior
Preupgrade should success, because CPU Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz is supported for RHEL9.
System information:
AlmaLinux release 8.9 (Midnight Oncilla)
Linux finlaysoninsaa.fi 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 x86_64 x86_64 GNU/Linux
rpm -qa "leapp"
Log files attached:
leapp-logs.tar.gz
Additional context
The processor type for this VM is set to 'host' in Proxmox VE. In the other VM which I successfully upgraded using leapp, this solved the microarchitecture error.
The text was updated successfully, but these errors were encountered: