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 runtime/25265] New: tapscripts using ustack, ubacktrace etc fail to compile on kernel 3.4


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

            Bug ID: 25265
           Summary: tapscripts using ustack, ubacktrace etc fail to
                    compile on kernel 3.4
           Product: systemtap
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: runtime
          Assignee: systemtap at sourceware dot org
          Reporter: craig.ringer at 2ndquadrant dot com
  Target Milestone: ---

latest systemtap doesn't appear to produce correct code for tapscripts that use
the ustack(), ubacktrace() or print_ubacktrace() functions when running on
kernel 3.4.

Observed on Fedora 31 with

$ lsb_release  -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 31 (Thirty One)
Release:        31
Codename:       ThirtyOne

$ uname -r
5.3.7-301.fc31.x86_64

$ git describe --tags
release-4.2-6-g0c5c0f434

Looks related to issue https://sourceware.org/bugzilla/show_bug.cgi?id=24923

Also seen with the current systemtap bundled in Fedora 31,
systemtap-4.2-1.fc31.x86_64 .

Reported against Fedora as https://bugzilla.redhat.com/show_bug.cgi?id=1781471

Reproduce with:

sudo stap -v -e 'probe process("/lib64/libc.so.6").function("fsync") {
print_ubacktrace(); }'

```
Pass 1: parsed user script and 476 library scripts using
305652virt/88592res/6272shr/82584data kb, in 210usr/30sys/244real ms.
Pass 2: analyzed script: 1 probe, 1 function, 0 embeds, 0 globals using
309084virt/92976res/7216shr/86016data kb, in 10usr/0sys/13real ms.
Pass 3: translated to C into
"/tmp/stapbc7qLa/stap_e7d835b94419e48f6773a1ccc34b4fb6_1420_src.c" using
309084virt/93232res/7472shr/86016data kb, in 50usr/120sys/181real ms.
In file included from
/tmp/stapbc7qLa/stap_e7d835b94419e48f6773a1ccc34b4fb6_1420_src.c:85:
/usr/local/share/systemtap/runtime/stack.c:66:14: error: ‘struct stack_trace’
declared inside parameter list will not be visible outside of this definition
or declaration [-Werror]
   66 |       struct stack_trace *trace);
      |              ^~~~~~~~~~~
/usr/local/share/systemtap/runtime/stack.c: In function
‘_stp_stack_print_fallback’:
/usr/local/share/systemtap/runtime/stack.c:202:21: error: storage size of
‘trace’ isn’t known
  202 |  struct stack_trace trace;
      |                     ^~~~~
In file included from /usr/local/share/systemtap/runtime/unwind.c:16,
                 from /usr/local/share/systemtap/runtime/linux/runtime.h:255,
                 from /usr/local/share/systemtap/runtime/runtime.h:26,
                 from
/tmp/stapbc7qLa/stap_e7d835b94419e48f6773a1ccc34b4fb6_1420_src.c:27:
/usr/local/share/systemtap/runtime/unwind/unwind.h: In function
‘read_ptr_sect’:
/usr/local/share/systemtap/runtime/unwind/unwind.h:146:20: error: this
statement may fall through [-Werror=implicit-fallthrough=]
  146 |   if (!compat_task || (compat_task && (tableSize == 4 || tableSize ==
0)))
      |      
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/share/systemtap/runtime/unwind/unwind.h:157:2: note: here
  157 |  case DW_EH_PE_data8:
      |  ^~~~
In file included from ./include/asm-generic/bug.h:5,
                 from ./arch/x86/include/asm/bug.h:83,
                 from ./include/linux/bug.h:5,
                 from ./include/linux/mmdebug.h:5,
                 from ./include/linux/gfp.h:5,
                 from
/usr/local/share/systemtap/runtime/linux/runtime_defines.h:20,
                 from /usr/local/share/systemtap/runtime/runtime_defines.h:8,
                 from
/tmp/stapbc7qLa/stap_e7d835b94419e48f6773a1ccc34b4fb6_1420_src.c:11:
./include/linux/compiler.h:328:5: error: this statement may fall through
[-Werror=implicit-fallthrough=]
  328 |  do {        \
      |     ^
./include/linux/compiler.h:338:2: note: in expansion of macro
‘__compiletime_assert’
  338 |  __compiletime_assert(condition, msg, prefix, suffix)
      |  ^~~~~~~~~~~~~~~~~~~~
./include/linux/compiler.h:350:2: note: in expansion of macro
‘_compiletime_assert’
  350 |  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
      |  ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:39:37: note: in expansion of macro
‘compiletime_assert’
   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
      |                                     ^~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:50:2: note: in expansion of macro
‘BUILD_BUG_ON_MSG’
   50 |  BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
      |  ^~~~~~~~~~~~~~~~
/usr/local/share/systemtap/runtime/unwind/unwind.h:158:3: note: in expansion of
macro ‘BUILD_BUG_ON’
  158 |   BUILD_BUG_ON(sizeof(u64) != sizeof(value));
      |   ^~~~~~~~~~~~
In file included from /usr/local/share/systemtap/runtime/unwind.c:16,
                 from /usr/local/share/systemtap/runtime/linux/runtime.h:255,
                 from /usr/local/share/systemtap/runtime/runtime.h:26,
                 from
/tmp/stapbc7qLa/stap_e7d835b94419e48f6773a1ccc34b4fb6_1420_src.c:27:
/usr/local/share/systemtap/runtime/unwind/unwind.h:163:2: note: here
  163 |  case DW_EH_PE_absptr:
      |  ^~~~
In file included from /usr/local/share/systemtap/runtime/linux/runtime.h:255,
                 from /usr/local/share/systemtap/runtime/runtime.h:26,
                 from
/tmp/stapbc7qLa/stap_e7d835b94419e48f6773a1ccc34b4fb6_1420_src.c:27:
/usr/local/share/systemtap/runtime/unwind.c: In function ‘processCFI’:
/usr/local/share/systemtap/runtime/unwind.c:519:8: error: this statement may
fall through [-Werror=implicit-fallthrough=]
  519 |     if (compat_task) {
      |        ^
/usr/local/share/systemtap/runtime/unwind.c:531:4: note: here
  531 |    case DW_CFA_def_cfa_offset:
      |    ^~~~
/usr/local/share/systemtap/runtime/unwind.c:543:8: error: this statement may
fall through [-Werror=implicit-fallthrough=]
  543 |     if (compat_task) {
      |        ^
/usr/local/share/systemtap/runtime/unwind.c:553:4: note: here
  553 |    case DW_CFA_def_cfa_offset_sf:
      |    ^~~~
cc1: all warnings being treated as errors
make[1]: *** [scripts/Makefile.build:280:
/tmp/stapbc7qLa/stap_e7d835b94419e48f6773a1ccc34b4fb6_1420_src.o] Error 1
make: *** [Makefile:1630: _module_/tmp/stapbc7qLa] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compiled C into "stap_e7d835b94419e48f6773a1ccc34b4fb6_1420.ko" in
10710usr/1850sys/12803real ms.
Pass 4: compilation failed.  [man error::pass4]
```

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