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 translator/19536] New: kretprobe data-pouch type issue


https://sourceware.org/bugzilla/show_bug.cgi?id=19536

            Bug ID: 19536
           Summary: kretprobe data-pouch type issue
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
          Assignee: systemtap at sourceware dot org
          Reporter: dsmith at redhat dot com
  Target Milestone: ---

The testsuite/semok/kretprobe-data.stp testcase seems to think that $VAR$
(should work in return probes, but they don't seem to.

Here's printing '$path' (which works) and '$path$' (which doesn't). '$path$$'
also doesn't work.

====
# stap -p2 -e 'probe kernel.function("kern_path").return { println($path) }'
# global embedded code
%{
static void *
_kretprobe_data(struct kretprobe_instance *pi, size_t offset, size_t length)
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)
        size_t end = offset + length;
        if (end > offset && pi && end <= pi->rp->data_size)
                return &pi->data[offset];
#endif
        return NULL;
}
%}
# functions
_get_kretprobe_long:long (i:long)
_set_kretprobe_long:unknown (i:long, value:long)
:long ()
# probes
kernel.function("kern_path@fs/namei.c:2242").call /* pc=_stext+0x29a628 */ /*
<- kernel.function("kern_path@fs/namei.c:2242").return */
  # locals
  __stable___private__input___dwarf_tvar_get_path_0_value:long
kernel.function("kern_path@fs/namei.c:2242").return /* pc=_stext+0x29a628 */ /*
<- kernel.function("kern_path@fs/namei.c:2242").return */
#
# stap -p2 -e 'probe kernel.function("kern_path").return { println($path$) }'
semantic error: unresolved function (similar: printk, qsq_print, __int32,
__uint32, _prctl_argstr): identifier '$path$' at <input>:1:53
        source: probe kernel.function("kern_path").return { println($path$) }


Pass 2: analysis failed.  [man error::pass2]
#
# stap -p2 -e 'probe kernel.function("kern_path").return { println($path$$) }'
semantic error: unresolved function (similar: printk, qsq_print, __int32,
__uint32, _prctl_argstr): identifier '$path$$' at <input>:1:53
        source: probe kernel.function("kern_path").return { println($path$$) }
                                                                    ^

Pass 2: analysis failed.  [man error::pass2]
====

In addition, the error message is quite odd - it doesn't complain about
'$VAR$', but that 'println' doesn't exist.

The above was on rawhide (4.5.0-0.rc0.git9.1.fc24.x86_64), but I've seen the
same thing on RHEL6.

-- 
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]