dsmith at redhat dot com | 3 May 18:29 2016

[Bug runtime/20042] New: on rawhide, tracepoint handlers have a changed function signature

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

            Bug ID: 20042
           Summary: on rawhide, tracepoint handlers have a changed
                    function signature
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
          Assignee: systemtap at sourceware dot org
          Reporter: dsmith at redhat dot com
  Target Milestone: ---

On rawhide (4.6.0-0.rc5.git3.1.fc25.x86_64), it looks like the tracepoint
interface has changed, causing compilation errors with scripts that use
tracepoints:

====
# stap -v ../src/testsuite/systemtap.base/tracepoints.stp 
Pass 1: parsed user script and 113 library scripts using
241388virt/38096res/7572shr/30784data kb, in 200usr/40sys/232real ms.
Pass 2: analyzed script: 1925 probes, 1 function, 0 embeds, 1 global using
260332virt/57992res/8624shr/49728data kb, in 82200usr/19540sys/53882real ms.
Pass 3: translated to C into
"/tmp/staphWDwgS/stap_3b2a8c89bb4805ee669dd1b436014d8c_1186740_src.c" using
261868virt/59564res/8688shr/51264data kb, in 550usr/70sys/616real ms.
In file included from
/tmp/staphWDwgS/stap_3b2a8c89bb4805ee669dd1b436014d8c_1186740_aux_30.c:8:0:
(Continue reading)

dsmith at redhat dot com | 3 May 16:01 2016

[Bug tapsets/20040] New: the task_exe_file function getting "BUG: sleeping function called from invalid context"

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

            Bug ID: 20040
           Summary: the task_exe_file function getting "BUG: sleeping
                    function called from invalid context"
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tapsets
          Assignee: systemtap at sourceware dot org
          Reporter: dsmith at redhat dot com
  Target Milestone: ---

During a full testsuite run on 3.10.0-327.el7.ppc64.debug, I see the following
kernel bug:

====
May 02 17:51:01 <test machine> kernel: BUG: sleeping function called from
invalid context at kernel/fork.c:619
May 02 17:51:01 <test machine> kernel: in_atomic(): 1, irqs_disabled(): 0, pid:
5906, name: stapio
May 02 17:51:01 <test machine> kernel: INFO: lockdep is turned off.
May 02 17:51:01 <test machine> kernel: CPU: 13 PID: 5906 Comm: stapio Tainted:
G        W  OE  ------------   3.10.0-327.el7.ppc64.debug #1
May 02 17:51:01 <test machine> kernel: Call Trace:
May 02 17:51:01 <test machine> kernel: [c0000000a91e3780] [c000000000019690]
.show_stack+0x80/0x380 (unreliable)
May 02 17:51:01 <test machine> kernel: [c0000000a91e3850] [c000000000a36980]
(Continue reading)

Josh Stone | 3 May 03:50 2016
Picon
Gravatar

SystemTap source code now requires C++11

Almost two years ago, I posted an RFC[1] about raising the OS baseline
for SystemTap.  I didn't get a lot of feedback then, but we didn't take
much action either.  Now I have finally taken a first step. :)
 [1] https://www.sourceware.org/ml/systemtap/2014-q2/msg00225.html

We will now require C++11 support to compile stap.  However, since we
still want to support RHEL6's GCC4.4, we'll only actually use the subset
of C++11 that was implemented at that time.  You can find a table of
supported features for 4.4 here[2].
 [2] https://gcc.gnu.org/gcc-4.4/cxx0x_status.html

As a first step with assumed C++11 support, I've removed code that used
boost or tr1 for things like shared_ptr and unordered_map, as we can now
use standard versions.  I also converted a lot of vector::push_back
sequences to use initializer lists, and started using "auto"-typed
variables.  There are certainly many more places that could benefit from
"auto", but it's hard to change this in bulk.  Please feel free to
convert more code to C++11 styles as you work.

As for general operating system targets, RHEL4's GCC-3.4 is definitely
out, so we can start pruning that really old support.  RHEL5 and its
GCC-4.1 would be too old, but we also did ship GCC-4.8 for RHEL5 in
devtoolset-2, so for now we'll let that one stay alive.  It's likely
that we'll be less proactive about testing RHEL5 though.

Mateusz Guzik | 2 May 17:48 2016
Picon

[PATCH] plug preempt leak in _stp_runtime_entryfn_put/get_context

