Bug 2011520
Summary: | segfault in gdbserver with 32 bit binary and cpu that supports avx512 | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Paulo Andrade <pandrade> | |
Component: | gdb | Assignee: | Keith Seitz <keiths> | |
gdb sub component: | gcc-toolset-11 | QA Contact: | Michal Kolar <mkolar> | |
Status: | CLOSED ERRATA | Docs Contact: | ||
Severity: | medium | |||
Priority: | unspecified | CC: | gdb-bugs, ohudlick | |
Version: | 8.3 | Keywords: | Bugfix, Triaged | |
Target Milestone: | rc | |||
Target Release: | --- | |||
Hardware: | All | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | gcc-toolset-11-gdb-10.2-5.el8 | Doc Type: | No Doc Update | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 2019936 (view as bug list) | Environment: | ||
Last Closed: | 2022-05-10 14:16:08 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: | 2019936 |
Description
Paulo Andrade
2021-10-06 18:02:50 UTC
I have replicated the issue and am investigating a fix. Upstream does not contain this specific bug, but gdbserver still attempts to query AVX512 registers. I have a tentative patch to fix the problem. However, I run into additional problems with RHEL8 gdbserver. I do not think we will be able to target 8.6 for the system gdbserver. However, the patch is sufficient to fix GTS 11. Is that an option? [One need only install gcc-toolset-11-gdb-gdbserver if one wants to continue to use the 3+ year old system gdb.] We have a good chance of including this in GTS 11.1 release. This should be a very uncommon issue. If GTS 11 resolves the issue, we can create a document describing the condition and the workaround, of using GTS 11. Since it is an issue only for developers, it should be OK to install the newer gdb to debug 32 bit binaries. This only happens with recent cpus, with extra avx512* capabilities. To be clear: No version of gdbserver works, not even upstream. I have a patch that I've tested everywhere, and it does not work on our RHEL8 system gdbserver. It *does* work for GTS11, though. If we include a fix in GTS 11.1, users would need to install gcc-toolset-11-gdb-gdbserver. It's the server that's broken, not GDB itself. [GDB can handle native debugging in this case just fine.] If I'm reading you correctly, we should pursue getting GTS 11.1 the needed fix, and unless I hear otherwise, that's what I will do. Thanks! Thanks for the clarification. I was a bit confused with comment #1 and understood upstream did not segfault, but still attempted to read the registers. Since it is a developer tool only, and is easy to access and install, it should be completely fine to use the workaround. Recategorizing to GTS 11 for inclusion in 11.1 Reproduced with gdb-8.2-16.el8 and verified with gcc-toolset-11-gdb-10.2-5.el8. 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 (gcc-toolset-11-gdb 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:1905 |