This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug runtime/15783] New: inode-uprobes not handling tail recursion properly


http://sourceware.org/bugzilla/show_bug.cgi?id=15783

            Bug ID: 15783
           Summary: inode-uprobes not handling tail recursion properly
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
          Assignee: systemtap at sourceware dot org
          Reporter: dsmith at redhat dot com

On RHEL6 (2.6.32-358.6.1.el6.x86_64):

====
# gcc -g -O0 testsuite/systemtap.context/fib.c -o fib
# stap -e 'global calls, returns; probe process("fib").function("fib") { calls
<<< 1 } probe process("fib").function("fib").return { returns <<< 1 }' -c
"./fib 10"
89
calls @count=177 @min=1 @max=1 @sum=177 @avg=1
returns @count=177 @min=1 @max=1 @sum=177 @avg=1
====

On rawhide (3.11.0-0.rc0.git7.1.fc20.x86_64):

====
# gcc -g -O0 testsuite/systemtap.context/fib.c -o fib
# stap -e 'global calls, returns; probe process("fib").function("fib") { calls
<<< 1 } probe process("fib").function("fib").return { returns <<< 1 }' -c
"./fib 10"
89
calls @count=177 @min=1 @max=1 @sum=177 @avg=1
returns @count=64 @min=1 @max=1 @sum=64 @avg=1
=====

It appears that inode-uprobes is missing probe hits when tail recursion is
used. This problem was pointed out by the testsuite/systemtap.context/fib.exp
test.


Just for reference sake, on that same rawhide system (with the same 'fib'
executable), using dyninst:

====
# stap --dyninst -e 'global calls, returns; probe
process("fib").function("fib") { calls <<< 1 } probe
process("fib").function("fib").return { returns <<< 1 }' -c "./fib 10"
89
calls @count=177 @min=1 @max=1 @sum=177 @avg=1
returns @count=177 @min=1 @max=1 @sum=177 @avg=1
====

This last test shows that this isn't a compiler issue.

-- 
You are receiving this mail because:
You are the assignee for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]