This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
RE: tcp_test.stp failed to run in my IA64 box
- From: "Mao, Bibo" <bibo dot mao at intel dot com>
- To: "David Smith" <dsmith at redhat dot com>
- Cc: "Systemtap List" <systemtap at sources dot redhat dot com>
- Date: Fri, 21 Jul 2006 15:12:31 +0800
- Subject: RE: tcp_test.stp failed to run in my IA64 box
My kernel version is RHEL4-U3, and elfutils is 0.122, it failed in my IA64 box but succeeded in my x86_64 box, I doubt whether there is something architecture relative about $return value parsing.
Thanks
Bibo,mao
>-----Original Message-----
>From: systemtap-owner@sourceware.org [mailto:systemtap-owner@sourceware.org]
>On Behalf Of David Smith
>Sent: 2006年7月20日 22:38
>To: Mao, Bibo
>Cc: Systemtap List
>Subject: Re: tcp_test.stp failed to run in my IA64 box
>
>On Thu, 2006-07-20 at 19:45 +0800, bibo,mao wrote:
>> hi,
>> tcp_test.stp failed to run in my IA64 box, it can not resolve $return
>variant.
>> I simplified the test case like this
>> probe kernel.function("tcp_sendmsg").return {
>> size = $return
>> if (size > 0) {
>> send_bytes += size
>> }
>> }
>>
>> The following the error compiling message.
>>
>> Pass 1: parsed user script and 39 library script(s) in 463usr/4sys/468real
>ms.
>> parsed 'tcp_sendmsg' -> func 'tcp_sendmsg'
>> pattern 'kernel' matches module 'kernel'
>> focused on module 'kernel' = [a000000100000000-a0000001018f6f28, bias 0]
>> pattern 'tcp_sendmsg' matches function 'tcp_sendmsg'
>> selected function tcp_sendmsg
>> prologue searching function 'tcp_sendmsg'
>0xa0000001004d51a0-0xa0000001004d7b60@net/ipv4/tcp.c:788
>> checking line record 0xa0000001004d51a0@net/ipv4/tcp.c:788
>> checking line record 0xa0000001004d51a1@net/ipv4/tcp.c:788
>> checking line record 0xa0000001004d51a2@net/ipv4/tcp.c:788
>> checking line record 0xa0000001004d51b0@net/ipv4/tcp.c:788
>> checking line record 0xa0000001004d51b1@net/ipv4/tcp.c:797
>> prologue found function 'tcp_sendmsg' = 0xa0000001004d51b1
>> literal_stmt_for_return: finding return value for
>tcp_sendmsg(net/ipv4/tcp.c)
>> literal_stmt_for_return: finding return value for
>tcp_sendmsg(net/ipv4/tcp.c)
>> probe tcp_sendmsg@net/ipv4/tcp.c:788 pc=0xa0000001004d51a0
>> pattern 'kernel' matches module 'kernel'
>> keeping expression operator '=' at 1.stp:2:7 because it writes: size and/or
>embedded: 0
>> keeping expression operator '+=' at 1.stp:4:14 because it writes: send_bytes
>and/or embedded: 0
>> semantic error: unresolved target-symbol expression: identifier '$return' at
>1.stp:2:9
>> semantic error: unresolved target-symbol expression: identifier '$return' at
>1.stp:2:9
>> semantic error: unresolved target-symbol expression: identifier '$return' at
>1.stp:2:9
>> semantic error: unresolved target-symbol expression: identifier '$return' at
>1.stp:2:9
>> Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 global(s) in
>254usr/22sys/278real ms.
>> Pass 2: analysis failed. Try again with more '-v' (verbose) options.
>> Running rm -rf /tmp/stapupBbik
>> :
>
>This works fine for me on my x86 box. Questions:
>
>- What kernel was the system running?
>
>- What version of elfutils was the system running? If it wasn't running
>the latest version (0.122), can you upgrade and try again?
>
>--
>David Smith
>dsmith@redhat.com
>Red Hat, Inc.
>http://www.redhat.com
>256.217.0141 (direct)
>256.837.0057 (fax)