From b7b2b14c1f1ea1d232c5a5d5901c00bd187aa841 Mon Sep 17 00:00:00 2001 From: Anuradha Talur Date: Mon, 29 Jun 2015 13:05:35 +0530 Subject: doc : Steps to analize coredumps generated by regression machines. Change-Id: Iadd879227a08d0dc0706363e7c6c30a6805e19ff Signed-off-by: Anuradha Talur Reviewed-on: http://review.gluster.org/11453 Tested-by: NetBSD Build System Reviewed-by: Shyamsundar Ranganathan --- doc/debugging/coredump-analysis.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 doc/debugging/coredump-analysis.md diff --git a/doc/debugging/coredump-analysis.md b/doc/debugging/coredump-analysis.md new file mode 100644 index 00000000000..f9ecf73216e --- /dev/null +++ b/doc/debugging/coredump-analysis.md @@ -0,0 +1,31 @@ +This document explains how to analyze core-dumps obtained from regression +machines, with examples. +1) Download the core-tarball and extract it. +2) 'cd' into the root of extracted tarball. +~~~ +[root@atalur Downloads]# pwd +/home/atalur/Downloads +[root@atalur Downloads]# ls +build build-install-20150625_05_42_39.tar.bz2 lib64 usr +~~~ +3) Determine the core file you need to examine. There can be more than one core file. +You can list them from './build/install/cores' directory. +~~~ +[root@atalur Downloads]# ls build/install/cores/ +core.9341 liblist.txt liblist.txt.tmp +~~~ +In case you are unsure which binary generated the core-file, executing 'file' command on it will help. +~~~ +[root@atalur Downloads]# file ./build/install/cores/core.9341 +./build/install/cores/core.9341: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from '/build/install/sbin/glusterfsd -s slave26.cloud.gluster.org --volfile-id patchy' +~~~ +As seen, the core file was generated by glusterfsd binary, and path to it is provide (/build/install/sbin/glusterfsd). +4) Now, run the following command on the core: +~~~ +gdb -ex 'set sysroot ./' -ex 'core-file ./build/install/cores/core.xxx' +In this case, +gdb -ex 'set sysroot ./' -ex 'core-file ./build/install/cores/core.9341' ./build/install/sbin/glusterfsd +~~~ +5) You can cross check if all shared libraries are available and loaded by using 'info sharedlibrary' command from +inside gdb. +6) Once verified, usual gdb commands based on requirement can be used to debug the core. -- cgit