Re: using sysprof under Ubuntu
- From: Christian Hergert <christian hergert me>
- To: sysprof-list gnome org
- Subject: Re: using sysprof under Ubuntu
- Date: Thu, 26 Oct 2017 17:43:13 -0700
On 10/26/2017 05:17 PM, Michael Gratton wrote:
I'm trying to use Sysprof to profile Geary under Ubuntu 17.10, but can't 
get any useful results out of it — the only function that ever shows up 
is "acpi_video_register". A typical call trace will look like:
[./geary]                        0.00% 8.99%
   acpi_video_register     Linux 8.99% 8.99%
     --kernel--                  0.00% 0.00%
That likely indicates that your program and the libraries it depends on 
are compiled without enough information to get relevant stack traces.
Generally, that means -fomit-frame-pointer was used (and is often the 
default on various distros).
When I'm working on GNOME software, I use the following flags in my 
JHBuild so that I can get good stack traces.
  os.environ['CFLAGS'] = '-fno-omit-frame-pointer -ggdb -O0'
Installing debuginfo packages can also help. There is the chance that 
our "try to find the .so's with debug info" code might need some 
improvement for how Debian does multi-arch (not sure, since I don't use it).
Regardless which app is selected or if it is launched via sysprof or is 
already running. The sysprof2 service is being launched when record is 
pressed after being prompted for my password, and neither sysprof nor 
sysprofd outputs any messages at all to the journal while running.
The docs suggest that I need to load a sysprof module into the kernel, 
but Ubuntu doesn't seem to ship one. Is the module still needed?
The kernel module is indeed old documentation. These days we use the 
perf feature of the Linux kernel to get stack trace information. That 
does present certain challenges, as the Linux kernel cannot do 
user-space stack unwinding.
A while back, there was a Debian bug where the Sysprof package was not 
properly bundling the helper daemon which is typically necessary. Since 
the __NR_perf_event_open syscall requires UID 0 in the configuration we 
often need, there is a daemon to do that for us (and pass an FD back to 
the UI process). Without it, you'd have to run the UI as root.
Perhaps the Ubuntu package has not received the fix that was in Debian.
-- Christian
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]