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/20307] tapset/linux/rpc.stp error


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

--- Comment #3 from David Smith <dsmith at redhat dot com> ---
This does appear to be a problem with 'private'. I've duplicated the problem on
an x86_64 rawhide system with a small test case. I believe the rpc test didn't
fail on rawhide because of kernel differences (which mean that the internal
array isn't needed). 

====
# cat tapset/foo.stp
private global __fdarray

probe kernel.function("sys_read")
{
    __fdarray[tid()] = $fd
}
probe kernel.function("sys_read").return
{
    delete __fdarray[tid()]
}

probe foo_read = kernel.function("vfs_read")
{
    fd = __fdarray[tid()]
}
#
# cat test.stp 
probe foo_read {
    printf("%d\n", fd)
    exit()
}
#
# stap -v -I tapset test.stp
Pass 1: parsed user script and 118 library scripts using
242712virt/39428res/7532shr/32124data kb, in 190usr/40sys/241real ms.
semantic error: unresolved arity-1 global array __fdarray, missing global
declaration?: identifier '__fdarray' at tapset/foo.stp:14:10
        source:     fd = __fdarray[tid()]
                         ^

Pass 2: analyzed script: 3 probes, 181 functions, 3 embeds, 1 global using
287616virt/85752res/8828shr/77028data kb, in 1580usr/240sys/1830real ms.
Pass 2: analysis failed.  [man error::pass2]
====

If you remove 'private', this small test works fine.

Note that this problem was probably not noticed during 'private' development
since on RHEL7 ppc64 there is another error in rpc.stp due to missing
debuginfo.

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