libdwfl failure?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

libdwfl failure?

Michael Dolan-2
I get the following errors when trying to execute a tap script... this
happens with just about any tap file I use...

Any ideas?

localhost bin # ./stap test.stp -v
Created temporary directory "/tmp/stapMvpywO"
Searched
'/usr/local/share/systemtap/tapset/2.6.14-gentoo-r5mdolan/i686/*.stp',
match count 0
Searched
'/usr/local/share/systemtap/tapset/2.6.14-gentoo-r5mdolan/*.stp', match
count 2
Searched '/usr/local/share/systemtap/tapset/2.6.14-gentoo/i686/*.stp',
match count 0
Searched '/usr/local/share/systemtap/tapset/2.6.14-gentoo/*.stp', match
count 0
Searched '/usr/local/share/systemtap/tapset/2.6/i686/*.stp', match count 0
Searched '/usr/local/share/systemtap/tapset/2.6/*.stp', match count 0
Searched '/usr/local/share/systemtap/tapset/i686/*.stp', match count 0
Searched '/usr/local/share/systemtap/tapset/*.stp', match count 8
Pass 1: parsed user script and 10 library script(s).
semantic error: libdwfl failure (dwfl_linux_kernel_report_kernel): No
such file or directory
         while: resolving probe point kernel.function("do_execve")
parsed 'sys_open' -> func 'sys_open'
semantic error: cannot find kernel debuginfo
         while: resolving probe point kernel.function("sys_open")
parsed 'sys_read' -> func 'sys_read'
semantic error: cannot find kernel debuginfo
         while: resolving probe point kernel.function("sys_read")
parsed 'sys_write' -> func 'sys_write'
semantic error: cannot find kernel debuginfo
         while: resolving probe point kernel.function("sys_write")
Pass 2: analyzed user script.  0 probe(s), 0 function(s), 1 global(s).
Pass 2: analysis failed.  Try again with '-v' (verbose) option.
Running rm -rf /tmp/stapMvpywO

Reply | Threaded
Open this post in threaded view
|

RE: libdwfl failure?

Stone, Joshua I
Michael K. Dolan Jr. wrote:
> I get the following errors when trying to execute a tap script... this
> happens with just about any tap file I use...

Likely you are missing the debuginfo for your kernel.  From the README:

Tips :
------
- Systemtap looks for the debug info in these locations
  /boot/vmlinux-`uname -r`
  /usr/lib/debug/lib/modules/`uname -r`/vmlinux
  /lib/modules/`uname -r`/vmlinux

So make sure that you have vmlinux in one of those locations.


All- would it be hard to output a better error message, instead of "No
such file or directory"?


Josh

Reply | Threaded
Open this post in threaded view
|

RE: libdwfl failure?

Stone, Joshua I
In reply to this post by Michael Dolan-2
Michael K. Dolan Jr. wrote:
>is it possible to change this?
>
>my vmlinux is in /lib/modules/'uname -r'/build/vmlinux

The search path is defined by the elfutils library, so I'm going to
refer this question back to the list.  In the mean time, you can just
create a symbolic link in one of the existing search paths.

Josh
Reply | Threaded
Open this post in threaded view
|

RE: libdwfl failure?

Roland McGrath
> The search path is defined by the elfutils library, so I'm going to
> refer this question back to the list.  

The library already allows more flexibility than the translator uses.  If
we get clear on exactly what controls we want available to tell the
translator where to look for kernel and module binaries, the any details
can be easily changed as necessary in the library to facilitate it.  If
there is not already one, please file a BZ item for allowing switches to
the translator to specify where to look for binaries.  


Thanks,
Roland
Reply | Threaded
Open this post in threaded view
|

Re: libdwfl failure?

Michael Dolan-2
In reply to this post by Stone, Joshua I


Stone, Joshua I wrote:

>Michael K. Dolan Jr. wrote:
>  
>
>>I get the following errors when trying to execute a tap script... this
>>happens with just about any tap file I use...
>>    
>>
>
>Likely you are missing the debuginfo for your kernel.  From the README:
>
>Tips :
>------
>- Systemtap looks for the debug info in these locations
>  /boot/vmlinux-`uname -r`
>  /usr/lib/debug/lib/modules/`uname -r`/vmlinux
>  /lib/modules/`uname -r`/vmlinux
>
>So make sure that you have vmlinux in one of those locations.
>
>
>All- would it be hard to output a better error message, instead of "No
>such file or directory"?
>
>
>Josh
>
>
>
>  
>

FYI, I got it to work using a symlink

With Gentoo, I had to drop a symlink in /lib/modules/uname -r/

vmlinux -> /usr/src/linux/vmlinux

SystemTap officially works on Gentoo. Ran a few test scripts and
everything works.