Skip to content

Providing Backtraces

Joshua Strobl edited this page Dec 9, 2020 · 2 revisions

To ensure the best results and facilitate resolution when reporting segfaults, it is highly recommended that a backtrace, generated by gdb, be provided.

This document will provide instructions, some of which may be OS-specific, for generating a file containing the backtrace. Please note that you must have the debug symbols for Budgie Desktop installed on your system. This may already be the case if you built Budgie Desktop yourself, but we provide some OS-specific instructions below.

Dependencies

Debug Symbols

  • Solus: sudo eopkg install budgie-desktop-dbginfo

GDB

The GNU Project Debugger is widely available across various Linux-based operating systems. We recommend using the instructions below for installing the debugger, though if you are familiar with the package manager of the operating system of your choice, typically the package is gdb and you can install using your package manager's typical installation command(s).

  • Solus: sudo eopkg install gdb

Generating a Backtrace

First, replace your existing budgie-panel with one managed by gdb and pipe the output into the referenced file:

gdb budgie-panel 2&>1 | tee ~/budgie-panel-gdb.txt

Once you're in gdb, you will be presented with a prompt showing (gdb). Type r --replace and press ENTER / Return. It should replace your budgie-panel.

Next, perform the actions required to cause the segfault. You should see something like Thread 1 "budgie-panel" received signal SIGSEGV, Segmentation fault. Press Enter / Return and you should now see a (gdb) prompt again.

Type backtrace full and press Enter / Return. This may provide a considerable backtrace of content.

Once it is done and you see the (gdb) prompt, type quit and upload the txt file generated in the bug report. You bring back your budgie panel by opening a Terminal and typing budgie-panel --replace &! then pressing Ctrl+D to detach from that process.

Clone this wiki locally