public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails
@ 2010-05-29  1:35 mjw at redhat dot com
  2010-06-04 21:13 ` [Bug runtime/11641] " mjw at redhat dot com
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: mjw at redhat dot com @ 2010-05-29  1:35 UTC (permalink / raw)
  To: systemtap

testsuite/systemtap.context/fib.exp tests a recursive Fibonacci program
backtrace on function entry (which PASSes) and on return (which FAILs).

This used to work some time ago, but I have not yet found what broke this test.

What is worse is that it seemed to crash my machine while trying to investigate
the cause. But I have been unable to trigger that reliably :{

-- 
           Summary: FAIL: fib (19 1) backtrace from uretprobe fails
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
        AssignedTo: systemtap at sources dot redhat dot com
        ReportedBy: mjw at redhat dot com


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug runtime/11641] FAIL: fib (19 1) backtrace from uretprobe fails
  2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
@ 2010-06-04 21:13 ` mjw at redhat dot com
  2010-06-10 11:44 ` wenji dot huang at oracle dot com
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mjw at redhat dot com @ 2010-06-04 21:13 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From mjw at redhat dot com  2010-06-03 11:16 -------
(In reply to comment #0)
> testsuite/systemtap.context/fib.exp tests a recursive Fibonacci program
> backtrace on function entry (which PASSes) and on return (which FAILs).
> 
> This used to work some time ago, but I have not yet found what broke this test.

This is still the case.

> What is worse is that it seemed to crash my machine while trying to investigate
> the cause. But I have been unable to trigger that reliably :{

That part was related to the kernel I was running. And was fixed by:

commit c265cd259a82542abf290a6aeb058056d6c18b73
Author: Mark Wielaard <mjw@redhat.com>
Date:   Thu Jun 3 11:26:17 2010 +0200

    Replace walk_stack field version guard with autoconf test.
    
    The test for whether or not to assign print_context_stack to the
    walk_stack stacktrace_ops field depended on the kernel version.
    Replace with a proper runtime/autoconf test to make sure the field
    always gets assigned when available.
    
    * buildrun.cxx (compile_pass): Add output for STAP_CONF_WALK_STACK.
    * runtime/autoconf-walk-stack.c: New test.
    * runtime/stack.c (print_stack_ops): Assign walk_stack field
      print_context_stack depending on STAP_CONF_WALK_STACK.

-- 


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug runtime/11641] FAIL: fib (19 1) backtrace from uretprobe fails
  2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
  2010-06-04 21:13 ` [Bug runtime/11641] " mjw at redhat dot com
