Further enhancements for the tools for collecting crash artefacts
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 113
- Forks
- 18
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 23
Description
As was proposed by @Totktonada in his review, I made a list for the required follow-up activity related to both tarabrt.sh and gdb.sh introduced in scope of tarantool/tarantool#5569. Major changes relate to the case when debug info is stripped from the Tarantool binary (e.g. in CentOS 8 binary packages until tarantool/tarantool#4611 is resolved). The following enhancements should to be done for the tools:
- Provide long alternatives for the existing options (e.g.
-h/--help) - Warn
gdb.shuser whether Tarantool binary is stripped - Provide an instruction how to enable the ELF with debug symbols, so it can be loaded by
gdb.shautomatically - Provide an URL from where debuginfo package may be downloaded and give advice how to unpack it (in
gdb.shoutput, when we see the stripped executable)Examples:
$ curl -LfsS https://download.tarantool.org/tarantool/release/2.8/el/8/x86_64/Packages/tarantool-debuginfo-2.8.0.0-1.el8.x86_64.rpm > tarantool-debuginfo-2.8.0.0-1.el8.x86_64.rpm
$ mkdir tarantool-debuginfo-2.8.0.0-1.el8.x86_64.rpm.unpack
$ cd tarantool-debuginfo-2.8.0.0-1.el8.x86_64.rpm.unpack
$ rpm2cpio ../tarantool-debuginfo-2.8.0.0-1.el8.x86_64.rpm | cpio -idmv
./usr/lib/debug
./usr/lib/debug/.build-id
./usr/lib/debug/.build-id/a3
./usr/lib/debug/.build-id/a3/ad84db98a9b14e70d2915271904ddfe26b5f60
./usr/lib/debug/.build-id/a3/ad84db98a9b14e70d2915271904ddfe26b5f60.debug
./usr/lib/debug/usr
./usr/lib/debug/usr/bin
./usr/lib/debug/usr/bin/tarantool-2.8.0.0-1.el8.x86_64.debug
64743 blocks
(All are symlinks except tarantool-2.8.0.0-1.el8.x86_64.debug.)
$ file usr/lib/debug/usr/bin/tarantool-2.8.0.0-1.el8.x86_64.debug
usr/lib/debug/usr/bin/tarantool-2.8.0.0-1.el8.x86_64.debug: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter \004, for GNU/Linux 3.2.0, BuildID[sha1]=a3ad84db98a9b14e70d2915271904ddfe26b5f60, with debug_info, not stripped, too many notes (256)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading tools/tarabrt.sh and tools/gdb.sh, then review the linked proposal and existing option handling and stripped-binary behavior. Done means implementing the listed long options, stripped-binary warning, debug-symbol guidance, and debuginfo download and unpack instructions in gdb.sh output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100