FS#69624 - [glibc] Bug causes failure in most binaries leading to massive failure system wide
Attached to Project:
Arch Linux
Opened by Sp1d3rmxn (sp1d3rmxn) - Friday, 12 February 2021, 13:27 GMT
Last edited by Allan McRae (Allan) - Sunday, 14 February 2021, 10:25 GMT
Opened by Sp1d3rmxn (sp1d3rmxn) - Friday, 12 February 2021, 13:27 GMT
Last edited by Allan McRae (Allan) - Sunday, 14 February 2021, 10:25 GMT
|
Details
Description:
glibc critical bug shuts down all commands with an error: -> /usr/lib/libc.so.6: CPU ISA level is lower than required Additional info: Bug was known about since 2-3-21, arch package was created 2-6-21 fix appears to be available since 2-8-21 report: https://sourceware.org/bugzilla/show_bug.cgi?id=27318 patch(es): https://gitweb.gentoo.org/repo/gentoo.git/commit/sys-libs/glibc?id=5dbd6a821ff753e3b41324c4fb7c58cf65eeea33 and https://lists.openembedded.org/g/openembedded-core/topic/patch_glibc_require_full/80368976?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,80368976 Steps to reproduce: 1. upgrade 2. run any command "ls" or "dmesg" immediately you get the -> /usr/lib/libc.so.6: CPU ISA level is lower than required <- Without doing this as part of the upgrade you will be accused of doing a "partial upgrade", would like to do a proper upgrade that continues to lead to a proper running system. |
This task depends upon
Closed by Allan McRae (Allan)
Sunday, 14 February 2021, 10:25 GMT
Reason for closing: None
Additional comments about closing: Original submitter banned, so can not get more info. No-one else reporting issue.
Sunday, 14 February 2021, 10:25 GMT
Reason for closing: None
Additional comments about closing: Original submitter banned, so can not get more info. No-one else reporting issue.
Last ticket was accidental copy/paste.
Edit:
This is on machine running the latest x84_64 archlinux distro. I am not sure how much more I can answer the question because whether you like it or not the first ticket was an accidental copy/paste.
Then, glibc gets compiled for the lower ISA marker "plus a bit more that this cpu supports", but gets tagged for the next ISA level up despite the intended cpu target not fully supporting or declaring support for that level.
Hence why the upstream reporter was reporting from gentoo; on gentoo, it's routine to compile your own glibc instead of using a distro one compiled for -march=x86-64
We went with the Gentoo approach and just disabled the ISA-detection completely:
# https://lwn.net/Articles/845329/, ISA-Level breakage in glibc 2.33
# disabling all ISA level guessing for now (see https://bugs.archlinux32.org/index.php?do=details&task_id=145&status[0]=)
eval "$(
declare -f build | \
sed '
s|--prefix=/usr|--prefix=/usr libc_cv_include_x86_isa_level=no|g
'
)"
If you fiddle with --march, you are on your own basically.. :-)
I cannot imagine that guessing ISA levels is wrong for 64-bit or anything
remotely modern, so I think the bug doesn't belong here..
x86 ISA needed: x86-64-baseline
x86 ISA used: x86-64-baseline, x86-64-v2, x86-64-v3, x86-64-v4
Looks like we need the lowest level of x86-64, as expected. However, we do provide the multi-arch binary. Unless cpu detection is failing at runtime (which is different from the linked bugs and patches), we don't have a bug here.
Without more details, I think this can be closed.
Yes.
> If you fiddle with --march, you are on your own basically.. :-)
For sure.
> we don't have a bug here
Agreed. Definitely an upstream glibc issue.
Related:
https://bbs.archlinux.org/viewtopic.php?id=263371