TOOL-30782 stop depending on crash-python - #568
Merged
prakashsurya merged 1 commit intoAug 10, 2026
Conversation
This was referenced Aug 10, 2026
sebroy
approved these changes
Aug 10, 2026
`crash-python` is installed on every appliance, and nothing uses it. This is the only reference to it in the repo, no other package depends on it, and it pulls in `gdb-python` with it; i.e. we ship a second gdb toolchain, on top of the `gdb` already installed, for a tool nobody reaches for. The dependency sits in the `DEPENDS` block described just above it as "tools that are intended for human convenience. The product should not rely on them programmatically", so nothing programmatic is affected. Crash-dump inspection stays on the appliance, and stays on the tool we actually use. `sdb` and the `drgn` it's built on are in this same block and are untouched, as are `savedump` and `makedumpfile`, so dumps are still collected and still analyzed in place. `sdb` is ours, it's where the debugging effort goes, and it's what we reach for in practice; dropping `crash-python` removes the parallel path to the same place rather than any capability. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
prakashsurya
force-pushed
the
projects/tool-30782-drop-crash-python-develop
branch
from
August 10, 2026 21:01
c9c91c7 to
14a83a8
Compare
prakashsurya
enabled auto-merge (squash)
August 10, 2026 21:01
lyriclake
approved these changes
Aug 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Raising this for team input before it lands
This removes one of two ways to inspect a kernel crash dump on the appliance, standardising on the other. The equivalent change is already on
os-upgrade(#567) because it blocks the Ubuntu 26.04 build; this PR is the question of whether we want it ondeveloptoo, or whether we would rather keep the packages and pay to maintain them.Problem
crash-pythonDepends: gdb-python, andgdb-pythonbundles a readline old enough to predate C23. GCC 15 defaults to-std=gnu23, where an empty parameter list means(void), so readline's unprototyped termcap declarations turn every call into an argument-count error:Dozens of them. The cheap fix is pinning that whole tree to
-std=gnu17, which is a mitigation with no end date — it defers the problem to whenevergnu17stops being accepted, on a bundled copy of a library we do not maintain. The real fix is prototypes upstream in readline.The two packages travel together: crash-python is the Python extension layer that runs inside gdb-python, so keeping crash-python while dropping gdb-python leaves it uninstallable.
Solution
Drop the single
crash-pythonline fromDEPENDS. Companion change removes both packages from linux-pkg (#412).Neither repo is deleted — only the build and dependency entries go, so reversing this is cheap if the team disagrees.
We keep crash-dump analysis; we drop the second way of doing it
To be clear about what this does and does not change, because it is easy to read "remove crash-python" as "cannot debug dumps any more":
sdbstays installed and is unaffected. It is in this sameDEPENDSblock, and it is the tool we actually reach for — it is ours, we maintain it, and it is where the debugging effort goes.drgnstays installed. That is the enginesdbis built on, so the whole analysis path is intact.savedump,makedumpfile,libkdumpfileall stay. Dump collection is untouched.So the appliance keeps a complete collect-and-analyse story. What goes away is the crash-python/gdb-python path — the second, older way of inspecting the same dumps, which duplicates what
sdbalready does and is the only one of the two that will not build on 26.04.Put simply:
sdbis the preferred way to inspect crash dumps going forward, and this makes that the only way rather than maintaining a parallel toolchain to reach the same place.The line also sits in the
DEPENDSblock whose own comment reads "tools that are intended for human convenience. The product should not rely on them programmatically. They may be updated or replaced without regard for backward compatibility" — so nothing programmatic is affected either. It is the only reference to crash-python anywhere: no other package depends on it, it is in neither auto-sync list, and appliance-build has no references.The question for reviewers
Does anyone rely on
crash-pythonspecifically — some workflow or muscle memory thatsdbdoes not cover? If so, the alternative is keeping both packages and carrying-std=gnu17on gdb-python until readline's prototypes get fixed upstream. If not, this is straightforward consolidation onto the tool we already prefer.Testing Done
Not built on this branch. The same change is being validated on
os-upgradeby the resolute package build; results on TOOL-30782.