Symbol table information not available
I am testing a library from a third party and it crashes. When I wanted to see the cause of the crash, my gdb told me that there were no debug symbols available
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb53ffb70 (LWP 3722)]
0x00172a89 in tsip_transac_send () from /usr/local/lib/libtinySIP.so.0
I have issued bt full on gdb console and I am getting a series of lines like below
#0 0x00172a89 in tsip_transac_send () from /usr/local/lib/libtinySIP.so.0
No symbol table info available
I recompiled the library after checking CFLAGS in the Makefile. The values ββwere fine all along, but I recompiled it anyway
CFLAGS = -g -O2
I ran the test again with the same luck, no debug symbols for the shared library.
What am I missing here?
I am using Centos 6.0 and I installed the library in Opensuse before, but I didn't have this problem. This is probably due to my Centos installation.
If anyone cares I am testing out the Doubango library for webrtc2sip.
EDIT: Debug symbols are loading correctly
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x002fb830 0x0031339f Yes (*) /lib/ld-linux.so.2
0x00115040 0x00120028 Yes /usr/local/lib/libtinySAK.so.0
0x00133f30 0x0018b378 Yes /usr/local/lib/libtinySIP.so.0
0x001d8ac0 0x00201b98 Yes /usr/local/lib/libtinyNET.so.0
0x00215dd0 0x0023f638 Yes /usr/local/lib/libtinyDAV.so.0
0x0024eec0 0x00261728 Yes /usr/local/lib/libtinyMEDIA.so.0
0x0026bb00 0x002774d8 Yes /usr/local/lib/libtinyHTTP.so.0
0x002ae340 0x002b0358 Yes /usr/local/lib/libtinyXCAP.so.0
0x002b3990 0x002b8d18 Yes /usr/local/lib/libtinySMS.so.0
0x002be630 0x002c9388 Yes /usr/local/lib/libtinyMSRP.so.0
0x002de240 0x002e8e18 Yes /usr/local/lib/libtinySDP.so.0
0x00323060 0x00345778 Yes /usr/local/lib/libtinyRTP.so.0
Well it looks like it was a bug in gdb.
Centos 6 has version 7.2-56.el6 pre-compiled in their repository. I have updated (by compiling sources) to the latest version of gdb and it works now.
Thanks everyone for your help.
Check it out file /usr/local/lib/libtinySIP.so.0
. If it says so, check your lib build process. It can be called strip
manually to remove debug symbols.
It looks like you have conflicting compilation flags. I'm not an expert, but it looks like your flag -g
(which should generate debug symbols) is mixed with the flag -O2
(which is an optimization parameter).
Try to use only -g
and post the results.