From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18957 invoked by alias); 26 Feb 2016 21:11:31 -0000 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org Received: (qmail 12005 invoked by uid 48); 26 Feb 2016 21:11:27 -0000 From: "dsmith at redhat dot com" To: systemtap@sourceware.org Subject: [Bug translator/19500] .callee test failures Date: Fri, 26 Feb 2016 21:11:00 -0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: systemtap X-Bugzilla-Component: translator X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dsmith at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: systemtap at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2016-q1/txt/msg00124.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D19500 --- Comment #4 from David Smith --- On rawhide x86_64 (4.5.0-0.rc5.git0.1.fc24.x86_64), the "callee (simple - probing .callee(foo).return - 32-bit)" failure is the equivalent of doing t= he following: =3D=3D=3D=3D # gcc ../../src/testsuite/systemtap.base/callee.simple.c -m32 -O -g -lm -o callee # stap -e 'probe process("./callee").function("main").callee("level1").retu= rn { printf("caller %s callee %s\n", usymname(ustack(0)), ppfunc()) }' -c ./call= ee WARNING: Child process exited with signal 11 (Segmentation fault) WARNING: /usr/local/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] =3D=3D=3D=3D Without stap, callee runs without getting a SIGSEGV. This appears to be a kernel problem, since I get the same SIGSEV without systemtap by just using perf: =3D=3D=3D=3D # gcc ../../src/testsuite/systemtap.base/callee.simple.c -m32 -O -g -lm -o callee # perf probe -x ./callee 'cmr=3Dmain%return' Added new event: probe_callee:cmr (on main%return in /discer.farm/es/scratch/dsmith/systemtap/rawhide-64-2/testsuite/callee) You can now use it in all perf tools, such as: perf record -e probe_callee:cmr -aR sleep 1 # perf record -e probe_callee:cmr -aR ./callee [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.148 MB perf.data (1 samples) ] Segmentation fault =3D=3D=3D=3D On RHEL7 x86_64 (3.10.0-347.el7.x86_64), I get the same "callee (simple - probing .callee(foo).return - 32-bit)" failure when running the new callee.= exp. The output looks similar to the rawhide system: =3D=3D=3D=3D # gcc ../../src/testsuite/systemtap.base/callee.simple.c -m32 -O -g -lm -o callee # stap -e 'probe process("./callee").function("main").callee("level1").retu= rn { printf("caller %s callee %s\n", usymname(ustack(0)), ppfunc()) }' -c ./call= ee WARNING: Child process exited with signal 11 (Segmentation fault) WARNING: /usr/local/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] =3D=3D=3D=3D However, when run with perf, the target doesn't get a SIGSEGV: =3D=3D=3D=3D # perf probe -x ./callee 'callee32=3Dmain%return' Added new event: probe_callee:callee32 (on main%return in /discer.farm/es/scratch/dsmith/systemtap/rhel7-64/testsuite/callee) You can now use it in all perf tools, such as: perf record -e probe_callee:callee32 -aR sleep 1 # perf record -e probe_callee:callee32 -aR ./callee [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.145 MB perf.data (1 samples) ] =3D=3D=3D=3D So, the RHEL7 failure appears to be a systemtap problem, since it doesn't happen with perf. --=20 You are receiving this mail because: You are the assignee for the bug.