Skip to content
Malcolm James MacLeod edited this page Jul 10, 2021 · 2 revisions

If the program is crashing in a repeatable way, i.e. you can get it to happen again and it wasn't just a once off event. Then the absolute best information you can give developers in such a case is a stack trace.

How to get a stack trace:

  • Install gdb
  • Fetch the debug info file from github for your architecture (e.g. Gulden-2.4.3-x86_64-linux-gnu-debug.tar.gz for 64 bit linux debug info) extract and place in a folder on your harddrive, note the debug file must match the version of the software you are running; make sure to download a version that matches
  • Extract the debug info and place it alongside the executable
  • Open the application via gdb, e.g. gdb ./Gulden
  • Run the application run -t --yourargs substitute --yourargs for any flags you usually pass to Gulden (e.g. -datadir or -debug or remove it if you don't usually pass any
  • Run until the program crashes, which will now manifest as gdb pausing the program
  • Run the command thread apply all bt
  • Allow all output to print (push c if prompted to have it display it all)
  • Copy all of the output and provide it to a developer

You can do a dry run to test the above process works using the rpc command forcesigseg which will force the program to deliberately crash.

This will provide the developer with highly useful and actionable information with which they can proceed to look into the issue. It is recommended to also make a copy of your debug.log as the developer may want this as well. Once you have both of these things you can proceed to close the program and restart it.

Clone this wiki locally