It is most easily demonstrated by running small_demos/proc_snoop.stp. But simple
reproducer equivalent is:
probe signal.send {
printf("signal sent %d (%s) to task %d\n", sig, sig_name, task);
}
Retrieval of the task argument causes a failure. If task is not included in the
probe, it works fine.
Results:
sudo stap -vv ./signal_bug.stp
(snip)
semantic error: unable to find local 't' near pc 0xffffffff8103fcfc
(alternatives: sig q p flags ret): identifier '$t' at
/usr/local/share/systemtap/tapset/signal.stp:78:12
semantic error: unable to find local 't' near pc 0xffffffff8103fcfc
(alternatives: sig q p flags ret): identifier '$t' at :78:12
Snippet of relavant signal.stp code piece:
probe _signal.send.part3 = kernel.function("send_sigqueue")
{
name = "send_sigqueue"
%( kernel_v > "2.6.25" %?
task = $t
sig = $q->info->si_signo
%:
task = $p
sig = $sig
%)
My system setup:
rpm -q kernel kernel-devel kernel-debuginfo
kernel-2.6.25.10-86.fc9.x86_64
kernel-devel-2.6.25.10-86.fc9.x86_64
kernel-debuginfo-2.6.25.10-86.fc9.x86_64
uname -a
stap -V
Linux localhost.localdomain 2.6.25.10-86.fc9.x86_64 #1 SMP Mon Jul 7 20:23:46
EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
SystemTap translator/driver (version 0.7.1/0.133 git branch master, commit 7795c7e7)
Copyright (C) 2005-2008 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
--
Summary: Retrieval of task argument in probe signal.send on x8664
fails
Product: frysk
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: general
AssignedTo: frysk-bugzilla at sourceware dot org
ReportedBy: pmuldoon at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=6752
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.