Bug 625849

Summary: 'ERROR: kernel read fault' during sdt probes benchmark on s390x
Product: Red Hat Enterprise Linux 6 Reporter: Petr Muller <pmuller>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
Status: CLOSED ERRATA QA Contact: qe-baseos-tools-bugs
Severity: medium Docs Contact:
Priority: medium    
Version: 6.0CC: jeast, mjw, ohudlick, rlandman
Target Milestone: rc   
Target Release: ---   
Hardware: s390x   
OS: Linux   
Whiteboard:
Fixed In Version: systemtap-1.4-1.el6 Doc Type: Bug Fix
Doc Text:
Systemtap provides bench.sh, a script that compiles benchmark code on a system, then monitors the system as it runs the code. The benchmark code previously provided with systemtap was designed to run on the 64-bit x86 architecture. Therefore, attempting to run the script on other architectures would fail. This updated package provides code that runs on architectures other than 64-bit x86. Users of systemtap can now measure probe performance on all architectures supported by Red Hat.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-19 13:54:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Petr Muller 2010-08-20 15:40:50 UTC
Description of problem:
While fiddling with bug 597329 verification, I played with the benchmark a bit, and encountered a kernel read fault, on s390x exclusively. See steps to reproduce.

Version-Release number of selected component (if applicable):
systemtap-1.2-9.el6.s390x
kernel-2.6.32-54.el6.s390x

How reproducible:
seems always: I tried two separate boxes, occured on both.

Steps to Reproduce:
1. clone upstream git repo
2. go to scripts/probe_perf
3. do the following (it is an excerpt of the bench.sh script):

# dtrace -G -s bench_.d -D$1UPROBE_SDT
# dtrace -G -s bench_.d -DUPROBE_SDT
# dtrace --types -h -s bench_.d -DUPROBE_SDT
# gcc -DUPROBE_SDT -DLOOP=10 bench_.o bench.c -o bench-uprobe.x -I. -I/include -g
# stap -DSTP_NO_OVERLOAD=1 -g bench.stp ./bench-uprobe.x UPROBE_SDT -c "taskset 1 /usr/bin/time ./bench-uprobe.x" -v
  
Actual results:
Pass 1: parsed user script and 68 library script(s) using 29444virt/20664res/2736shr kb, in 170usr/10sys/180real ms.
Pass 2: analyzed script: 18 probe(s), 9 function(s), 0 embed(s), 9 global(s) using 30288virt/22096res/3460shr kb, in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapM2rZTV/stap_bfc9c4d6abef90bc86a8585e384059ac_11532.c" using 101964virt/22588res/3784shr kb, in 10usr/60sys/67real ms.
Pass 4, preamble: (re)building SystemTap's version of uprobes.
Pass 4: compiled C into "stap_bfc9c4d6abef90bc86a8585e384059ac_11532.ko" in 3500usr/460sys/3993real ms.
Pass 5: starting run.
ERROR: kernel read fault at 0x000003ffff9b8ed0 (addr) near identifier '$arg1' at bench.stp:7:38
0.00user 0.00system 0:00.01elapsed 42%CPU (0avgtext+0avgdata 1984maxresident)k
0inputs+8outputs (0major+197minor)pagefaults 0swaps
WARNING: Number of errors: 1, skipped probes: 0
Pass 5: run completed in 10usr/70sys/266real ms.
Pass 5: run failed.  Try again with another '--vp 00001' option.

Expected results:
No error.

Additional info:
Because it is s390x specific, and I haven't seen it in any other systemtap use case, I've flagged this bug for 6.1.0.

Comment 2 Frank Ch. Eigler 2011-03-08 19:09:27 UTC
Sure.

Comment 7 Ruediger Landmann 2011-05-18 02:24:08 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Systemtap provides bench.sh, a script that compiles benchmark code on 
a system, then monitors the system as it runs the code. The benchmark 
code previously provided with systemtap was designed to run on the 64-bit
x86 architecture. Therefore, attempting to run the script on other 
architectures would fail. This updated package provides code that runs 
on architectures other than 64-bit x86. Users of systemtap can now 
measure probe performance on all architectures supported by Red Hat.

Comment 8 errata-xmlrpc 2011-05-19 13:54:38 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0651.html