@ 2010-06-10 11:44 ` wenji dot huang at oracle dot com
  2010-06-10 11:49 ` mjw at redhat dot com
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: wenji dot huang at oracle dot com @ 2010-06-10 11:44 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wenji dot huang at oracle dot com  2010-06-10 08:05 -------
(In reply to comment #1)
> (In reply to comment #0)
> > testsuite/systemtap.context/fib.exp tests a recursive Fibonacci program
> > backtrace on function entry (which PASSes) and on return (which FAILs).
> > 
> > This used to work some time ago, but I have not yet found what broke this test.
> 
> This is still the case.

I did some tests, found the commit caused the regression.

commit 2325833538a1c8ace2551fdde2b5e3c522f003f2
Author: Frank Ch. Eigler <fche@elastic.org>
Date:   Mon May 3 13:45:03 2010 -0400

    uprobes: autoconf conditionalize uprobe_get_pc extension
    
    * runtime/autoconf-uprobe-get-pc.c: New file.
    * buildrun.cxx: Build it, conditionally define STAPCONF_UPROBE_GET_PC.
    * runtime/stack*.c, runtime/uprobes*/*.[ch]: Use it.  Forget
GET_PC_URETPROBE_NONE.
    * tapsets.cxx: Ditto.

The root cause is "When not called from a uretprobe hander, pass 0". The
original one is -1L. The changing to zero maybe narrow or widen some cases.

-- 


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug runtime/11641] FAIL: fib (19 1) backtrace from uretprobe fails
  2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
  2010-06-04 21:13 ` [Bug runtime/11641] " mjw at redhat dot com
  2010-06-10 11:44 ` wenji dot huang at oracle dot com
@ 2010-06-10 11:49 ` mjw at redhat dot com
  2010-06-10 11:49 ` wenji dot huang at oracle dot com
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mjw at redhat dot com @ 2010-06-10 11:49 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From mjw at redhat dot com  2010-06-10 11:17 -------
Thanks for finding this. That patch makes fibs.exp pass again for me.

-- 


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug runtime/11641] FAIL: fib (19 1) backtrace from uretprobe fails
  2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
                   ` (2 preceding siblings ...)
  2010-06-10 11:49 ` mjw at redhat dot com
@ 2010-06-10 11:49 ` wenji dot huang at oracle dot com
  2010-06-10 23:13 ` fche at redhat dot com
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: wenji dot huang at oracle dot com @ 2010-06-10 11:49 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wenji dot huang at oracle dot com  2010-06-10 08:15 -------
Created an attachment (id=4838)
 --> (http://sourceware.org/bugzilla/attachment.cgi?id=4838&action=view)
patch

The patch partly reverses the commit and can pass tests.

-- 


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug runtime/11641] FAIL: fib (19 1) backtrace from uretprobe fails
  2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
                   ` (3 preceding siblings ...)
  2010-06-10 11:49 ` wenji dot huang at oracle dot com
@ 2010-06-10 23:13 ` fche at redhat dot com
  2010-06-11 17:51 ` wenji dot huang at oracle dot com
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: fche at redhat dot com @ 2010-06-10 23:13 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From fche at redhat dot com  2010-06-10 13:52 -------
One problem with that GET_PC_URETPROBE_NONE symbol is that it is
used in contexts not guarded by STAPCONF_UPROBE_GET_PC, so causes
build breakage in the utrace-less uprobe stream.


-- 


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug runtime/11641] FAIL: fib (19 1) backtrace from uretprobe fails
  2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
                   ` (4 preceding siblings ...)
  2010-06-10 23:13 ` fche at redhat dot com
@ 2010-06-11 17:51 ` wenji dot huang at oracle dot com
  2010-06-14  8:40 ` fche at redhat dot com
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: wenji dot huang at oracle dot com @ 2010-06-11 17:51 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wenji dot huang at oracle dot com  2010-06-11 02:39 -------
(In reply to comment #5)
> One problem with that GET_PC_URETPROBE_NONE symbol is that it is
> used in contexts not guarded by STAPCONF_UPROBE_GET_PC, so causes
> build breakage in the utrace-less uprobe stream.
> 

The reference of GET_PC_URETPROBE_NONE in stack.c is guarded by
STAPCONF_UPROBE_GET_PC. As for others in uprobe/*, seems not necessary.

I tried the patch on FC13 and upstream linus kernel. No building break found.

-- 


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug runtime/11641] FAIL: fib (19 1) backtrace from uretprobe fails
  2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
                   ` (5 preceding siblings ...)
  2010-06-11 17:51 ` wenji dot huang at oracle dot com
@ 2010-06-14  8:40 ` fche at redhat dot com
  2010-06-14  9:27 ` wenji dot huang at oracle dot com
  2010-06-16 15:30 ` mjw at redhat dot com
  8 siblings, 0 replies; 10+ messages in thread
From: fche at redhat dot com @ 2010-06-14  8:40 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From fche at redhat dot com  2010-06-11 19:43 -------

> The reference of GET_PC_URETPROBE_NONE in stack.c is guarded by
> STAPCONF_UPROBE_GET_PC. As for others in uprobe/*, seems not necessary.

But there is another reference in tapsets.cxx.

> I tried the patch on FC13 and upstream linus kernel. No building break found.

Yes, but I was referring to the utrace-less uprobes variant.

But anyway, I'd like to understand why this patch makes a difference.
What code behaves differently for a kretprobe_instance* == 0 vs -1, and why?


-- 


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug runtime/11641] FAIL: fib (19 1) backtrace from uretprobe fails
  2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
                   ` (6 preceding siblings ...)
  2010-06-14  8:40 ` fche at redhat dot com
@ 2010-06-14  9:27 ` wenji dot huang at oracle dot com
  2010-06-16 15:30 ` mjw at redhat dot com
  8 siblings, 0 replies; 10+ messages in thread
From: wenji dot huang at oracle dot com @ 2010-06-14  9:27 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From wenji dot huang at oracle dot com  2010-06-12 03:03 -------
(In reply to comment #7)
> > The reference of GET_PC_URETPROBE_NONE in stack.c is guarded by
> > STAPCONF_UPROBE_GET_PC. As for others in uprobe/*, seems not necessary.
> 
> But there is another reference in tapsets.cxx.
> 
> > I tried the patch on FC13 and upstream linus kernel. No building break found.
> 
> Yes, but I was referring to the utrace-less uprobes variant.
> 
> But anyway, I'd like to understand why this patch makes a difference.
> What code behaves differently for a kretprobe_instance* == 0 vs -1, and why?
> 

Frankly speaking, I don't understand it well. Maybe the following code affects
the execution.

The function uprobe_get_pc, will check ri==0, then switch to different path.

But in caller  __stp_stack_print (stack-i386.c), it will invoke uprobe_get_pc
only when ri!=0.

So guess some cases are missing.

-- 


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug runtime/11641] FAIL: fib (19 1) backtrace from uretprobe fails
  2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
                   ` (7 preceding siblings ...)
  2010-06-14  9:27 ` wenji dot huang at oracle dot com
@ 2010-06-16 15:30 ` mjw at redhat dot com
  8 siblings, 0 replies; 10+ messages in thread
From: mjw at redhat dot com @ 2010-06-16 15:30 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From mjw at redhat dot com  2010-06-16 09:17 -------
commit fd9187dafaa1b4acbf7ff79c4da9010ef2e63ff6
Author: Wenji Huang <wenji.huang@oracle.com>
Date:   Sat Jun 12 11:03:59 2010 +0800

    PR11641: fix backtrace from uretprobe
    
    This will partly revert commit 23258335. When not called
    from a uretprobe hander, to pass -1 not 0 ensures all the
    cases can be covered.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


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

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2010-06-16  9:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-29  1:35 [Bug runtime/11641] New: FAIL: fib (19 1) backtrace from uretprobe fails mjw at redhat dot com
2010-06-04 21:13 ` [Bug runtime/11641] " mjw at redhat dot com
2010-06-10 11:44 ` wenji dot huang at oracle dot com
2010-06-10 11:49 ` mjw at redhat dot com
2010-06-10 11:49 ` wenji dot huang at oracle dot com
2010-06-10 23:13 ` fche at redhat dot com
2010-06-11 17:51 ` wenji dot huang at oracle dot com
2010-06-14  8:40 ` fche at redhat dot com
2010-06-14  9:27 ` wenji dot huang at oracle dot com
2010-06-16 15:30 ` mjw at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).