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 tapsets/15543] New: the sunrpc.clnt.clone_client probe alias is broken


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

            Bug ID: 15543
           Summary: the sunrpc.clnt.clone_client probe alias is broken
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tapsets
          Assignee: systemtap at sourceware dot org
          Reporter: dsmith at redhat dot com

On rhel7 or newer kernels, the 'servername' convenience variable of the
sunrpc.clnt.clone_client probe alias is broken:

====
stap -ve 'probe sunrpc.clnt.clone_client { printf("servername: %s\n",
servername) }'
Pass 1: parsed user script and 97 library script(s) using
211336virt/27272res/3052shr/24560data kb, in 170usr/30sys/189real ms.
semantic error: unable to find member 'cl_server' for struct rpc_clnt
(alternatives: cl_count cl_clients cl_tasks cl_lock cl_xprt cl_procinfo cl_prog
cl_vers cl_maxproc cl_protname cl_auth cl_stats cl_metrics cl_softrtry
cl_discrtry cl_autobind cl_chatty cl_rtt cl_timeout cl_nodelen cl_nodename
cl_dentry cl_parent cl_rtt_default cl_timeout_default cl_program cl_principal):
operator '->' at /usr/share/systemtap/tapset/linux/rpc.stp:279:34
        source:     servername = kernel_string($clnt->cl_server)
                                                    ^

Pass 2: analyzed script: 3 probe(s), 3 function(s), 4 embed(s), 1 global(s)
using 469156virt/145264res/4532shr/141132data kb, in 3630usr/940sys/5086real
ms.
Pass 2: analysis failed.  [man error::pass2]
====

This was caused by the following kernel change:

====
commit 4e0038b6b246e4145fc4a53dca61a556d17bc52c
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Thu Mar 1 17:01:05 2012 -0500

    SUNRPC: Move clnt->cl_server into struct rpc_xprt

    When the cl_xprt field is updated, the cl_server field will also have
    to change.  Since the contents of cl_server follow the remote endpoint
    of cl_xprt, just move that field to the rpc_xprt.

    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    [ cel: simplify check_gss_callback_principal(), whitespace changes ]
    [ cel: forward ported to 3.4 ]
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
====

The rpc.stp tapset needs to be updated to handle this kernel change.

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