Bug 1100813

Summary: buildok/nfsd-detailed.stp (part of systemtap.pass1-4/buildok-dyninst.exp) regressed
Product: Red Hat Enterprise Linux 6 Reporter: Martin Cermak <mcermak>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
Status: CLOSED ERRATA QA Contact: Martin Cermak <mcermak>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.6CC: dsmith, mjw, scox, wcohen
Target Milestone: rc   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: systemtap-2.5-4.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1107616 (view as bug list) Environment:
Last Closed: 2014-10-14 06:32:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Martin Cermak 2014-05-23 13:47:05 UTC
On top of kernel-2.6.32-431.el6.i686 I see following regression:


 6.5 S i686 # rpm -q systemtap; stap -p4 ./buildok/nfsd-detailed.stp
systemtap-2.3-3.el6.i686
/root/.systemtap/cache/fa/stap_fa5c41f716dc3a5b382ce30b26675da9_217993.ko
 6.5 S i686 #




 6.5 S i686 # rpm -q systemtap; stap -p4 ./buildok/nfsd-detailed.stp
systemtap-2.5-3.el6.i686
cc1: warnings being treated as errors
/tmp/stapOXTcc9/stap_1a75912e2c19eb38f05c3b534d512b6f_218329_src.c: In function ‘function___rqstp_gid’:
/tmp/stapOXTcc9/stap_1a75912e2c19eb38f05c3b534d512b6f_218329_src.c:6143: error: cast to pointer from integer of different size
/tmp/stapOXTcc9/stap_1a75912e2c19eb38f05c3b534d512b6f_218329_src.c: In function ‘function___rqstp_uid’:
/tmp/stapOXTcc9/stap_1a75912e2c19eb38f05c3b534d512b6f_218329_src.c:6185: error: cast to pointer from integer of different size
make[2]: *** [/tmp/stapOXTcc9/stap_1a75912e2c19eb38f05c3b534d512b6f_218329_src.o] Error 1
make[1]: *** [_module_/tmp/stapOXTcc9] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compilation failed.  [man error::pass4]
 6.5 S i686 # 



problematic parts:
------------------------
probe nfsd.proc2.rename, nfsd.proc3.rename, nfsd.proc4.rename ?
{
        printf("%d %d\n", uid, gid)
}

Comment 1 David Smith 2014-05-28 21:02:14 UTC
Upstream commit 6230ede fixes this issue. It should easily backport.

Comment 2 Martin Cermak 2014-06-09 11:17:33 UTC
Looks good to me using c6c7b81a1 on RHEL6 all supported arches (tested with c6c7b81a1 sources). 

However on rhel7 (kernel-3.10.0-123.el7) I see issues on s390x and ppc64:

=======

 7.0 S s390x # stap -p4 ./buildok/nfsd-detailed.stp
semantic error: No cfa_ops supplied, but needed by DW_OP_call_frame_cfa: identifier '$count' at /usr/share/systemtap/tapset/linux/nfsd.stp:1174:22
        source:         count = kernel_long($count)
                                            ^

Pass 2: analysis failed.  [man error::pass2]
Number of similar error messages suppressed: 59.
Rerun with -v to see them.

=======

 7.0 S ppc64 # stap -p4 ./buildok/nfsd-detailed.stp
semantic error: not accessible at this address (pc: 0x18178) [man error::dwarf]: identifier '$rqstp' at /usr/share/systemtap/tapset/linux/nfsd.stp:1099:33
        dieoffset: 0x4e67a from /usr/lib/debug/lib/modules/3.10.0-123.el7.ppc64/kernel/fs/nfsd/nfsd.ko.debug
        function: nfsd_open at fs/nfsd/vfs.c:814 inlined by nfsd_read at fs/nfsd/vfs.c:1120
        alternative locations: [0x1818c,0x1819f], [0x1819f,0x18440], [0x18440,0x1852c], [0x1852c,0x18634], [0x18634,0x18678], [0x18678,0x186bc], [0x186bc,0x186cc], [0x186cc,0x186ec]
        source:         client_ip = addr_from_rqst_str($rqstp)
                                                       ^

Pass 2: analysis failed.  [man error::pass2]
Number of similar error messages suppressed: 7.
Rerun with -v to see them.

=======

This is a RHEL7 specific issue though. Feel free to clone this comment to a separate BZ if you wish.

Comment 3 David Smith 2014-06-09 16:57:30 UTC
(In reply to Martin Cermak from comment #2)
> Looks good to me using c6c7b81a1 on RHEL6 all supported arches (tested with
> c6c7b81a1 sources). 

Good deal.

> However on rhel7 (kernel-3.10.0-123.el7) I see issues on s390x and ppc64:
> 
> =======
> 
>  7.0 S s390x # stap -p4 ./buildok/nfsd-detailed.stp
> semantic error: No cfa_ops supplied, but needed by DW_OP_call_frame_cfa:
> identifier '$count' at /usr/share/systemtap/tapset/linux/nfsd.stp:1174:22
>         source:         count = kernel_long($count)
>                                             ^
> 
> Pass 2: analysis failed.  [man error::pass2]
> Number of similar error messages suppressed: 59.
> Rerun with -v to see them.
> 
> =======
> 
>  7.0 S ppc64 # stap -p4 ./buildok/nfsd-detailed.stp
> semantic error: not accessible at this address (pc: 0x18178) [man
> error::dwarf]: identifier '$rqstp' at
> /usr/share/systemtap/tapset/linux/nfsd.stp:1099:33
>         dieoffset: 0x4e67a from
> /usr/lib/debug/lib/modules/3.10.0-123.el7.ppc64/kernel/fs/nfsd/nfsd.ko.debug
>         function: nfsd_open at fs/nfsd/vfs.c:814 inlined by nfsd_read at
> fs/nfsd/vfs.c:1120
>         alternative locations: [0x1818c,0x1819f], [0x1819f,0x18440],
> [0x18440,0x1852c], [0x1852c,0x18634], [0x18634,0x18678], [0x18678,0x186bc],
> [0x186bc,0x186cc], [0x186cc,0x186ec]
>         source:         client_ip = addr_from_rqst_str($rqstp)
>                                                        ^
> 
> Pass 2: analysis failed.  [man error::pass2]
> Number of similar error messages suppressed: 7.
> Rerun with -v to see them.
> 
> =======
> 
> This is a RHEL7 specific issue though. Feel free to clone this comment to a
> separate BZ if you wish.

This is certainly a different error and should be a different BZ. The original error here was a stap bug. The above issue looks like a debuginfo quality problem at first glance.

Comment 4 Martin Cermak 2014-06-10 11:18:40 UTC
Cloned the rhel7 part into bug 1107616. 

(In reply to David Smith from comment #1)
> Upstream commit 6230ede fixes this issue. It should easily backport.

Good to go for RHEL6. Thanks for the fix!

Comment 7 errata-xmlrpc 2014-10-14 06:32:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-1449.html