If _stp_runtime_entryfn_get_context returns a context, preemption
counter is always incremented. On the other hand
_stp_runtime_entryfn_put_context only decrements the counter if the
passed context matches the one currently set on the cpu.

The context can be set to NULL by _stp_runtime_contexts_free, making the
comparison false and in effect leading to a leak, e.g.:
timer: _stp_ctl_work_callback+0x0/0x1e0[stap_af8544c7eb51251ef8c
 377abff659b05_25070] preempt leak: 00000101 -> 00000102

Signed-off-by: Mateusz Guzik <mguzik <at> redhat.com>
---
 runtime/linux/runtime_context.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/runtime/linux/runtime_context.h b/runtime/linux/runtime_context.h
index c9ffe18..9d325da 100644
--- a/runtime/linux/runtime_context.h
+++ b/runtime/linux/runtime_context.h
 <at>  <at>  -80,11 +80,12  <at>  <at>  static struct context * _stp_runtime_entryfn_get_context(void)

 static inline void _stp_runtime_entryfn_put_context(struct context *c)
 {
-	if (c && c == _stp_runtime_get_context()) {
-		atomic_dec(&c->busy);
+	if (c) {
+		if (c == _stp_runtime_get_context())
+			atomic_dec(&c->busy);
+		/* else, warn about bad state? */
 		preempt_enable_no_resched();
(Continue reading)

mcermak at redhat dot com | 27 Apr 20:20 2016

[Bug translator/20013] New: stap --dump-functions broken

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

            Bug ID: 20013
           Summary: stap --dump-functions broken
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
          Assignee: systemtap at sourceware dot org
          Reporter: mcermak at redhat dot com
  Target Milestone: ---

Commit 4bc2b5cdaadd7c530216403aa5414acdeadb28de (Remove empty script file
warning for tapset files) broke the `stap --dump-functions` functionality.
Currently stap prints

=======
-bash-4.2# stap --dump-functions
Input file '<input>' is empty.
-bash-4.2# 
=======

instead of listing the functions.

--

-- 
You are receiving this mail because:
You are the assignee for the bug.
(Continue reading)

fche at redhat dot com | 26 Apr 20:45 2016

[Bug runtime/20003] New: sample pfiles.stp needs to be ported to newer RHEL6 kernels

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

            Bug ID: 20003
           Summary: sample pfiles.stp needs to be ported to newer RHEL6
                    kernels
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
          Assignee: systemtap at sourceware dot org
          Reporter: fche at redhat dot com
  Target Milestone: ---

The embedded-C code in pfiles.stp does not play well with recent RHEL6 kernels,
and results in pass-4 failures.

--

-- 
You are receiving this mail because:
You are the assignee for the bug.
mjw at redhat dot com | 26 Apr 14:56 2016

[Bug translator/20002] New: Provide more context for DWARF errors

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

            Bug ID: 20002
           Summary: Provide more context for DWARF errors
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
          Assignee: systemtap at sourceware dot org
          Reporter: mjw at redhat dot com
  Target Milestone: ---

Currently stap does provide some context when a DWARF location expression for
an argument or variable cannot be resolved, but if the issue is with the DWARF
producer (GCC) we need more context when reporting a bug.

Given a probe location (pc address) and a variable or argument name stap (-v)
or a separate tool (loc2c-test can already provide something) we should at
least provide:

- The DW_AT_name, comp_dir and producer (which includes the GCC flags used) of
the containing DW_TAG_compile_unit. e.g. shell.c /usr/src/debug/bash-4.3 GNU
C11 5.1.1 20150618 (Red Hat 5.1.1-4) -m64 -mtune=generic -march=x86-64 -g -O2
-fexceptions -fstack-protector-strong --param ssp-buffer-size=4 -fPIE
- The objdump/disassemble of the containing
- Either ^ intermixed with source (-S) [but that is sometimes confusing]
  or the source code for the containing DW_TAG_subprogram and all relevant
address ranges of the DW_TAG_inlined_subroutines (take the low_pc/high_pc of
(Continue reading)

fche at redhat dot com | 25 Apr 22:28 2016

[Bug server/19992] New: polymorphic operation

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

            Bug ID: 19992
           Summary: polymorphic operation
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: server
          Assignee: systemtap at sourceware dot org
          Reporter: fche at redhat dot com
  Target Milestone: ---

A single stap-server daemon should be able to auto-configure itself to support
compilation services to all locally-installed kernels.  This could be done
either by the stap-server driver shell script (auto-forking N stap-serverd's),
or by stap-serverd (doing its own kernel-devel search, avahi-announcing itself
N times).  Clients already identify the target kernel of interest (the sysinfo:
field), so theoretically one TCP port could multiplex them.

--

-- 
You are receiving this mail because:
You are the assignee for the bug.
dsmith at redhat dot com | 25 Apr 16:42 2016

[Bug runtime/19990] New: on rawhide, the get_user_pages() function has changed

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

            Bug ID: 19990
           Summary: on rawhide, the get_user_pages() function has changed
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
          Assignee: systemtap at sourceware dot org
          Reporter: dsmith at redhat dot com
  Target Milestone: ---

On rawhide (4.6.0-0.rc4.git3.1.fc25.x86_64), I'm getting the following compile
error:

====
stap nd_sys.stp -c ./preadv
In file included from /usr/local/share/systemtap/runtime/linux/runtime.h:209:0,
                 from /usr/local/share/systemtap/runtime/runtime.h:24,
                 from
/tmp/stap1vHU9T/stap_0b3271e6957c26e6ec5ff4ce3462c458_1435718_src.c:25:
/usr/local/share/systemtap/runtime/linux/access_process_vm.h: In function
‘__access_process_vm_’:
/usr/local/share/systemtap/runtime/linux/access_process_vm.h:35:29: error:
passing argument 1 of ‘get_user_pages’ makes integer from pointer without a
cast [-Werror=int-conversion]
       ret = get_user_pages (tsk, mm, addr, 1, write, 1, &page, &vma);
                             ^~~
(Continue reading)

dsmith at redhat dot com | 15 Apr 18:09 2016

[Bug runtime/19955] New: on rawhide, getting 'BUG: sleeping function called from invalid context' on perf probes

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

            Bug ID: 19955
           Summary: on rawhide, getting 'BUG: sleeping function called
                    from invalid context' on perf probes
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
          Assignee: systemtap at sourceware dot org
          Reporter: dsmith at redhat dot com
  Target Milestone: ---

On rawhide (4.6.0-0.rc2.git4.1.fc25.x86_64), I'm getting the following on the
console:

====
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: BUG: sleeping function called from
invalid context at /usr/local/share/systemtap/runtime/linux/perf.c:268
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: in_atomic(): 1, irqs_disabled(): 0,
pid: 30122, name: find
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: INFO: lockdep is turned off.
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: CPU: 0 PID: 30122 Comm: find Tainted:
G           OE   4.6.0-0.rc2.git4.1.fc25.x86_64 #1
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: Hardware name: Bochs Bochs, BIOS Bochs
01/01/2011
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: 0000000000000286 000000001621c757
ffff880072163d58 ffffffff8145a015
(Continue reading)

dsmith at redhat dot com | 15 Apr 18:05 2016

[Bug runtime/19954] New: "suspicious RCU usage" message on rawhide

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

            Bug ID: 19954
           Summary: "suspicious RCU usage" message on rawhide
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
          Assignee: systemtap at sourceware dot org
          Reporter: dsmith at redhat dot com
  Target Milestone: ---

While running the testsuite on rawhide (4.6.0-0.rc2.git4.1.fc25.x86_64), I see
the following on the console:

====
Apr 15 09:33:27 kvm-rawhide-64-1 kernel: 
Apr 15 09:33:27 kvm-rawhide-64-1 kernel: ===============================
Apr 15 09:33:27 kvm-rawhide-64-1 kernel: [ INFO: suspicious RCU usage. ]
Apr 15 09:33:27 kvm-rawhide-64-1 kernel: 4.6.0-0.rc2.git4.1.fc25.x86_64 #1
Tainted: G           OE  
Apr 15 09:33:27 kvm-rawhide-64-1 kernel: -------------------------------
Apr 15 09:33:27 kvm-rawhide-64-1 kernel:
/usr/local/share/systemtap/runtime/transport/symbols.c:252 suspicious
rcu_dereference_check() usage!
Apr 15 09:33:27 kvm-rawhide-64-1 kernel: #012other info that might help us
debug this:
Apr 15 09:33:27 kvm-rawhide-64-1 kernel: #012rcu_scheduler_active = 1,
(Continue reading)


Gmane