Bug 2100393
| Summary: | ovn binaries crashes with Illegal instruction (core dumped) on certain CPU models | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux Fast Datapath | Reporter: | Yatin Karel <ykarel> | |
| Component: | openvswitch2.17 | Assignee: | Ales Musil <amusil> | |
| Status: | CLOSED ERRATA | QA Contact: | Zhiqiang Fang <zfang> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | FDP 22.B | CC: | amusil, ctrautma, dhill, dmarchan, jhsiao, jiji, jishi, ralongi, zfang | |
| Target Milestone: | --- | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | openvswitch2.17-2.17.0-28.el8fdp | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 2102618 (view as bug list) | Environment: | ||
| Last Closed: | 2022-09-06 18:49:03 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 2102618 | |||
|
Description
Yatin Karel
2022-06-23 09:12:51 UTC
So the illegal instruction is "shlx" which is part of BMI2 and the affected CPU do not support that. The cpu.c is compiled with -mbmi2 flag and others that might not be really supported (avx512, bmi1, etc.): libtool: compile: gcc -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib -I ./lib -mavx512f -mavx512bw -mavx512dq -mbmi -mbmi2 -fPIC -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wswitch-bool -Wlogical-not-parentheses -Wsizeof-array-argument -Wbool-compare -Wshift-negative-value -Wduplicated-cond -Wshadow -Wmultistatement-macros -Wcast-align=strict -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c lib/cpu.c -o lib/libopenvswitchavx512_la-cpu.o Which I am not sure if that really makes sense, as this should detect the capabilities so it shouldn't be compiled with assumptions about those capabilities. Moving to openvswitch Patch posted: https://patchwork.ozlabs.org/project/openvswitch/patch/20220623124037.252709-1-amusil@redhat.com/ I posted a more complete fix, following upstream report of AVX512 breakage, and discussion with Ilya: https://patchwork.ozlabs.org/project/openvswitch/patch/20220624072959.240183-1-david.marchand@redhat.com/ * Wed Jun 29 2022 Open vSwitch CI <ovs-ci> - 2.17.0-28
- Merging upstream branch-2.17 [RH git: f3aee3f437]
Commit list:
a77ad9693c dpif-netdev: Refactor AVX512 runtime checks. (#2100393)
ovs binaries too ... [root@undercloud-0-rhosp17 ~]# ovs-vsctl show Illegal instruction (core dumped) I got this issue with 2022-06-29T10:32:47-0400 SUBDEBUG Installed: openvswitch2.17-2.17.0-18.el9fdp.x86_64 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cpuid_fault pti ibrs ibpb tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt arat and installing the brew package -25 solved this issue. tested with vm provided by Yatin Karel, reproduced on openvswitch2.17-23: [zuul@centos-9-stream-rax-ord-0030375827 ovs2.17-23]$ ovs-vsctl --version Illegal instruction (core dumped) [zuul@centos-9-stream-rax-ord-0030375827 ovs2.17-23]$ rpm -qa | grep openvswitch openvswitch-selinux-extra-policy-1.0-31.el9s.noarch network-scripts-openvswitch2.15-2.15.0-99.el9s.x86_64 centos-release-nfv-openvswitch-1-4.el9s.noarch openvswitch2.17-2.17.0-23.el9fdp.x86_64 Verified on openvswitch2.17-28: [zuul@centos-9-stream-rax-ord-0030375827 ovs2.17-28]$ ovs-vsctl --version ovs-vsctl (Open vSwitch) 2.17.3 DB Schema 8.3.0 [zuul@centos-9-stream-rax-ord-0030375827 ovs2.17-28]$ rpm -qa | grep openvswitch openvswitch-selinux-extra-policy-1.0-31.el9s.noarch network-scripts-openvswitch2.15-2.15.0-99.el9s.x86_64 centos-release-nfv-openvswitch-1-4.el9s.noarch openvswitch2.17-2.17.0-28.el9fdp.x86_64 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 (openvswitch2.17 bug fix and enhancement update), 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://access.redhat.com/errata/RHBA-2022:6368 |