Bug 2076410
| Summary: | gnome-software, flatpak and gnome-photos crash with invalid opcode | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Peng Huang <shawn.p.huang> |
| Component: | gnutls | Assignee: | Red Hat Crypto Team <crypto-team> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | urgent | Docs Contact: | |
| Priority: | high | ||
| Version: | 36 | CC: | ansasaki, berrange, cllang, crypto-team, dueno, dyuan, lhuang, lizhu, mschmidt, prarit, sbroz, tm, xuzhang, zfridric |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-04-05 08:58:30 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: | |||
|
Description
Peng Huang
2022-04-19 01:44:30 UTC
Thank you for the report; that seems like a regression after https://gitlab.com/gnutls/gnutls/-/merge_requests/1487 where we "fixed" CPU detection. Does it only happen on QEMU? Is avx2 available in /proc/cpuinfo? > [ 57.591535] traps: gnome-photos[2662] trap invalid opcode ip:7f516c74ba34 sp:7fff3fc5d7a8 error:0 in avx2-int8.so[7f516c74b000+2000] Actually this is unrelated to the mentioned GnuTLS change, as it (babl) has its own CPU detection code: https://gitlab.gnome.org/GNOME/babl/-/blob/1d72eaf69b906e93d0f13240835405a784996a40/extensions/avx2-int8.c#L598 So I suspect QEMU might be mis-advertising CPU features. Daniel, do you have any idea? > $ qemu-system-x86_64.exe \
> -display gtk,show-cursor=on,grab-on-hover=on,gl=off,zoom-to-fit=off \
> --accel whpx \
> -smp 10 \
> -m 10G \
> -k en \
> -drive file=${IMAGE},if=virtio \
> -device virtio-vga \
> -device virtio-net,netdev=vmnic -netdev user,id=vmnic \
> -usbdevice tablet
Given this command line, I would expect QEMU to be using 'qemu64' CPU model which has a very limited feature set and does not include AVX2.
I wonder if there's some problem with the 'whpx' accelerator not correctly exposing the CPU models.
I'd suggest this probably best reported to QEMU upstream, as my knowledge of QEMU's WHPX support is minimal.
With that qemu command line, the gest os supports AVX2 but not AVX. [penghuang@fedora ~]$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo Illegal instruction (core dumped) [penghuang@fedora ~]$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 48 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 10 On-line CPU(s) list: 0-9 Vendor ID: AuthenticAMD Model name: AMD Ryzen 9 5950X 16-Core Processor CPU family: 15 Model: 107 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 10 Stepping: 1 BogoMIPS: 6786.89 Flags: fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cm ov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apic id aperfmperf pni cx16 hypervisor lahf_lm cmp_legacy sv m 3dnowprefetch vmmcall fsgsbase bmi1 avx2 smep bmi2 er ms invpcid rdseed adx smap clflushopt clwb sha_ni xsave opt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru umip vaes vpclmulqdq rdpid fsrm Virtualization features: Virtualization: AMD-V Caches (sum of all): L1d: 320 KiB (10 instances) L1i: 320 KiB (10 instances) L2: 5 MiB (10 instances) L3: 640 MiB (10 instances) NUMA: NUMA node(s): 1 NUMA node0 CPU(s): 0-9 Vulnerabilities: Itlb multihit: Not affected L1tf: Not affected Mds: Not affected Meltdown: Not affected Spec store bypass: Not affected Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Spectre v2: Mitigation; Retpolines, STIBP disabled, RSB filling Srbds: Not affected Tsx async abort: Not affected Looks like it is a qemu bug, qemu only advertises avx2 but not avx. However `vzeroupper` is an avx instruction. So only testing avx2 feature is not sufficient. *** Bug 2072865 has been marked as a duplicate of this bug. *** Hi, Prarit I think this bug should be related to the CPU features. Bug #2072865 is related to watchdog drviers, and Bug #2072865 should be a duplicate bug of #2074160. Please help to check. (In reply to Lili Zhu from comment #7) > Hi, Prarit > > I think this bug should be related to the CPU features. Bug #2072865 is > related to watchdog drviers, and Bug #2072865 should be a duplicate bug of > #2074160. Please help to check. I'm not sure I follow how this BZ is related to watchdog BZs? Could you elaborate on why you think watchdog code is responsible for an invalid opcode? P. Hi, Prarit 1)I found you marked this bug is a duplicate bug #2072865. I do not think this bug is a duplicate bug of bug #2072865. Bug #2072865 is related to watchdog driver. IIUC, this bug seems to be nothing to do with watchdog driver. If I am wrong, please correct me. 2) Bug #2072865 is indeed a duplicate bug, but it is a duplicate bug of Bug #2074160. Please help to check. Thanks This is fixed in gnutls>=3.7.8: https://gitlab.com/gnutls/gnutls/-/issues/1282 This does seem to be the same issue as gnutls MR 1282. Please re-open if this still persists. |