This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: updated example scripts
- From: David Smith <dsmith at redhat dot com>
- To: Stuart Kendrick <stuart dot kendrick dot sea at gmail dot com>, systemtap at sourceware dot org
- Date: Wed, 22 Jan 2014 08:56:28 -0600
- Subject: Re: updated example scripts
- Authentication-results: sourceware.org; auth=none
- References: <CAACXELna5o2cj7UQnEz2B_ubYZw9BGCso8a0fWvPkfWvj6xEiQ at mail dot gmail dot com>
Sorry for the late reply to this. I meant to respond earlier, but got
sidetracked...
On 01/10/2014 11:26 AM, Stuart Kendrick wrote:
> I have just installed systemtap-2.4 under Precise Pangolin
> I compiled using gcc-4.8.1
>
> Linux ubuntu 3.8.0-35-generic #50~precise1-Ubuntu SMP Wed Dec 4
> 17:25:51 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>
> Some of the example scripts run: dropwatch.stp and tcp_connections.stp...
>
> But some do not: nettop.stp, socktop, tcp_trace.stp ...
>
> The failing ones throw dwarf errors:
> ./nettop.stp
>
> semantic error: not accessible at this address [man error::dwarf]
> (0xffffffff815e6870, dieoffset: 0x54970df): identifier '$skb' at
> /usr/local/share/systemtap/
> tapset/linux/networking.stp:82:27
> source: dev_name = kernel_string($skb->dev->name)
> ^
> Pass 2: analysis failed. [man error::pass2]
> Number of similar error messages suppressed: 15.
> Rerun with -v to see them.
>
> The failing ones throw dwarf errors:
> ./nettop.stp
>
> semantic error: not accessible at this address [man error::dwarf]
> (0xffffffff815e6870, dieoffset: 0x54970df): identifier '$skb' at
> /usr/local/share/systemtap/tapset/linux/networking.stp:82:27
> source: dev_name = kernel_string($skb->dev->name)
> ^
> Pass 2: analysis failed. [man error::pass2]
> Number of similar error messages suppressed: 15.
> Rerun with -v to see them.
>
> I'm guessing that these scripts are running into the challenges of
> finding particular variables:
> https://sourceware.org/systemtap/wiki/TipContextVariables"
>
> Has anyone twinked with one or more of the three scripts above in such
> a way as to make them more likely to run under 3.8.0-x?
We don't guarantee that all examples run everywhere. Some examples were
written to a specific kernel feature that may not exist in current kernels.
In the case of nettop.stp, it compiles fine for me on
2.6.32-431.3.1.el6.x86_64 and 3.13.0-0.rc8.git4.1.fc21.x86_64. I don't
seem to have a 3.8 kernel lying around.
Your error above isn't coming from nettop.stp exactly, it is coming from
tapset/linux/networking.stp. It is odd that you can't find $skb. Try the
following command:
# stap -L 'kernel.function("dev_queue_xmit")'
--
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)