Bug 611263 - Unable to read debuginfo from most libraries
Summary: Unable to read debuginfo from most libraries
Alias: None
Product: Fedora
Classification: Fedora
Component: oprofile (Show other bugs)
(Show other bugs)
Version: 13
Hardware: All Linux
Target Milestone: ---
Assignee: William Cohen
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2010-07-04 14:52 UTC by Felipe Contreras
Modified: 2011-06-27 19:25 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2011-06-27 19:25:27 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Felipe Contreras 2010-07-04 14:52:22 UTC
First I make sure that my debuginfo is up-to-date:

% rpm -q glib2 glib2-debuginfo gstreamer gstreamer-debuginfo

I start the profiling with a very simple test:
% gst-launch fakesrc ! fakesink

This is what I get:
% opreport -l /usr/bin/gst-launch-0.10

samples  %        image name               symbol name
61331    20.9981  libglib-2.0.so.0.2400.1  /lib/libglib-2.0.so.0.2400.1
37007    12.6702  libgobject-2.0.so.0.2400.1 /lib/libgobject-2.0.so.0.2400.1
29750    10.1856  libc-2.12.so             vfprintf
20371     6.9745  libgstreamer-0.10.so.0.25.0 /usr/lib/libgstreamer-0.10.so.0.25.0

Obviously oprofile is not finding the debug symbols.

% rpm -q --whatprovides /lib/libglib-2.0.so.0.2400.1

Version of oprofile:

Comment 1 William Cohen 2010-07-20 15:34:08 UTC
I am able to replicate this on a x86_64 f13 machine.

[root@dhcp231-201 var]# rpm -q glib2 glib2-debuginfo gstreamer gstreamer-debuginfo

[root@dhcp231-201 var]# opcontrol --setup --no-vmlinux --separate=library
[root@dhcp231-201 var]# opcontrol --start
Using default event: CPU_CLK_UNHALTED:100000:0:1:1
Using 2.6+ OProfile kernel interface.
Using log file /var/lib/oprofile/samples/oprofiled.log
Daemon started.
Profiler running.
[root@dhcp231-201 var]# gst-launch fakesrc ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 9481999498 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
[root@dhcp231-201 var]# opcontrol --shutdown
Stopping profiling.
Killing daemon.
[root@dhcp231-201 var]# opreport -l /usr/bin/gst-launch-0.10 -t 1
CPU: AMD64 family10, speed 1000 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 100000
samples  %        image name               symbol name
57300    31.5240  libglib-2.0.so.0.2400.1  /lib64/libglib-2.0.so.0.2400.1
28295    15.5667  libgobject-2.0.so.0.2400.1 /lib64/libgobject-2.0.so.0.2400.1
19487    10.7209  libc-2.12.so             vfprintf
13562     7.4612  libc-2.12.so             _IO_default_xsputn
11277     6.2041  libgstreamer-0.10.so.0.25.0 /usr/lib64/libgstreamer-0.10.so.0.25.0
7706      4.2395  libgstbase-0.10.so.0.25.0 /usr/lib64/libgstbase-0.10.so.0.25.0
5005      2.7535  libpthread-2.12.so       pthread_mutex_lock
4200      2.3107  libc-2.12.so             _int_malloc
4142      2.2788  libpthread-2.12.so       pthread_mutex_unlock
3845      2.1154  libc-2.12.so             _int_free
2956      1.6263  libc-2.12.so             strchrnul
2654      1.4601  libc-2.12.so             memset
2460      1.3534  libc-2.12.so             memcpy
2345      1.2901  libc-2.12.so             _itoa_word

There appears to be debuginfo for one of the problem files:

[root@dhcp231-201 var]# nm /usr/lib/debug/lib64/libglib-2.0.so.0.2400.1.debug |more
00000000000e13a0 r CSWTCH.259
00000000000e1400 r CSWTCH.262
00000000000df320 r CSWTCH.42
00000000000dfc60 r CSWTCH.63
000000000009d7e0 r CSWTCH.75
000000000009be00 r CSWTCH.93
000000000005b530 t IA__g_access
0000000000016ac0 t IA__g_array_append_vals
0000000000015f10 t IA__g_array_free
00000000000158a0 t IA__g_array_get_element_size
0000000000016930 t IA__g_array_insert_vals
0000000000016850 t IA__g_array_new

Look at the the output of:

 opreport --verbose=all -l /usr/bin/gst-launch-0.10 -t 1 >& /tmp/logs

Below is the section of the output related to libglib-2.0.so.0.2400.1,
the "number of symbols before filtering" (1) looks suspect:

op_bfd ctor for /lib64/libglib-2.0.so.0.2400.1
bfd_info::get_symbols() for /lib64/libglib-2.0.so.0.2400.1
bfd_get_symtab_upper_bound: 8
bfd_canonicalize_symtab: 0
fetching .gnu_debuglink section
.gnu_debuglink section has size 24
.gnu_debuglink filename is libglib-2.0.so.0.2400.1.debug
looking for debugging file libglib-2.0.so.0.2400.1.debug with crc32 = 77956051
found /usr/lib/debug/lib64/libglib-2.0.so.0.2400.1.debug with crc32 = 77956051
now loading: /usr/lib/debug/lib64/libglib-2.0.so.0.2400.1.debug
bfd_info::get_symbols() for /usr/lib/debug/lib64/libglib-2.0.so.0.2400.1.debug
bfd_get_symtab_upper_bound: 35952
bfd_canonicalize_symtab: 4493
number of symbols before filtering 1
number of symbols now 1
start_offset is now 0
symbol /lib64/libglib-2.0.so.0.2400.1, value 0
start 0, end fc140

Comment 2 Felipe Contreras 2011-02-04 21:15:56 UTC
Any progress on this?

Comment 3 Bug Zapper 2011-06-01 14:47:11 UTC
This message is a reminder that Fedora 13 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 13.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '13'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 13's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 13 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 

Comment 4 Bug Zapper 2011-06-27 19:25:27 UTC
Fedora 13 changed to end-of-life (EOL) status on 2011-06-25. Fedora 13 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.