0

I got a crash in corosync which I would like to view in gdb. However, currently the core dump shows me only this much info

Debug logs for core.1385 (Generated on Jul 26 10:17 BST)

[Thread debugging using libthread_db enabled]
Core was generated by `corosync -f'.
Program terminated with signal 6, Aborted.
#0 0x00007f68b2783495 in raise () from /lib64/libc.so.6
#0 0x00007f68b2783495 in raise () from /lib64/libc.so.6
#1 0x00007f68b2784c75 in abort () from /lib64/libc.so.6
#2 0x00007f68b277c60e in __assert_fail_base () from /lib64/libc.so.6
#3 0x00007f68b277c6d0 in __assert_fail () from /lib64/libc.so.6
#4 0x00007f68b3530f2c in ?? () from /usr/lib64/libtotem_pg.so.4
#5 0x00007f68b3534eaf in ?? () from /usr/lib64/libtotem_pg.so.4
#6 0x00007f68b3535259 in ?? () from /usr/lib64/libtotem_pg.so.4
#7 0x00007f68b352f108 in rrp_deliver_fn () from /usr/lib64/libtotem_pg.so.4
#8 0x00007f68b352be2a in ?? () from /usr/lib64/libtotem_pg.so.4
#9 0x00007f68b3524482 in poll_run () from /usr/lib64/libtotem_pg.so.4
#10 0x00000000004079b6 in main ()

I guess I need to install the debug info packages for corosync and whatever is libtotem_pg.so.4. How to do this?

1

Normally when you start gdb it displays a message which tells you how to install the required debug symbols.

For example:

# gdb /usr/sbin/corosync
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-110.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/corosync...Reading symbols from /usr/sbin/corosync...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Missing separate debuginfos, use: debuginfo-install corosync-2.4.3-2.el7_5.1.x86_64
(gdb) 

See that last line before the prompt:

Missing separate debuginfos, use: debuginfo-install corosync-2.4.3-2.el7_5.1.x86_64

So in this case you can install the debug symbols by running the following in shell (not in gdb):

debuginfo-install corosync-2.4.3-2.el7_5.1.x86_64

You did not specify the CentOS version that you use. The above is for CentOS 7. It works the same on CentOS 6 but you can not cut'n'paste the command because the library version is different.

  • Thanks for the approach, for me (CentOS 6.9) it's actually debuginfo-install corosync-1.4.7-5.el6.x86_64 – Serge Rogatch Jul 27 '18 at 8:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.