Bug 1928678

Summary: gdb [--python|-P] option removed with no workarounds provided
Product: [Fedora] Fedora Reporter: Thomas Sondergaard <thomas>
Component: gdbAssignee: Kevin Buettner <kevinb>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 34CC: jan, jan.kratochvil, keiths, kevinb, pmuldoon, sergiodj
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-06-07 22:52:43 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 Thomas Sondergaard 2021-02-15 11:06:51 UTC
Description of problem:
gdb on RHEL and Fedora up to version 8.3.50.20190816-23 supported a gdb [--python|-P] command line option that is very useful for scripting the debugger. The rpm %changelog shows this feature was removed with little ceremony:

    * Fri Aug 16 2019 Sergio Durigan Junior <sergiodj> - 8.3.50.20190816-23 - Rebase to FSF GDB 8.3.50.20190816 (8.4pre). - Drop 'gdb-testsuite-readline63-sigint.patch'. - Cleanup 'gdb-archer.patch' and remove several things, like the '-P' feature.

This feature was very useful and I would like to have it back. If it cannot be brought back could you provide instructions for a workaround?

Comment 1 Kevin Buettner 2021-02-17 17:17:39 UTC
The python -P command line option was implemented via a Fedora-specific patch. Sadly, we have a large number (at least 100) local patches which has made maintenance of Fedora GDB difficult. We are attempting to make maintenance easier by reducing the number of local patches. For patches like the -P patch which introduced a new feature, we attempt to "upstream" the patch so that the feature in question will be in upstream GDB and therefore maintained by the upstream maintainers.

That's what we attempted to do for the -P feature.

See:

https://sourceware.org/pipermail/gdb-patches/2019-July/159227.html
https://sourceware.org/pipermail/gdb-patches/2019-July/159224.html

Unfortunately, the original author of the -P feature wasn't happy with the changes that I made to his work.  You can see his comments here:

https://sourceware.org/pipermail/gdb-patches/2019-July/159266.html

As a workaround, you might be able to use one of his suggestions: "an invocation like '-ex "source blah.py"' is just as good, and can be used on older gdbs as well."

Please let me know if this works for you. If not, I'd like to understand your use case better.

Comment 2 Thomas Sondergaard 2021-02-22 08:08:57 UTC
My use case is crash dump collection and reporting to sentry.io. I put an early copy of the project up on github some years ago: https://github.com/tsondergaard/raven-crashdump. The program creates a comprehensive report and leaves it on the local system and then it uploades a GDPR/PHI (Protected Health Information) clean event to sentry.io.

The program is registered with sysctl like this: kernel.core_pattern=|/opt/raven-crashdump/sbin/raven-coredump -E=%E -p=%p -P=%P

I'm familiar with ABRT, but it did not do exactly what I wanted. I will try the 'ex "source blah.py"' approach to see if it will work for me and report back.

Comment 3 Thomas Sondergaard 2021-02-22 11:50:38 UTC
I should mention that I also opened https://sourceware.org/bugzilla/show_bug.cgi?id=27420 briefly after I opened this issue. Having the same though, apparently, as you that this feature belongs upstream.

Comment 4 Ben Cotton 2022-05-12 15:58:16 UTC
This message is a reminder that Fedora Linux 34 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 34 on 2022-06-07.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '34'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 34 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 5 Ben Cotton 2022-06-07 22:52:43 UTC
Fedora Linux 34 entered end-of-life (EOL) status on 2022-06-07.

Fedora Linux 34 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release.

Thank you for reporting this bug and we are sorry it could not be fixed.