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

      

+3


source to share


3 answers


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.

+3


source


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.



+2


source


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.

-3


source







All Articles