Started by upstream project "bcc-pr" build number 1136
originally caused by:
GitHub pull request #3585 of commit ddfc6b70f9bf8afa1f57565b16622bc55811caab, no merge conflicts.
Running as SYSTEM
Building remotely on fedora28-slave-328 (fc28) in workspace /home/fedora/jenkins/workspace/bcc-pr/label/fc28
The recommended git tool is: NONE
No credentials specified
Cloning the remote Git repository
Cloning repository https://github.com/iovisor/bcc.git
> git init /home/fedora/jenkins/workspace/bcc-pr/label/fc28 # timeout=10
Fetching upstream changes from https://github.com/iovisor/bcc.git
> git --version # timeout=10
> git --version # 'git version 2.17.1'
> git fetch --tags --progress -- https://github.com/iovisor/bcc.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://github.com/iovisor/bcc.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://github.com/iovisor/bcc.git # timeout=10
Fetching upstream changes from https://github.com/iovisor/bcc.git
> git fetch --tags --progress -- https://github.com/iovisor/bcc.git +refs/pull/*:refs/remotes/origin/pr/* # timeout=10
JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://wiki.jenkins.io/display/JENKINS/Remove+Git+Plugin+BuildsByBranch+BuildData
Checking out Revision d7b26be08db610525a58a99880f15cc18ce940dd (refs/remotes/origin/pr/3585/merge)
> git config core.sparsecheckout # timeout=10
> git checkout -f d7b26be08db610525a58a99880f15cc18ce940dd # timeout=10
Commit message: "Merge ddfc6b70f9bf8afa1f57565b16622bc55811caab into 7abd77ac4c18fb2433b5ba9bea76e047caaa3c40"
First time build. Skipping changelog.
Run condition [Execute Shell] enabling prebuild for step [Execute shell]
Run condition [Execute Shell] enabling prebuild for step [Execute shell]
[fc28] $ /bin/sh -xe /tmp/CommandInterpreterCondition9092768120739791898.sh
+ grep -q '^ID=fedora' /etc/os-release
Run condition [Execute Shell] enabling perform for step [Execute shell]
[fc28] $ /bin/sh -xe /tmp/jenkins784085768987493415.sh
+ git clean -df
+ sudo dnf erase -y bcc-tools libbcc libbcc-examples python-bcc bcc-lua
No match for argument: bcc-tools
No match for argument: libbcc
No match for argument: libbcc-examples
No match for argument: python-bcc
No match for argument: bcc-lua
Error: No packages marked for removal.
+ :
+ rm -rf build
+ export PATH=/opt/local/llvm/bin:/usr/local/bin:/usr/bin
+ PATH=/opt/local/llvm/bin:/usr/local/bin:/usr/bin
+ ./scripts/build-rpm.sh
+ set -e
++ mktemp -d /tmp/rpmbuild.XXXXXX
+ TMP=/tmp/rpmbuild.HGmFlG
+ trap cleanup EXIT
+ '[' -f os-release ']'
+ [[ '' -lt 30 ]]
+ PKGS='python3-cachetools python-cachetools'
+ sudo dnf install -y python3-cachetools python-cachetools
Fedora 28 - x86_64 - Updates 24 MB/s | 30 MB 00:01
Fedora 28 - x86_64 30 MB/s | 60 MB 00:01
Last metadata expiration check: 0:00:09 ago on Mon 06 Sep 2021 02:59:49 AM UTC.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
python2-cachetools noarch 2.0.1-4.fc28 fedora 30 k
python3-cachetools noarch 2.0.1-4.fc28 fedora 31 k
Transaction Summary
================================================================================
Install 2 Packages
Total download size: 61 k
Installed size: 142 k
Downloading Packages:
(1/2): python2-cachetools-2.0.1-4.fc28.noarch.r 116 kB/s | 30 kB 00:00
(2/2): python3-cachetools-2.0.1-4.fc28.noarch.r 118 kB/s | 31 kB 00:00
--------------------------------------------------------------------------------
Total 97 kB/s | 61 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python2-cachetools-2.0.1-4.fc28.noarch 1/2
Installing : python3-cachetools-2.0.1-4.fc28.noarch 2/2
Running scriptlet: python3-cachetools-2.0.1-4.fc28.noarch 2/2
Verifying : python3-cachetools-2.0.1-4.fc28.noarch 1/2
Verifying : python2-cachetools-2.0.1-4.fc28.noarch 2/2
Installed:
python2-cachetools.noarch 2.0.1-4.fc28 python3-cachetools.noarch 2.0.1-4.fc28
Complete!
+ mkdir /tmp/rpmbuild.HGmFlG/BUILD /tmp/rpmbuild.HGmFlG/RPMS /tmp/rpmbuild.HGmFlG/SOURCES /tmp/rpmbuild.HGmFlG/SPECS /tmp/rpmbuild.HGmFlG/SRPMS
+ llvmver=3.7.1
+ git submodule update --init --recursive
Submodule 'src/cc/libbpf' (https://github.com/libbpf/libbpf.git) registered for path 'src/cc/libbpf'
Cloning into '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf'...
Submodule path 'src/cc/libbpf': checked out 'a3c0cc19d4b93cb0b7088c5604b0cec1c6863fde'
+ . scripts/git-tag.sh
+++ git describe --tags --abbrev=0
++ git_tag_latest=v0.21.0
+++ git rev-list v0.21.0.. --count
++ git_rev_count=36
++ git_rev_count=37
+++ git log --pretty=%s -n 1
++ git_subject='Merge ddfc6b70f9bf8afa1f57565b16622bc55811caab into 7abd77ac4c18fb2433b5ba9bea76e047caaa3c40'
++ release=37
++ [[ 37 != \1 ]]
+++ git log --pretty=%h -n 1
++ release=37.git.d7b26be0
++ revision=0.21.0
+ git archive HEAD --prefix=bcc/ --format=tar -o /tmp/rpmbuild.HGmFlG/SOURCES/bcc.tar
+ pushd src/cc/libbpf
~/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf ~/jenkins/workspace/bcc-pr/label/fc28
+ git archive HEAD --prefix=bcc/src/cc/libbpf/ --format=tar -o /tmp/rpmbuild.HGmFlG/SOURCES/bcc_libbpf.tar
+ popd
~/jenkins/workspace/bcc-pr/label/fc28
+ pushd /tmp/rpmbuild.HGmFlG/SOURCES
/tmp/rpmbuild.HGmFlG/SOURCES ~/jenkins/workspace/bcc-pr/label/fc28
+ tar -A -f bcc.tar bcc_libbpf.tar
+ gzip bcc.tar
+ popd
~/jenkins/workspace/bcc-pr/label/fc28
+ sed -e 's/^\(Version:\s*\)@REVISION@/\10.21.0/' -e 's/^\(Release:\s*\)@GIT_REV_COUNT@/\137.git.d7b26be0/' SPECS/bcc.spec
+ pushd /tmp/rpmbuild.HGmFlG
/tmp/rpmbuild.HGmFlG ~/jenkins/workspace/bcc-pr/label/fc28
++ pwd
+ rpmbuild --define '_topdir /tmp/rpmbuild.HGmFlG' -ba SPECS/bcc.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.LpiDar
+ umask 022
+ cd /tmp/rpmbuild.HGmFlG/BUILD
+ cd /tmp/rpmbuild.HGmFlG/BUILD
+ rm -rf bcc
+ /usr/bin/gzip -dc /tmp/rpmbuild.HGmFlG/SOURCES/bcc.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd bcc
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.TguUcK
+ umask 022
+ cd /tmp/rpmbuild.HGmFlG/BUILD
+ cd bcc
+ mkdir build
+ pushd build
/tmp/rpmbuild.HGmFlG/BUILD/bcc/build /tmp/rpmbuild.HGmFlG/BUILD/bcc
++ pkg-config --variable=includedir luajit
++ pkg-config --variable=libdir luajit
++ pkg-config --variable=libname luajit
+ cmake .. -DREVISION_LAST=0.21.0 -DREVISION=0.21.0 -DCMAKE_INSTALL_PREFIX=/usr -DLUAJIT_INCLUDE_DIR=/usr/include/luajit-2.1 -DLUAJIT_LIBRARIES=/usr/lib64/libluajit-5.1.so '-DPYTHON_CMD=python2;python3' -DENABLE_LLVM_SHARED=1
-- The C compiler identification is GNU 8.1.1
-- The CXX compiler identification is GNU 8.1.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Not a git repository
To compare two paths outside a working tree:
usage: git diff [--no-index] <path> <path>
fatal: not a git repository (or any of the parent directories): .git
-- Revision is 0.21.0
-- Performing Test HAVE_NO_PIE_FLAG
-- Performing Test HAVE_NO_PIE_FLAG - Success
-- Performing Test HAVE_REALLOCARRAY_SUPPORT
-- Performing Test HAVE_REALLOCARRAY_SUPPORT - Success
-- Found LLVM: /usr/include 6.0.1
-- Found BISON: /usr/bin/bison (found version "3.0.4")
-- Found FLEX: /usr/bin/flex (found version "2.6.1")
-- Found LibElf: /usr/lib64/libelf.so
-- Performing Test ELF_GETSHDRSTRNDX
-- Performing Test ELF_GETSHDRSTRNDX - Success
-- Could NOT find LibDebuginfod (missing: LIBDEBUGINFOD_LIBRARIES LIBDEBUGINFOD_INCLUDE_DIRS)
-- Found LuaJIT: /usr/lib64/libluajit-5.1.so
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/rpmbuild.HGmFlG/BUILD/bcc/build
+ make -j2
Scanning dependencies of target bcc-loader-static
[ 1%] Building CXX object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_syms.cc.o
Scanning dependencies of target bpf-static
[ 1%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf.c.o
[ 1%] Building C object src/cc/CMakeFiles/bpf-static.dir/perf_reader.c.o
[ 2%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/bpf.c.o
[ 2%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/bpf_prog_linfo.c.o
[ 2%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/btf.c.o
[ 3%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/btf_dump.c.o
[ 3%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/gen_loader.c.o
[ 3%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_elf.c.o
[ 3%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/hashmap.c.o
[ 4%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf.c.o
[ 4%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_perf_map.c.o
[ 5%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_proc.c.o
[ 5%] Building CXX object src/cc/CMakeFiles/bcc-loader-static.dir/common.cc.o
[ 5%] Linking CXX static library libbcc-loader-static.a
[ 5%] Built target bcc-loader-static
[ 5%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf_errno.c.o
[ 5%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf_probes.c.o
[ 6%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/linker.c.o
[ 6%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/netlink.c.o
[ 6%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/nlattr.c.o
[ 7%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/relo_core.c.o
[ 7%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/ringbuf.c.o
[ 7%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/str_error.c.o
[ 7%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/strset.c.o
[ 8%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/xsk.c.o
[ 8%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/bcc_syms.cc.o
Scanning dependencies of target clang_frontend
[ 8%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/loader.cc.o
[ 8%] Building C object src/cc/CMakeFiles/bpf-static.dir/bcc_elf.c.o
[ 9%] Building C object src/cc/CMakeFiles/bpf-static.dir/bcc_perf_map.c.o
[ 9%] Building C object src/cc/CMakeFiles/bpf-static.dir/bcc_proc.c.o
[ 9%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/common.cc.o
[ 10%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/usdt/usdt.cc.o
[ 10%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/usdt/usdt_args.cc.o
[ 11%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/b_frontend_action.cc.o
[ 11%] Linking CXX static library libbcc_bpf.a
[ 11%] Built target bpf-static
Scanning dependencies of target api-static
[ 11%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPF.cc.o
[ 12%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPFTable.cc.o
[ 12%] Linking CXX static library libapi-static.a
[ 12%] Built target api-static
Scanning dependencies of target usdt-static
[ 12%] Building CXX object src/cc/usdt/CMakeFiles/usdt-static.dir/usdt_args.cc.o
[ 13%] Building CXX object src/cc/usdt/CMakeFiles/usdt-static.dir/usdt.cc.o
[ 13%] Linking CXX static library libusdt-static.a
[ 13%] Built target usdt-static
[ 14%] [FLEX][Lexer] Building scanner with flex 2.6.1
lexer.ll:110: warning, -s option given but default rule can be matched
[ 14%] [BISON][Parser] Building parser with bison 3.0.4
parser.yy:19.9-17: warning: deprecated directive, use '%define api.namespace ebpf::cc' [-Wdeprecated]
%define namespace "ebpf::cc"
^^^^^^^^^
parser.yy:19.9-17: warning: %define variable 'api.namespace' requires '{...}' values [-Wdeprecated]
%define namespace "ebpf::cc"
^^^^^^^^^
parser.yy:20.9-25: warning: %define variable 'parser_class_name' requires '{...}' values [-Wdeprecated]
%define parser_class_name "BisonParser"
^^^^^^^^^^^^^^^^^
Scanning dependencies of target b_frontend
[ 14%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/loader.cc.o
[ 14%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/codegen_llvm.cc.o
[ 14%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/node.cc.o
[ 15%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.cc.o
[ 15%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/printer.cc.o
[ 15%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/type_check.cc.o
[ 16%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.yy.cc.o
[ 16%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/lexer.ll.cc.o
/tmp/rpmbuild.HGmFlG/BUILD/bcc/build/src/cc/frontends/b/lexer.ll.cc: In member function 'virtual int ebpf::cc::Lexer::yylex()':
/tmp/rpmbuild.HGmFlG/BUILD/bcc/build/src/cc/frontends/b/lexer.ll.cc:752:23: warning: comparison of integer expressions of different signedness: 'yy_size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
for ( yyl = 0; yyl < yyleng; ++yyl )
~~~~^~~~~~~~
[ 16%] Linking CXX static library libb_frontend.a
[ 16%] Built target b_frontend
Scanning dependencies of target bpf-shared
[ 17%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf.c.o
[ 17%] Building C object src/cc/CMakeFiles/bpf-shared.dir/perf_reader.c.o
[ 17%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/bpf.c.o
[ 18%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/bpf_prog_linfo.c.o
[ 18%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/btf.c.o
[ 18%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/btf_dump.c.o
[ 18%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/gen_loader.c.o
[ 19%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/hashmap.c.o
[ 19%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/libbpf.c.o
[ 19%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/tp_frontend_action.cc.o
[ 19%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/libbpf_errno.c.o
[ 20%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/libbpf_probes.c.o
[ 20%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/linker.c.o
[ 20%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/netlink.c.o
[ 21%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/nlattr.c.o
[ 21%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/relo_core.c.o
[ 21%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/ringbuf.c.o
[ 22%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/str_error.c.o
[ 22%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/strset.c.o
[ 22%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/xsk.c.o
[ 23%] Building CXX object src/cc/CMakeFiles/bpf-shared.dir/bcc_syms.cc.o
[ 23%] Building C object src/cc/CMakeFiles/bpf-shared.dir/bcc_elf.c.o
[ 23%] Building C object src/cc/CMakeFiles/bpf-shared.dir/bcc_perf_map.c.o
[ 24%] Building C object src/cc/CMakeFiles/bpf-shared.dir/bcc_proc.c.o
[ 24%] Building CXX object src/cc/CMakeFiles/bpf-shared.dir/common.cc.o
[ 24%] Building CXX object src/cc/CMakeFiles/bpf-shared.dir/usdt/usdt.cc.o
[ 24%] Building CXX object src/cc/CMakeFiles/bpf-shared.dir/usdt/usdt_args.cc.o
[ 24%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/kbuild_helper.cc.o
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/frontends/clang/kbuild_helper.cc:80:3: warning: multi-line comment [-Wcomment]
// USERINCLUDE := \
^
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/frontends/clang/kbuild_helper.cc:89:3: warning: multi-line comment [-Wcomment]
// LINUXINCLUDE := \
^
[ 25%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/__/__/common.cc.o
[ 25%] Linking CXX static library libclang_frontend.a
[ 25%] Built target clang_frontend
Scanning dependencies of target bcc_py_python3
[ 25%] Building sdist for python3
running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)
warning: sdist: standard file not found: should have one of README, README.txt
writing manifest file 'MANIFEST'
creating bcc-0.21.0
creating bcc-0.21.0/bcc
making hard links in bcc-0.21.0...
hard linking setup.py -> bcc-0.21.0
hard linking bcc/__init__.py -> bcc-0.21.0/bcc
hard linking bcc/containers.py -> bcc-0.21.0/bcc
hard linking bcc/disassembler.py -> bcc-0.21.0/bcc
hard linking bcc/libbcc.py -> bcc-0.21.0/bcc
hard linking bcc/perf.py -> bcc-0.21.0/bcc
hard linking bcc/syscall.py -> bcc-0.21.0/bcc
hard linking bcc/table.py -> bcc-0.21.0/bcc
hard linking bcc/tcp.py -> bcc-0.21.0/bcc
hard linking bcc/usdt.py -> bcc-0.21.0/bcc
hard linking bcc/utils.py -> bcc-0.21.0/bcc
hard linking bcc/version.py -> bcc-0.21.0/bcc
creating dist
Creating tar archive
removing 'bcc-0.21.0' (and everything under it)
[ 25%] Built target bcc_py_python3
Scanning dependencies of target bcc_py_python2
[ 25%] Building sdist for python2
running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)
warning: sdist: standard file not found: should have one of README, README.txt
writing manifest file 'MANIFEST'
creating bcc-0.21.0
creating bcc-0.21.0/bcc
making hard links in bcc-0.21.0...
hard linking setup.py -> bcc-0.21.0
hard linking bcc/__init__.py -> bcc-0.21.0/bcc
hard linking bcc/containers.py -> bcc-0.21.0/bcc
hard linking bcc/disassembler.py -> bcc-0.21.0/bcc
hard linking bcc/libbcc.py -> bcc-0.21.0/bcc
hard linking bcc/perf.py -> bcc-0.21.0/bcc
hard linking bcc/syscall.py -> bcc-0.21.0/bcc
hard linking bcc/table.py -> bcc-0.21.0/bcc
hard linking bcc/tcp.py -> bcc-0.21.0/bcc
hard linking bcc/usdt.py -> bcc-0.21.0/bcc
hard linking bcc/utils.py -> bcc-0.21.0/bcc
hard linking bcc/version.py -> bcc-0.21.0/bcc
creating dist
Creating tar archive
removing 'bcc-0.21.0' (and everything under it)
[ 25%] Built target bcc_py_python2
[ 25%] Generating bcc.lua
Writing bcc.lua...
OK!
[ 26%] Generating bcc.o
Scanning dependencies of target bcc-lua
[ 26%] Building C object src/lua/CMakeFiles/bcc-lua.dir/src/main.c.o
[ 27%] Linking C executable bcc-lua
[ 27%] Built target bcc-lua
Scanning dependencies of target bps
[ 28%] Building C object introspection/CMakeFiles/bps.dir/bps.c.o
[ 28%] Linking CXX executable bps
[ 28%] Built target bps
Scanning dependencies of target man
[ 28%] Generating argdist.8.gz
[ 29%] Generating bashreadline.8.gz
[ 29%] Generating bindsnoop.8.gz
[ 29%] Generating biolatency.8.gz
[ 29%] Generating biolatpcts.8.gz
[ 30%] Generating biosnoop.8.gz
[ 30%] Generating biotop.8.gz
[ 30%] Generating bitesize.8.gz
[ 31%] Generating bpflist.8.gz
[ 31%] Generating bps.8.gz
[ 31%] Generating btrfsdist.8.gz
[ 32%] Generating btrfsslower.8.gz
[ 32%] Generating cachestat.8.gz
[ 32%] Generating cachetop.8.gz
[ 33%] Generating capable.8.gz
[ 33%] Generating cobjnew.8.gz
[ 33%] Generating compactsnoop.8.gz
[ 34%] Generating cpudist.8.gz
[ 34%] Generating cpuunclaimed.8.gz
[ 34%] Generating criticalstat.8.gz
[ 35%] Generating cthreads.8.gz
[ 35%] Generating dbslower.8.gz
[ 35%] Generating dbstat.8.gz
[ 35%] Generating dcsnoop.8.gz
[ 36%] Generating dcstat.8.gz
[ 36%] Generating deadlock.8.gz
[ 36%] Generating dirtop.8.gz
[ 37%] Generating drsnoop.8.gz
[ 37%] Generating execsnoop.8.gz
[ 37%] Generating exitsnoop.8.gz
[ 38%] Generating ext4dist.8.gz
[ 38%] Generating ext4slower.8.gz
[ 38%] Generating filelife.8.gz
[ 39%] Generating fileslower.8.gz
[ 39%] Generating filetop.8.gz
[ 39%] Generating funccount.8.gz
[ 40%] Generating funcinterval.8.gz
[ 40%] Generating funclatency.8.gz
[ 40%] Generating funcslower.8.gz
[ 41%] Generating gethostlatency.8.gz
[ 41%] Generating hardirqs.8.gz
[ 41%] Generating inject.8.gz
[ 41%] Generating javacalls.8.gz
[ 42%] Generating javaflow.8.gz
[ 42%] Generating javagc.8.gz
[ 42%] Generating javaobjnew.8.gz
[ 43%] Generating javastat.8.gz
[ 43%] Generating javathreads.8.gz
[ 43%] Generating killsnoop.8.gz
[ 44%] Generating klockstat.8.gz
[ 44%] Generating ksnoop.8.gz
[ 44%] Generating kvmexit.8.gz
[ 45%] Generating llcstat.8.gz
[ 45%] Generating mdflush.8.gz
[ 45%] Generating memleak.8.gz
[ 46%] Generating mountsnoop.8.gz
[ 46%] Generating mysqld_qslower.8.gz
[ 46%] Generating netqtop.8.gz
[ 47%] Generating nfsdist.8.gz
[ 47%] Generating nfsslower.8.gz
[ 47%] Generating nodegc.8.gz
[ 47%] Generating nodestat.8.gz
[ 48%] Generating offcputime.8.gz
[ 48%] Generating offwaketime.8.gz
[ 48%] Generating oomkill.8.gz
[ 49%] Generating opensnoop.8.gz
[ 49%] Generating perlcalls.8.gz
[ 49%] Generating perlflow.8.gz
[ 50%] Generating perlstat.8.gz
[ 50%] Generating phpcalls.8.gz
[ 50%] Generating phpflow.8.gz
[ 51%] Generating phpstat.8.gz
[ 51%] Generating pidpersec.8.gz
[ 51%] Generating profile.8.gz
[ 52%] Generating pythoncalls.8.gz
[ 52%] Generating pythonflow.8.gz
[ 52%] Generating pythongc.8.gz
[ 53%] Generating pythonstat.8.gz
[ 53%] Generating readahead.8.gz
[ 53%] Generating reset-trace.8.gz
[ 54%] Linking CXX shared library libbcc_bpf.so
[ 55%] Generating rubycalls.8.gz
[ 55%] Generating rubyflow.8.gz
[ 55%] Generating rubygc.8.gz
[ 55%] Generating rubyobjnew.8.gz
[ 56%] Generating rubystat.8.gz
[ 56%] Generating runqlat.8.gz
[ 56%] Generating runqlen.8.gz
[ 57%] Generating runqslower.8.gz
[ 57%] Generating shmsnoop.8.gz
[ 57%] Generating slabratetop.8.gz
[ 58%] Generating sofdsnoop.8.gz
[ 58%] Built target bpf-shared
[ 58%] Generating softirqs.8.gz
Scanning dependencies of target usdt_test_lib
[ 58%] Generating solisten.8.gz
[ 58%] Building CXX object tests/cc/CMakeFiles/usdt_test_lib.dir/usdt_test_lib.cc.o
[ 59%] Generating spfdsnoop.8.gz
[ 59%] Generating sslsniff.8.gz
[ 59%] Generating stackcount.8.gz
[ 60%] Linking CXX shared library libusdt_test_lib.so
[ 61%] Generating statsnoop.8.gz
[ 61%] Generating swapin.8.gz
[ 61%] Generating syncsnoop.8.gz
[ 62%] Generating syscount.8.gz
[ 62%] Generating tclcalls.8.gz
[ 62%] Generating tclflow.8.gz
[ 62%] Built target usdt_test_lib
[ 62%] Generating tclobjnew.8.gz
[ 63%] Generating tclstat.8.gz
[ 63%] Generating tcpaccept.8.gz
Scanning dependencies of target bcc-shared
[ 63%] Generating tcpconnect.8.gz
[ 63%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/link_all.cc.o
[ 64%] Generating tcpconnlat.8.gz
[ 64%] Generating tcpdrop.8.gz
[ 64%] Generating tcplife.8.gz
[ 65%] Generating tcpretrans.8.gz
[ 65%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_common.cc.o
[ 65%] Generating tcprtt.8.gz
[ 65%] Generating tcpstates.8.gz
[ 66%] Generating tcpsubnet.8.gz
[ 66%] Generating tcpsynbl.8.gz
[ 66%] Generating tcptop.8.gz
[ 67%] Generating tcptracer.8.gz
[ 67%] Generating threadsnoop.8.gz
[ 67%] Generating tplist.8.gz
[ 68%] Generating trace.8.gz
[ 68%] Generating ttysnoop.8.gz
[ 68%] Generating ucalls.8.gz
[ 68%] Generating uflow.8.gz
[ 69%] Generating ugc.8.gz
[ 69%] Generating uobjnew.8.gz
[ 69%] Generating ustat.8.gz
[ 70%] Generating uthreads.8.gz
[ 70%] Generating vfscount.8.gz
[ 70%] Generating vfsstat.8.gz
[ 71%] Generating virtiostat.8.gz
[ 71%] Generating wakeuptime.8.gz
[ 71%] Generating xfsdist.8.gz
[ 72%] Generating xfsslower.8.gz
[ 72%] Generating zfsdist.8.gz
[ 72%] Generating zfsslower.8.gz
[ 72%] Built target man
Scanning dependencies of target bcc-static
[ 72%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_common.cc.o
[ 72%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpf_module.cc.o
[ 73%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpf_module.cc.o
[ 74%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_btf.cc.o
[ 74%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_btf.cc.o
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc: In member function 'int ebpf::BTF::get_btf_info(const char*, void**, unsigned int*, unsigned int*, void**, unsigned int*, unsigned int*)':
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:316:33: warning: 'int btf_ext__reloc_func_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)' is deprecated: btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
func_info, func_info_cnt);
^
In file included from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9,
from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:22:
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/libbpf/src/btf.h:88:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:316:33: warning: 'int btf_ext__reloc_func_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)' is deprecated: btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
func_info, func_info_cnt);
^
In file included from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9,
from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:22:
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/libbpf/src/btf.h:88:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:323:33: warning: 'int btf_ext__reloc_line_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)' is deprecated: btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
line_info, line_info_cnt);
^
In file included from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9,
from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:22:
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/libbpf/src/btf.h:93:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:323:33: warning: 'int btf_ext__reloc_line_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)' is deprecated: btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
line_info, line_info_cnt);
^
In file included from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9,
from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:22:
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/libbpf/src/btf.h:93:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc: In member function 'int ebpf::BTF::get_btf_info(const char*, void**, unsigned int*, unsigned int*, void**, unsigned int*, unsigned int*)':
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:316:33: warning: 'int btf_ext__reloc_func_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)' is deprecated: btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
func_info, func_info_cnt);
^
In file included from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9,
from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:22:
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/libbpf/src/btf.h:88:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:316:33: warning: 'int btf_ext__reloc_func_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)' is deprecated: btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
func_info, func_info_cnt);
^
In file included from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9,
from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:22:
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/libbpf/src/btf.h:88:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:323:33: warning: 'int btf_ext__reloc_line_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)' is deprecated: btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
line_info, line_info_cnt);
^
In file included from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9,
from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:22:
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/libbpf/src/btf.h:93:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:323:33: warning: 'int btf_ext__reloc_line_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)' is deprecated: btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
line_info, line_info_cnt);
^
In file included from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9,
from /tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/bcc_btf.cc:22:
/tmp/rpmbuild.HGmFlG/BUILD/bcc/src/cc/libbpf/src/btf.h:93:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
[ 74%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/exported_files.cc.o
[ 74%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/exported_files.cc.o
[ 74%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_debug.cc.o
[ 75%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_debug.cc.o
[ 76%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpf_module_rw_engine.cc.o
[ 76%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpf_module_rw_engine.cc.o
[ 76%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/table_storage.cc.o
[ 76%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/table_storage.cc.o
[ 76%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/shared_table.cc.o
[ 76%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/shared_table.cc.o
[ 77%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpffs_table.cc.o
[ 78%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpffs_table.cc.o
[ 78%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/json_map_decl_visitor.cc.o
[ 78%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/json_map_decl_visitor.cc.o
[ 78%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_syms.cc.o
[ 78%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/common.cc.o
[ 79%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/usdt/usdt.cc.o
[ 80%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_elf.c.o
[ 80%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_perf_map.c.o
[ 80%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_proc.c.o
[ 81%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/common.cc.o
[ 81%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/usdt/usdt_args.cc.o
[ 81%] Linking CXX shared library libbcc.so
[ 81%] Built target bcc-shared
Scanning dependencies of target test_libbcc
[ 82%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_libbcc.cc.o
[ 82%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_syms.cc.o
[ 83%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_elf.c.o
[ 83%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_perf_map.c.o
[ 83%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_proc.c.o
[ 84%] Linking CXX static library libbcc.a
[ 84%] Built target bcc-static
[ 84%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_c_api.cc.o
/tmp/rpmbuild.HGmFlG/BUILD/bcc/tests/cc/test_c_api.cc: In function 'int mntns_func(void*)':
/tmp/rpmbuild.HGmFlG/BUILD/bcc/tests/cc/test_c_api.cc:159:10: warning: 'char* strncpy(char*, const char*, size_t)' specified bound 1024 equals destination size [-Wstringop-truncation]
strncpy(libpath, lm->l_name, 1024);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 84%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_array_table.cc.o
[ 85%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_bpf_table.cc.o
Scanning dependencies of target KFuncExample
[ 85%] Building CXX object examples/cpp/CMakeFiles/KFuncExample.dir/KFuncExample.cc.o
[ 86%] Linking CXX executable KFuncExample
[ 86%] Built target KFuncExample
Scanning dependencies of target KModRetExample
[ 86%] Building CXX object examples/cpp/CMakeFiles/KModRetExample.dir/KModRetExample.cc.o
[ 86%] Linking CXX executable KModRetExample
[ 86%] Built target KModRetExample
Scanning dependencies of target HelloWorld
[ 87%] Building CXX object examples/cpp/CMakeFiles/HelloWorld.dir/HelloWorld.cc.o
[ 87%] Linking CXX executable HelloWorld
[ 87%] Built target HelloWorld
[ 87%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_cg_storage.cc.o
[ 87%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_hash_table.cc.o
[ 87%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_map_in_map.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_perf_event.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_pinned_table.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_prog_table.cc.o
[ 89%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_queuestack_table.cc.o
[ 89%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_shared_table.cc.o
[ 89%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_sk_storage.cc.o
[ 90%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_sock_table.cc.o
[ 90%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_usdt_args.cc.o
[ 90%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_usdt_probes.cc.o
[ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/utils.cc.o
[ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_parse_tracepoint.cc.o
Scanning dependencies of target FollyRequestContextSwitch
[ 91%] Building CXX object examples/cpp/CMakeFiles/FollyRequestContextSwitch.dir/FollyRequestContextSwitch.cc.o
[ 91%] Linking CXX executable test_libbcc
[ 91%] Built target test_libbcc
Scanning dependencies of target CGroupTest
[ 91%] Building CXX object examples/cpp/CMakeFiles/CGroupTest.dir/CGroupTest.cc.o
[ 91%] Linking CXX executable FollyRequestContextSwitch
[ 91%] Built target FollyRequestContextSwitch
Scanning dependencies of target CPUDistribution
[ 91%] Building CXX object examples/cpp/CMakeFiles/CPUDistribution.dir/CPUDistribution.cc.o
[ 91%] Linking CXX executable CGroupTest
[ 91%] Built target CGroupTest
Scanning dependencies of target LLCStat
[ 92%] Building CXX object examples/cpp/CMakeFiles/LLCStat.dir/LLCStat.cc.o
[ 93%] Linking CXX executable CPUDistribution
[ 93%] Built target CPUDistribution
Scanning dependencies of target RandomRead
[ 93%] Building CXX object examples/cpp/CMakeFiles/RandomRead.dir/RandomRead.cc.o
[ 93%] Linking CXX executable LLCStat
[ 94%] Linking CXX executable RandomRead
[ 94%] Built target LLCStat
Scanning dependencies of target RecordMySQLQuery
[ 94%] Building CXX object examples/cpp/CMakeFiles/RecordMySQLQuery.dir/RecordMySQLQuery.cc.o
[ 94%] Built target RandomRead
Scanning dependencies of target SkLocalStorageIterator
[ 95%] Building CXX object examples/cpp/CMakeFiles/SkLocalStorageIterator.dir/SkLocalStorageIterator.cc.o
[ 95%] Linking CXX executable RecordMySQLQuery
[ 95%] Linking CXX executable SkLocalStorageIterator
[ 95%] Built target RecordMySQLQuery
Scanning dependencies of target TCPSendStack
[ 95%] Building CXX object examples/cpp/CMakeFiles/TCPSendStack.dir/TCPSendStack.cc.o
[ 95%] Built target SkLocalStorageIterator
Scanning dependencies of target UseExternalMap
[ 96%] Building CXX object examples/cpp/CMakeFiles/UseExternalMap.dir/UseExternalMap.cc.o
[ 97%] Linking CXX executable TCPSendStack
[ 97%] Linking CXX executable UseExternalMap
[ 97%] Built target TCPSendStack
Scanning dependencies of target TaskIterator
[ 97%] Building CXX object examples/cpp/CMakeFiles/TaskIterator.dir/TaskIterator.cc.o
[ 97%] Built target UseExternalMap
Scanning dependencies of target PyPerf
[ 97%] Building CXX object examples/cpp/pyperf/CMakeFiles/PyPerf.dir/PyPerf.cc.o
[ 97%] Linking CXX executable TaskIterator
[ 98%] Building CXX object examples/cpp/pyperf/CMakeFiles/PyPerf.dir/PyPerfUtil.cc.o
[ 98%] Built target TaskIterator
Scanning dependencies of target test_static
[ 99%] Building C object tests/cc/CMakeFiles/test_static.dir/test_static.c.o
[ 99%] Linking CXX executable test_static
[ 99%] Built target test_static
[ 99%] Building CXX object examples/cpp/pyperf/CMakeFiles/PyPerf.dir/PyPerfBPFProgram.cc.o
[ 99%] Building CXX object examples/cpp/pyperf/CMakeFiles/PyPerf.dir/PyPerfLoggingHelper.cc.o
[100%] Building CXX object examples/cpp/pyperf/CMakeFiles/PyPerf.dir/PyPerfDefaultPrinter.cc.o
[100%] Building CXX object examples/cpp/pyperf/CMakeFiles/PyPerf.dir/Py36Offsets.cc.o
[100%] Linking CXX executable PyPerf
[100%] Built target PyPerf
+ popd
/tmp/rpmbuild.HGmFlG/BUILD/bcc
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.o4DzR5
+ umask 022
+ cd /tmp/rpmbuild.HGmFlG/BUILD
+ '[' /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64 '!=' / ']'
+ rm -rf /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64
++ dirname /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64
+ mkdir -p /tmp/rpmbuild.HGmFlG/BUILDROOT
+ mkdir /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64
+ cd bcc
+ pushd build
/tmp/rpmbuild.HGmFlG/BUILD/bcc/build /tmp/rpmbuild.HGmFlG/BUILD/bcc
+ make install/strip DESTDIR=/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64
[ 2%] Built target bcc-loader-static
[ 10%] Built target bpf-static
[ 12%] Built target clang_frontend
[ 13%] Built target api-static
[ 14%] Built target usdt-static
[ 17%] Built target b_frontend
[ 22%] Built target bcc-shared
[ 28%] Built target bcc-static
[ 37%] Built target bpf-shared
[ 37%] Built target bcc_py_python3
[ 37%] Built target bcc_py_python2
[ 39%] Built target bcc-lua
[ 40%] Built target bps
[ 41%] Built target KFuncExample
[ 41%] Built target KModRetExample
[ 42%] Built target HelloWorld
[ 42%] Built target FollyRequestContextSwitch
[ 42%] Built target CGroupTest
[ 43%] Built target CPUDistribution
[ 44%] Built target LLCStat
[ 45%] Built target RandomRead
[ 45%] Built target RecordMySQLQuery
[ 46%] Built target SkLocalStorageIterator
[ 47%] Built target TCPSendStack
[ 48%] Built target UseExternalMap
[ 48%] Built target TaskIterator
[ 50%] Built target PyPerf
[ 92%] Built target man
[ 93%] Built target usdt_test_lib
[ 94%] Built target test_static
[100%] Built target test_libbcc
Installing the project stripped...
-- Install configuration: "Release"
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/libbcc.so.0.21.0
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/libbcc.so.0
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/libbcc.so
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/libbcc.a
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/libbcc-loader-static.a
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/libbcc_bpf.a
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/file_desc.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/table_desc.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/table_storage.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/bcc_common.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/bpf_module.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/bcc_exception.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/bcc_syms.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/bcc_proc.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/bcc_elf.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/bcc_usdt.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/compat/linux
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/compat/linux/bpf.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/compat/linux/netlink.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/compat/linux/pkt_sched.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/compat/linux/if_xdp.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/compat/linux/btf.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/compat/linux/pkt_cls.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/compat/linux/bpf_common.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/compat/linux/if_link.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/pkgconfig/libbcc.pc
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/libbpf.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/perf_reader.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/bcc_version.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/libbcc_bpf.so.0.21.0
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/libbcc_bpf.so.0
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib64/libbcc_bpf.so
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/BPF.h
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/include/bcc/BPFTable.h
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/bcc
copying bcc/table.py -> build/lib/bcc
copying bcc/__init__.py -> build/lib/bcc
copying bcc/containers.py -> build/lib/bcc
copying bcc/syscall.py -> build/lib/bcc
copying bcc/libbcc.py -> build/lib/bcc
copying bcc/perf.py -> build/lib/bcc
copying bcc/tcp.py -> build/lib/bcc
copying bcc/version.py -> build/lib/bcc
copying bcc/disassembler.py -> build/lib/bcc
copying bcc/utils.py -> build/lib/bcc
copying bcc/usdt.py -> build/lib/bcc
running install_lib
creating /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib
creating /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7
creating /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages
creating /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/table.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/__init__.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/containers.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/syscall.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/libbcc.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/perf.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/tcp.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/version.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/disassembler.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/utils.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
copying build/lib/bcc/usdt.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/table.py to table.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/__init__.py to __init__.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/containers.py to containers.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/syscall.py to syscall.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/libbcc.py to libbcc.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/perf.py to perf.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/tcp.py to tcp.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/version.py to version.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/disassembler.py to disassembler.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/utils.py to utils.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc/usdt.py to usdt.pyc
running install_egg_info
Writing /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7/site-packages/bcc-0.21.0-py2.7.egg-info
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/bcc
copying bcc/table.py -> build/lib/bcc
copying bcc/__init__.py -> build/lib/bcc
copying bcc/containers.py -> build/lib/bcc
copying bcc/syscall.py -> build/lib/bcc
copying bcc/libbcc.py -> build/lib/bcc
copying bcc/perf.py -> build/lib/bcc
copying bcc/tcp.py -> build/lib/bcc
copying bcc/version.py -> build/lib/bcc
copying bcc/disassembler.py -> build/lib/bcc
copying bcc/utils.py -> build/lib/bcc
copying bcc/usdt.py -> build/lib/bcc
running install_lib
creating /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6
creating /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages
creating /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/table.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/__init__.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/containers.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/syscall.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/libbcc.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/perf.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/tcp.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/version.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/disassembler.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/utils.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
copying build/lib/bcc/usdt.py -> /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/table.py to table.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/__init__.py to __init__.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/containers.py to containers.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/syscall.py to syscall.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/libbcc.py to libbcc.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/perf.py to perf.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/tcp.py to tcp.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/version.py to version.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/disassembler.py to disassembler.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/utils.py to utils.cpython-36.pyc
byte-compiling /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc/usdt.py to usdt.cpython-36.pyc
running install_egg_info
Writing /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6/site-packages/bcc-0.21.0-py3.6.egg-info
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/bin/bcc-lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/introspection/bps
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/hello_world.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/bashreadline.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/bashreadline.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/kprobe-latency.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/kprobe-write.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/memleak.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/offcputime.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/sock-parse-dns.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/sock-parse-http.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/sock-proto.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/sock-protolen.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/strlen_count.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/task_switch.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/tracepoint-offcputime.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/uprobe-readline-perf.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/uprobe-readline.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/uprobe-tailkt.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/lua/usdt_ruby.lua
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/simulation.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/simple_tc.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tc_perf_event.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/distributed_bridge/simulation.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel_mesh.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/distributed_bridge/main.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel_mesh.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/neighbor_sharing/README.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/neighbor_sharing/simulation.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/neighbor_sharing/tc_neighbor_sharing.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/neighbor_sharing/tc_neighbor_sharing.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/vlan_learning/README.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/vlan_learning/simulation.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/vlan_learning/vlan_learning.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/vlan_learning/vlan_learning.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/README.md
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/chord.png
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/monitor.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/simulation.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/vxlan.jpg
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/main.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/monitor.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/setup.sh
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/traffic.sh
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-complete.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-simple.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/http_filter/README.md
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-complete.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-simple.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/xdp/xdp_drop_count.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/xdp/xdp_macswap_count.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/xdp/xdp_redirect_cpu.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/xdp/xdp_redirect_map.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/biolatpcts.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/bitehist.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/dddos.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/disksnoop.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/hello_fields.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/hello_perf_output.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/hello_perf_output_using_ns.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/kvm_hypercall.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/mallocstacks.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/mysqld_query.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/nflatency.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/nodejs_http_server.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/stack_buildid_example.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/stacksnoop.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/strlen_count.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/strlen_hist.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/strlen_hist_ifunc.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/strlen_snoop.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/sync_timing.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/task_switch.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/tcpv4connect.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/trace_fields.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/trace_perf_output.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/urandomread-explicit.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/urandomread.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/vfsreadlat.py
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/task_switch.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/vfsreadlat.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/CMakeLists.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/biolatpcts_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/bitehist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/dddos_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/disksnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/kvm_hypercall.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/mysqld_query_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/nodejs_http_server_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/stacksnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/tcpv4connect_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/urandomread_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/vfsreadlat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/argdist.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/bashreadline.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/bindsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/biolatency.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/biolatpcts.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/biosnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/biotop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/bitesize.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/bpflist.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/bps.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/btrfsdist.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/btrfsslower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/cachestat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/cachetop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/capable.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/cobjnew.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/compactsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/cpudist.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/cpuunclaimed.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/criticalstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/cthreads.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/dbslower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/dbstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/dcsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/dcstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/deadlock.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/dirtop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/drsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/execsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/exitsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/ext4dist.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/ext4slower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/filelife.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/fileslower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/filetop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/funccount.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/funcinterval.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/funclatency.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/funcslower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/gethostlatency.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/hardirqs.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/inject.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/javacalls.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/javaflow.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/javagc.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/javaobjnew.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/javastat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/javathreads.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/killsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/klockstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/ksnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/kvmexit.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/llcstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/mdflush.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/memleak.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/mountsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/mysqld_qslower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/netqtop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/nfsdist.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/nfsslower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/nodegc.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/nodestat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/offcputime.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/offwaketime.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/oomkill.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/opensnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/perlcalls.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/perlflow.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/perlstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/phpcalls.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/phpflow.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/phpstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/pidpersec.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/profile.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/pythoncalls.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/pythonflow.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/pythongc.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/pythonstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/readahead.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/reset-trace.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/rubycalls.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/rubyflow.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/rubygc.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/rubyobjnew.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/rubystat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/runqlat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/runqlen.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/runqslower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/shmsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/slabratetop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/sofdsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/softirqs.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/solisten.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/spfdsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/sslsniff.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/stackcount.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/statsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/swapin.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/syncsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/syscount.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tclcalls.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tclflow.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tclobjnew.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tclstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcpaccept.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcpconnect.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcpconnlat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcpdrop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcplife.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcpretrans.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcprtt.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcpstates.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcpsubnet.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcpsynbl.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcptop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tcptracer.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/threadsnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/tplist.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/trace.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/ttysnoop.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/ucalls.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/uflow.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/ugc.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/uobjnew.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/ustat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/uthreads.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/vfscount.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/vfsstat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/virtiostat.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/wakeuptime.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/xfsdist.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/xfsslower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/zfsdist.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/man/man8/zfsslower.8.gz
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/argdist
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/bashreadline
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/bindsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/biolatency
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/biolatpcts
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/biosnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/biotop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/bitesize
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/bpflist
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/btrfsdist
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/btrfsslower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/cachestat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/cachetop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/capable
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/compactsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/cpudist
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/cpuunclaimed
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/criticalstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/dbslower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/dbstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/dcsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/dcstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/deadlock
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/dirtop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/drsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/execsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/exitsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/ext4dist
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/ext4slower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/filelife
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/fileslower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/filetop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/funccount
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/funcinterval
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/funclatency
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/funcslower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/gethostlatency
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/hardirqs
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/inject
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/killsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/klockstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/kvmexit
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/llcstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/mdflush
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/memleak
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/mountsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/mysqld_qslower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/netqtop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/nfsdist
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/nfsslower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/offcputime
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/offwaketime
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/oomkill
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/opensnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/pidpersec
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/profile
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/readahead
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/runqlat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/runqlen
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/runqslower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/shmsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/slabratetop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/sofdsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/softirqs
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/solisten
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/sslsniff
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/stackcount
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/statsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/swapin
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/syncsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/syscount
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcpaccept
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcpconnect
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcpconnlat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcpdrop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcplife
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcpretrans
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcprtt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcpstates
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcpsubnet
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcpsynbl
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcptop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tcptracer
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/threadsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tplist
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/trace
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/ttysnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/vfscount
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/vfsstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/virtiostat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/wakeuptime
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/xfsdist
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/xfsslower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/zfsdist
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/zfsslower
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/cobjnew
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/javacalls
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/javaflow
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/javagc
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/javaobjnew
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/javastat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/javathreads
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/nodegc
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/nodestat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/perlcalls
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/perlflow
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/perlstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/phpcalls
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/phpflow
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/phpstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/pythoncalls
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/pythonflow
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/pythongc
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/pythonstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/reset-trace
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/rubycalls
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/rubyflow
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/rubygc
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/rubyobjnew
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/rubystat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tclcalls
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tclflow
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tclobjnew
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/tclstat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/deadlock.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/netqtop.c
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/argdist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/bashreadline_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/bindsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/biolatency_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/biolatpcts_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/biosnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/biotop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/bitesize_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/bpflist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/btrfsdist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/btrfsslower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/cachestat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/cachetop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/capable_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/cobjnew_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/compactsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/cpudist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/cpuunclaimed_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/criticalstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/cthreads_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/dbslower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/dbstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/dcsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/dcstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/deadlock_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/dirtop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/drsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/execsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/exitsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/ext4dist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/ext4slower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/filelife_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/fileslower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/filetop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/funccount_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/funcinterval_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/funclatency_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/funcslower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/gethostlatency_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/hardirqs_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/inject_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/javacalls_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/javaflow_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/javagc_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/javaobjnew_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/javastat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/javathreads_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/killsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/klockstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/kvmexit_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/llcstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/mdflush_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/memleak_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/mountsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/mysqld_qslower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/netqtop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/nfsdist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/nfsslower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/nodegc_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/nodestat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/offcputime_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/offwaketime_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/oomkill_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/opensnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/perlcalls_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/perlflow_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/perlstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/phpcalls_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/phpflow_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/phpstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/pidpersec_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/profile_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/pythoncalls_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/pythonflow_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/pythongc_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/pythonstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/readahead_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/reset-trace_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/rubycalls_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/rubyflow_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/rubygc_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/rubyobjnew_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/rubystat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/runqlat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/runqlen_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/runqslower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/shmsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/slabratetop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/sofdsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/softirqs_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/solisten_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/sslsniff_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/stackcount_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/statsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/swapin_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/syncsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/syscount_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tclcalls_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tclflow_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tclobjnew_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tclstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcpaccept_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcpconnect_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcpconnlat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcpdrop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcplife_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcpretrans_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcprtt_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcpstates_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcpsubnet_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcpsynbl_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcptop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tcptracer_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/threadsnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/tplist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/trace_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/ttysnoop_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/vfscount_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/vfsstat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/virtiostat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/wakeuptime_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/xfsdist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/xfsslower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/zfsdist_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/zfsslower_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/lib/ucalls
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/lib/uflow
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/lib/ugc
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/lib/uobjnew
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/lib/ustat
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/lib/uthreads
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/lib/ucalls_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/lib/uflow_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/lib/ugc_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/lib/uobjnew_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/lib/ustat_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/doc/lib/uthreads_example.txt
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/bashreadline
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/biosnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/compactsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/filelife
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/gethostlatency
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/hardirqs
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/killsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/memleak
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/offcputime
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/offwaketime
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/oomkill
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/opensnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/profile
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/softirqs
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/stackcount
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/stacksnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/statsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/syncsnoop
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/tcpaccept
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/tcpconnect
-- Installing: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools/old/wakeuptime
+ find /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/tools /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples -type f -exec sed -i -e '1 s|^#!/usr/bin/python$|#!/usr/bin/python3|' -e '1 s|^#!/usr/bin/env python$|#!/usr/bin/python3|' '{}' ';'
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
/sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf: No such file or directory
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip /usr/bin/strip
+ /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python3 1
Bytecompiling .py files below /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python2.7 using /usr/bin/python2.7
Bytecompiling .py files below /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/lib/python3.6 using /usr/bin/python3.6
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/simple_tc.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel_mesh.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/distributed_bridge/main.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tc_perf_event.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/xdp/xdp_redirect_cpu.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/xdp/xdp_drop_count.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/xdp/xdp_redirect_map.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/xdp/xdp_macswap_count.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/monitor.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/main.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/vlan_learning/vlan_learning.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-complete.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-simple.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/simulation.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/networking/neighbor_sharing/tc_neighbor_sharing.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/hello_world.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/strlen_hist.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/nodejs_http_server.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/biolatpcts.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/urandomread-explicit.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/hello_perf_output_using_ns.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/mallocstacks.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/hello_fields.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/stacksnoop.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/trace_fields.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/task_switch.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/tcpv4connect.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/hello_perf_output.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/mysqld_query.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/strlen_snoop.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/nflatency.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/bitehist.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/stack_buildid_example.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/disksnoop.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/strlen_count.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/strlen_hist_ifunc.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/sync_timing.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/urandomread.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/trace_perf_output.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/vfsreadlat.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/kvm_hypercall.py
/tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/tracing/dddos.py
+ /usr/lib/rpm/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-mangle-shebangs '' ''
mangling shebang in /usr/share/bcc/examples/lua/sock-parse-dns.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/kprobe-latency.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/memleak.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/offcputime.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/kprobe-write.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/usdt_ruby.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/task_switch.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/strlen_count.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/uprobe-readline-perf.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/sock-proto.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/uprobe-tailkt.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/tracepoint-offcputime.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/bashreadline.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/uprobe-readline.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/sock-protolen.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
mangling shebang in /usr/share/bcc/examples/lua/sock-parse-http.lua from /usr/bin/env bcc-lua to #!/usr/bin/bcc-lua
Processing files: libbcc-0.21.0-37.git.d7b26be0.x86_64
Provides: libbcc = 0.21.0-37.git.d7b26be0 libbcc(x86-64) = 0.21.0-37.git.d7b26be0 libbcc.so.0()(64bit) libbcc_bpf.so.0()(64bit) pkgconfig(libbcc) = 0.21.0
Requires(interp): /sbin/ldconfig /sbin/ldconfig
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Requires: /usr/bin/pkg-config libLLVM-6.0.so()(64bit) libLLVM-6.0.so(LLVM_6.0)(64bit) libbcc.so.0()(64bit) libbcc_bpf.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.22)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libc.so.6(GLIBC_2.9)(64bit) libclangAST.so.6()(64bit) libclangAnalysis.so.6()(64bit) libclangBasic.so.6()(64bit) libclangCodeGen.so.6()(64bit) libclangDriver.so.6()(64bit) libclangEdit.so.6()(64bit) libclangFrontend.so.6()(64bit) libclangLex.so.6()(64bit) libclangParse.so.6()(64bit) libclangRewrite.so.6()(64bit) libclangSema.so.6()(64bit) libclangSerialization.so.6()(64bit) libelf.so.1()(64bit) libelf.so.1(ELFUTILS_1.0)(64bit) libelf.so.1(ELFUTILS_1.3)(64bit) libelf.so.1(ELFUTILS_1.5)(64bit) libelf.so.1(ELFUTILS_1.6)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.15)(64bit) libstdc++.so.6(GLIBCXX_3.4.18)(64bit) libstdc++.so.6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libz.so.1()(64bit) rtld(GNU_HASH)
Processing files: python2-bcc-0.21.0-37.git.d7b26be0.x86_64
Provides: python-bcc = 0.21.0-37.git.d7b26be0 python-bcc(x86-64) = 0.21.0-37.git.d7b26be0 python2-bcc = 0.21.0-37.git.d7b26be0 python2-bcc(x86-64) = 0.21.0-37.git.d7b26be0 python2.7dist(bcc) = 0.21.0 python2dist(bcc) = 0.21.0
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: python(abi) = 2.7
Obsoletes: python-bcc < 0.21.0-37.git.d7b26be0
Processing files: python3-bcc-0.21.0-37.git.d7b26be0.x86_64
Provides: python3-bcc = 0.21.0-37.git.d7b26be0 python3-bcc(x86-64) = 0.21.0-37.git.d7b26be0 python3.6dist(bcc) = 0.21.0 python3dist(bcc) = 0.21.0
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: python(abi) = 3.6
Processing files: bcc-lua-0.21.0-37.git.d7b26be0.x86_64
Provides: bcc-lua = 0.21.0-37.git.d7b26be0 bcc-lua(x86-64) = 0.21.0-37.git.d7b26be0
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libluajit-5.1.so.2()(64bit) rtld(GNU_HASH)
Processing files: libbcc-examples-0.21.0-37.git.d7b26be0.x86_64
warning: File not found: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/*.pyc
warning: File not found: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/*.pyo
warning: File not found: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/*/*.pyo
warning: File not found: /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64/usr/share/bcc/examples/*/*/*.pyo
Provides: libbcc-examples = 0.21.0-37.git.d7b26be0 libbcc-examples(x86-64) = 0.21.0-37.git.d7b26be0
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/bash /usr/bin/bcc-lua /usr/bin/python3
Processing files: bcc-tools-0.21.0-37.git.d7b26be0.x86_64
Provides: bcc-tools = 0.21.0-37.git.d7b26be0 bcc-tools(x86-64) = 0.21.0-37.git.d7b26be0
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/bash /usr/bin/python3 libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.22)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.9)(64bit) libelf.so.1()(64bit) libelf.so.1(ELFUTILS_1.0)(64bit) libelf.so.1(ELFUTILS_1.5)(64bit) libgcc_s.so.1()(64bit) libm.so.6()(64bit) librt.so.1()(64bit) librt.so.1(GLIBC_2.2.5)(64bit) libstdc++.so.6()(64bit) libz.so.1()(64bit) rtld(GNU_HASH)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64
Wrote: /tmp/rpmbuild.HGmFlG/SRPMS/bcc-0.21.0-37.git.d7b26be0.src.rpm
Wrote: /tmp/rpmbuild.HGmFlG/RPMS/x86_64/libbcc-0.21.0-37.git.d7b26be0.x86_64.rpm
Wrote: /tmp/rpmbuild.HGmFlG/RPMS/x86_64/python2-bcc-0.21.0-37.git.d7b26be0.x86_64.rpm
Wrote: /tmp/rpmbuild.HGmFlG/RPMS/x86_64/python3-bcc-0.21.0-37.git.d7b26be0.x86_64.rpm
Wrote: /tmp/rpmbuild.HGmFlG/RPMS/x86_64/bcc-lua-0.21.0-37.git.d7b26be0.x86_64.rpm
Wrote: /tmp/rpmbuild.HGmFlG/RPMS/x86_64/libbcc-examples-0.21.0-37.git.d7b26be0.x86_64.rpm
Wrote: /tmp/rpmbuild.HGmFlG/RPMS/x86_64/bcc-tools-0.21.0-37.git.d7b26be0.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.3wyvPs
+ umask 022
+ cd /tmp/rpmbuild.HGmFlG/BUILD
+ cd bcc
+ /usr/bin/rm -rf /tmp/rpmbuild.HGmFlG/BUILDROOT/bcc-0.21.0-37.git.d7b26be0.x86_64
+ exit 0
+ popd
~/jenkins/workspace/bcc-pr/label/fc28
+ cp /tmp/rpmbuild.HGmFlG/RPMS/x86_64/bcc-lua-0.21.0-37.git.d7b26be0.x86_64.rpm /tmp/rpmbuild.HGmFlG/RPMS/x86_64/bcc-tools-0.21.0-37.git.d7b26be0.x86_64.rpm /tmp/rpmbuild.HGmFlG/RPMS/x86_64/libbcc-0.21.0-37.git.d7b26be0.x86_64.rpm /tmp/rpmbuild.HGmFlG/RPMS/x86_64/libbcc-examples-0.21.0-37.git.d7b26be0.x86_64.rpm /tmp/rpmbuild.HGmFlG/RPMS/x86_64/python2-bcc-0.21.0-37.git.d7b26be0.x86_64.rpm /tmp/rpmbuild.HGmFlG/RPMS/x86_64/python3-bcc-0.21.0-37.git.d7b26be0.x86_64.rpm .
+ cp /tmp/rpmbuild.HGmFlG/SRPMS/bcc-0.21.0-37.git.d7b26be0.src.rpm .
+ cleanup
+ [[ -d /tmp/rpmbuild.HGmFlG ]]
+ rm -rf /tmp/rpmbuild.HGmFlG
+ sudo rpm -ivh bcc-lua-0.21.0-37.git.d7b26be0.x86_64.rpm bcc-tools-0.21.0-37.git.d7b26be0.x86_64.rpm libbcc-0.21.0-37.git.d7b26be0.x86_64.rpm libbcc-examples-0.21.0-37.git.d7b26be0.x86_64.rpm python2-bcc-0.21.0-37.git.d7b26be0.x86_64.rpm python3-bcc-0.21.0-37.git.d7b26be0.x86_64.rpm
Preparing... ########################################
Updating / installing...
libbcc-0.21.0-37.git.d7b26be0 ########################################
python3-bcc-0.21.0-37.git.d7b26be0 ########################################
bcc-lua-0.21.0-37.git.d7b26be0 ########################################
libbcc-examples-0.21.0-37.git.d7b26be0########################################
bcc-tools-0.21.0-37.git.d7b26be0 ########################################
python2-bcc-0.21.0-37.git.d7b26be0 ########################################
+ mkdir upload
+ mv bcc-0.21.0-37.git.d7b26be0.src.rpm bcc-lua-0.21.0-37.git.d7b26be0.x86_64.rpm bcc-tools-0.21.0-37.git.d7b26be0.x86_64.rpm libbcc-0.21.0-37.git.d7b26be0.x86_64.rpm libbcc-examples-0.21.0-37.git.d7b26be0.x86_64.rpm python2-bcc-0.21.0-37.git.d7b26be0.x86_64.rpm python3-bcc-0.21.0-37.git.d7b26be0.x86_64.rpm upload
[fc28] $ /bin/sh -xe /tmp/CommandInterpreterCondition6943067418548497950.sh
+ grep -q '^ID=ubuntu' /etc/os-release
Run condition [Execute Shell] preventing perform for step [Execute shell]
[fc28] $ /bin/sh -xe /tmp/jenkins3706297432097395400.sh
+ mkdir build
+ cd build
+ [[ fc28 fedora28-slave-328 = *\f\c\2\8* ]]
+ EXTRA_CMAKE_FLAGS=-DENABLE_LLVM_SHARED=1
+ sudo ln -s /usr/bin/python3 /usr/local/bin/python
+ cmake .. -DENABLE_LLVM_SHARED=1
-- The C compiler identification is GNU 8.1.1
-- The CXX compiler identification is GNU 8.1.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Latest recognized Git tag is v0.21.0
-- Git HEAD is d7b26be08db610525a58a99880f15cc18ce940dd
-- Revision is 0.21.0-d7b26be0
-- Performing Test HAVE_NO_PIE_FLAG
-- Performing Test HAVE_NO_PIE_FLAG - Success
-- Performing Test HAVE_REALLOCARRAY_SUPPORT
-- Performing Test HAVE_REALLOCARRAY_SUPPORT - Success
-- Found LLVM: /usr/include 6.0.1
-- Found BISON: /usr/bin/bison (found version "3.0.4")
-- Found FLEX: /usr/bin/flex (found version "2.6.1")
-- Found LibElf: /usr/lib64/libelf.so
-- Performing Test ELF_GETSHDRSTRNDX
-- Performing Test ELF_GETSHDRSTRNDX - Success
-- Could NOT find LibDebuginfod (missing: LIBDEBUGINFOD_LIBRARIES LIBDEBUGINFOD_INCLUDE_DIRS)
-- Found LuaJIT: /usr/lib64/libluajit-5.1.so;/usr/lib64/libdl.so;/usr/lib64/libm.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build
+ make -j2 -C tests/cc
make: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/cc'
make[1]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target usdt_test_lib
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target clang_frontend
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 0%] Building CXX object tests/cc/CMakeFiles/usdt_test_lib.dir/usdt_test_lib.cc.o
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 0%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/loader.cc.o
[ 2%] Linking CXX shared library libusdt_test_lib.so
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 2%] Built target usdt_test_lib
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target bcc-loader-static
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 5%] Building CXX object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_syms.cc.o
[ 5%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_elf.c.o
[ 5%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_perf_map.c.o
[ 8%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_proc.c.o
[ 8%] Building CXX object src/cc/CMakeFiles/bcc-loader-static.dir/common.cc.o
[ 8%] Linking CXX static library libbcc-loader-static.a
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 8%] Built target bcc-loader-static
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target bpf-static
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 8%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf.c.o
[ 8%] Building C object src/cc/CMakeFiles/bpf-static.dir/perf_reader.c.o
[ 11%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/bpf.c.o
[ 11%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/bpf_prog_linfo.c.o
[ 11%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/btf.c.o
[ 13%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/btf_dump.c.o
[ 13%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/gen_loader.c.o
[ 13%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/hashmap.c.o
[ 13%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf.c.o
[ 16%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf_errno.c.o
[ 16%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf_probes.c.o
[ 16%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/linker.c.o
[ 16%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/b_frontend_action.cc.o
[ 19%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/netlink.c.o
[ 19%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/nlattr.c.o
[ 19%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/relo_core.c.o
[ 22%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/ringbuf.c.o
[ 22%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/str_error.c.o
[ 22%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/strset.c.o
[ 25%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/xsk.c.o
[ 25%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/bcc_syms.cc.o
[ 25%] Building C object src/cc/CMakeFiles/bpf-static.dir/bcc_elf.c.o
[ 27%] Building C object src/cc/CMakeFiles/bpf-static.dir/bcc_perf_map.c.o
[ 27%] Building C object src/cc/CMakeFiles/bpf-static.dir/bcc_proc.c.o
[ 27%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/common.cc.o
[ 30%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/usdt/usdt.cc.o
[ 30%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/usdt/usdt_args.cc.o
[ 30%] Linking CXX static library libbcc_bpf.a
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 30%] Built target bpf-static
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target api-static
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 30%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPF.cc.o
[ 33%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPFTable.cc.o
[ 33%] Linking CXX static library libapi-static.a
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 33%] Built target api-static
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target usdt-static
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 33%] Building CXX object src/cc/usdt/CMakeFiles/usdt-static.dir/usdt_args.cc.o
[ 36%] Building CXX object src/cc/usdt/CMakeFiles/usdt-static.dir/usdt.cc.o
[ 36%] Linking CXX static library libusdt-static.a
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 36%] Built target usdt-static
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 38%] [FLEX][Lexer] Building scanner with flex 2.6.1
lexer.ll:110: warning, -s option given but default rule can be matched
[ 38%] [BISON][Parser] Building parser with bison 3.0.4
parser.yy:19.9-17: warning: deprecated directive, use ‘%define api.namespace ebpf::cc’ [-Wdeprecated]
%define namespace "ebpf::cc"
^^^^^^^^^
parser.yy:19.9-17: warning: %define variable 'api.namespace' requires '{...}' values [-Wdeprecated]
%define namespace "ebpf::cc"
^^^^^^^^^
parser.yy:20.9-25: warning: %define variable 'parser_class_name' requires '{...}' values [-Wdeprecated]
%define parser_class_name "BisonParser"
^^^^^^^^^^^^^^^^^
Scanning dependencies of target b_frontend
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 38%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/loader.cc.o
[ 38%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/codegen_llvm.cc.o
[ 41%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/node.cc.o
[ 41%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.cc.o
[ 44%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/tp_frontend_action.cc.o
[ 44%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/printer.cc.o
[ 44%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/type_check.cc.o
[ 47%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.yy.cc.o
[ 47%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/lexer.ll.cc.o
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/cc/frontends/b/lexer.ll.cc: In member function ‘virtual int ebpf::cc::Lexer::yylex()’:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/cc/frontends/b/lexer.ll.cc:752:23: warning: comparison of integer expressions of different signedness: ‘yy_size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
for ( yyl = 0; yyl < yyleng; ++yyl )
~~~~^~~~~~~~
[ 47%] Linking CXX static library libb_frontend.a
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 47%] Built target b_frontend
[ 47%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/kbuild_helper.cc.o
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/frontends/clang/kbuild_helper.cc:80:3: warning: multi-line comment [-Wcomment]
// USERINCLUDE := \
^
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/frontends/clang/kbuild_helper.cc:89:3: warning: multi-line comment [-Wcomment]
// LINUXINCLUDE := \
^
[ 47%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/__/__/common.cc.o
[ 50%] Linking CXX static library libclang_frontend.a
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 50%] Built target clang_frontend
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target bcc-shared
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target bcc-static
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 50%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/link_all.cc.o
[ 50%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_common.cc.o
[ 50%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_common.cc.o
[ 52%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpf_module.cc.o
[ 55%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpf_module.cc.o
[ 55%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_btf.cc.o
[ 55%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_btf.cc.o
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc: In member function ‘int ebpf::BTF::get_btf_info(const char*, void**, unsigned int*, unsigned int*, void**, unsigned int*, unsigned int*)’:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:316:33: warning: ‘int btf_ext__reloc_func_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)’ is deprecated: btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
func_info, func_info_cnt);
^
In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_libbpf_inc.h:9,
from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:22:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf/src/btf.h:88:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:316:33: warning: ‘int btf_ext__reloc_func_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)’ is deprecated: btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
func_info, func_info_cnt);
^
In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_libbpf_inc.h:9,
from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:22:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf/src/btf.h:88:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:323:33: warning: ‘int btf_ext__reloc_line_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)’ is deprecated: btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
line_info, line_info_cnt);
^
In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_libbpf_inc.h:9,
from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:22:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf/src/btf.h:93:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:323:33: warning: ‘int btf_ext__reloc_line_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)’ is deprecated: btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
line_info, line_info_cnt);
^
In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_libbpf_inc.h:9,
from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:22:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf/src/btf.h:93:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc: In member function ‘int ebpf::BTF::get_btf_info(const char*, void**, unsigned int*, unsigned int*, void**, unsigned int*, unsigned int*)’:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:316:33: warning: ‘int btf_ext__reloc_func_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)’ is deprecated: btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
func_info, func_info_cnt);
^
In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_libbpf_inc.h:9,
from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:22:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf/src/btf.h:88:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:316:33: warning: ‘int btf_ext__reloc_func_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)’ is deprecated: btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
func_info, func_info_cnt);
^
In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_libbpf_inc.h:9,
from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:22:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf/src/btf.h:88:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:323:33: warning: ‘int btf_ext__reloc_line_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)’ is deprecated: btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
line_info, line_info_cnt);
^
In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_libbpf_inc.h:9,
from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:22:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf/src/btf.h:93:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:323:33: warning: ‘int btf_ext__reloc_line_info(const btf*, const btf_ext*, const char*, __u32, void**, __u32*)’ is deprecated: btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions [-Wdeprecated-declarations]
line_info, line_info_cnt);
^
In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_libbpf_inc.h:9,
from /home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/bcc_btf.cc:22:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/src/cc/libbpf/src/btf.h:93:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
[ 55%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/exported_files.cc.o
[ 55%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/exported_files.cc.o
[ 58%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_debug.cc.o
[ 61%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_debug.cc.o
[ 61%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpf_module_rw_engine.cc.o
[ 61%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpf_module_rw_engine.cc.o
[ 61%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/table_storage.cc.o
[ 61%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/table_storage.cc.o
[ 63%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/shared_table.cc.o
[ 63%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/shared_table.cc.o
[ 63%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpffs_table.cc.o
[ 66%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpffs_table.cc.o
[ 66%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/json_map_decl_visitor.cc.o
[ 66%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/json_map_decl_visitor.cc.o
[ 66%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/common.cc.o
[ 66%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_syms.cc.o
[ 69%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/usdt/usdt.cc.o
[ 72%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_elf.c.o
[ 72%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_perf_map.c.o
[ 72%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_proc.c.o
[ 75%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/common.cc.o
[ 75%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/usdt/usdt_args.cc.o
[ 75%] Linking CXX shared library libbcc.so
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 75%] Built target bcc-shared
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target test_libbcc
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 77%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_libbcc.cc.o
[ 77%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_syms.cc.o
[ 80%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_elf.c.o
[ 80%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_perf_map.c.o
[ 80%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_proc.c.o
[ 83%] Linking CXX static library libbcc.a
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 83%] Built target bcc-static
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
Scanning dependencies of target test_static
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 86%] Building C object tests/cc/CMakeFiles/test_static.dir/test_static.c.o
[ 86%] Linking CXX executable test_static
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[ 86%] Built target test_static
[ 86%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_c_api.cc.o
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/cc/test_c_api.cc: In function ‘int mntns_func(void*)’:
/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/cc/test_c_api.cc:159:10: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 1024 equals destination size [-Wstringop-truncation]
strncpy(libpath, lm->l_name, 1024);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 86%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_array_table.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_bpf_table.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_cg_storage.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_hash_table.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_map_in_map.cc.o
[ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_perf_event.cc.o
[ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_pinned_table.cc.o
[ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_prog_table.cc.o
[ 94%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_queuestack_table.cc.o
[ 94%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_shared_table.cc.o
[ 94%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_sk_storage.cc.o
[ 97%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_sock_table.cc.o
[ 97%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_usdt_args.cc.o
[ 97%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_usdt_probes.cc.o
[100%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/utils.cc.o
[100%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_parse_tracepoint.cc.o
[100%] Linking CXX executable test_libbcc
make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
[100%] Built target test_libbcc
make[1]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build'
make: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/cc'
+ ctest -V -D ExperimentalTest --no-compress-output
UpdateCTestConfiguration from :/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/DartConfiguration.tcl
Cannot find file: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/DartConfiguration.tcl
Site:
Build name: (empty)
Create new tag: 20210906-0307 - Experimental
UpdateCTestConfiguration from :/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/DartConfiguration.tcl
Cannot find file: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/DartConfiguration.tcl
Test project /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build
Constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
Start 1: style-check
1: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/scripts/c-style-check.sh
1: Test timeout computed to be: 10000000
1: diff --git a/libbpf-tools/ksnoop.bpf.c b/libbpf-tools/ksnoop.bpf.c
1: index 13342e5e..ac72a834 100644
1: --- a/libbpf-tools/ksnoop.bpf.c
1: +++ b/libbpf-tools/ksnoop.bpf.c
1: @@ -3,9 +3,9 @@
1:
1: #include "vmlinux.h"
1:
1: +#include <bpf/bpf_core_read.h>
1: #include <bpf/bpf_helpers.h>
1: #include <bpf/bpf_tracing.h>
1: -#include <bpf/bpf_core_read.h>
1:
1: #include "ksnoop.h"
1:
1: @@ -18,440 +18,414 @@
1: * calls "b" and "b" calls "c" - utilizes this stack to determine if trace
1: * data should be collected.
1: */
1: -#define FUNC_MAX_STACK_DEPTH 16
1: +#define FUNC_MAX_STACK_DEPTH 16
1:
1: #ifndef ENOSPC
1: -#define ENOSPC 28
1: +#define ENOSPC 28
1: #endif
1:
1: struct func_stack {
1: - __u64 task;
1: - __u64 ips[FUNC_MAX_STACK_DEPTH];
1: - __u8 stack_depth;
1: + __u64 task;
1: + __u64 ips[FUNC_MAX_STACK_DEPTH];
1: + __u8 stack_depth;
1: };
1:
1: -#define MAX_TASKS 2048
1: +#define MAX_TASKS 2048
1:
1: /* function call stack hashed on a per-task key */
1: struct {
1: - __uint(type, BPF_MAP_TYPE_HASH);
1: - /* function call stack for functions we are tracing */
1: - __uint(max_entries, MAX_TASKS);
1: - __type(key, __u64);
1: - __type(value, struct func_stack);
1: + __uint(type, BPF_MAP_TYPE_HASH);
1: + /* function call stack for functions we are tracing */
1: + __uint(max_entries, MAX_TASKS);
1: + __type(key, __u64);
1: + __type(value, struct func_stack);
1: } ksnoop_func_stack SEC(".maps");
1:
1: /* per-cpu trace info hashed on function address */
1: struct {
1: - __uint(type, BPF_MAP_TYPE_PERCPU_HASH);
1: - __uint(max_entries, MAX_FUNC_TRACES);
1: - __type(key, __u64);
1: - __type(value, struct trace);
1: + __uint(type, BPF_MAP_TYPE_PERCPU_HASH);
1: + __uint(max_entries, MAX_FUNC_TRACES);
1: + __type(key, __u64);
1: + __type(value, struct trace);
1: } ksnoop_func_map SEC(".maps");
1:
1: struct {
1: - __uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);
1: - __uint(value_size, sizeof(int));
1: - __uint(key_size, sizeof(int));
1: + __uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);
1: + __uint(value_size, sizeof(int));
1: + __uint(key_size, sizeof(int));
1: } ksnoop_perf_map SEC(".maps");
1:
1: -static void clear_trace(struct trace *trace)
1: -{
1: - __builtin_memset(&trace->trace_data, 0, sizeof(trace->trace_data));
1: - trace->data_flags = 0;
1: - trace->buf_len = 0;
1: +static void clear_trace(struct trace *trace) {
1: + __builtin_memset(&trace->trace_data, 0, sizeof(trace->trace_data));
1: + trace->data_flags = 0;
1: + trace->buf_len = 0;
1: }
1:
1: -static struct trace *get_trace(struct pt_regs *ctx, bool entry)
1: -{
1: - __u8 stack_depth, last_stack_depth;
1: - struct func_stack *func_stack;
1: - __u64 ip, last_ip = 0, task;
1: - struct trace *trace;
1: -
1: - task = bpf_get_current_task();
1: -
1: - func_stack = bpf_map_lookup_elem(&ksnoop_func_stack, &task);
1: - if (!func_stack) {
1: - struct func_stack new_stack = { .task = task };
1: -
1: - bpf_map_update_elem(&ksnoop_func_stack, &task, &new_stack,
1: - BPF_NOEXIST);
1: - func_stack = bpf_map_lookup_elem(&ksnoop_func_stack, &task);
1: - if (!func_stack)
1: - return NULL;
1: - }
1: -
1: - stack_depth = func_stack->stack_depth;
1: - if (stack_depth > FUNC_MAX_STACK_DEPTH)
1: - return NULL;
1: -
1: - if (entry) {
1: - ip = KSNOOP_IP_FIX(PT_REGS_IP_CORE(ctx));
1: - if (stack_depth >= FUNC_MAX_STACK_DEPTH - 1)
1: - return NULL;
1: - /* verifier doesn't like using "stack_depth - 1" as array index
1: - * directly.
1: - */
1: - last_stack_depth = stack_depth - 1;
1: - /* get address of last function we called */
1: - if (last_stack_depth >= 0 &&
1: - last_stack_depth < FUNC_MAX_STACK_DEPTH)
1: - last_ip = func_stack->ips[last_stack_depth];
1: - /* push ip onto stack. return will pop it. */
1: - func_stack->ips[stack_depth++] = ip;
1: - func_stack->stack_depth = stack_depth;
1: - /* rather than zero stack entries on popping, we zero the
1: - * (stack_depth + 1)'th entry when pushing the current
1: - * entry. The reason we take this approach is that
1: - * when tracking the set of functions we returned from,
1: - * we want the history of functions we returned from to
1: - * be preserved.
1: - */
1: - if (stack_depth < FUNC_MAX_STACK_DEPTH)
1: - func_stack->ips[stack_depth] = 0;
1: - } else {
1: - if (stack_depth == 0 || stack_depth >= FUNC_MAX_STACK_DEPTH)
1: - return NULL;
1: - last_stack_depth = stack_depth;
1: - /* get address of last function we returned from */
1: - if (last_stack_depth >= 0 &&
1: - last_stack_depth < FUNC_MAX_STACK_DEPTH)
1: - last_ip = func_stack->ips[last_stack_depth];
1: - if (stack_depth > 0)
1: - stack_depth = stack_depth - 1;
1: - /* retrieve ip from stack as IP in pt_regs is
1: - * bpf kretprobe trampoline address.
1: - */
1: - if (stack_depth >= 0 && stack_depth < FUNC_MAX_STACK_DEPTH)
1: - ip = func_stack->ips[stack_depth];
1: - if (stack_depth >= 0 && stack_depth < FUNC_MAX_STACK_DEPTH)
1: - func_stack->stack_depth = stack_depth;
1: - }
1: -
1: - trace = bpf_map_lookup_elem(&ksnoop_func_map, &ip);
1: - if (!trace)
1: - return NULL;
1: -
1: - /* we may stash data on entry since predicates are a mix
1: - * of entry/return; in such cases, trace->flags specifies
1: - * KSNOOP_F_STASH, and we will output stashed data on return.
1: - * If returning, make sure we don't clear our stashed data.
1: - */
1: - if (!entry && (trace->flags & KSNOOP_F_STASH)) {
1: - /* skip clearing trace data */
1: - if (!(trace->data_flags & KSNOOP_F_STASHED)) {
1: - /* predicate must have failed */
1: - return NULL;
1: - }
1: - /* skip clearing trace data */
1: - } else {
1: - /* clear trace data before starting. */
1: - clear_trace(trace);
1: - }
1: -
1: - if (entry) {
1: - /* if in stack mode, check if previous fn matches */
1: - if (trace->prev_ip && trace->prev_ip != last_ip)
1: - return NULL;
1: - /* if tracing intermediate fn in stack of fns, stash data. */
1: - if (trace->next_ip)
1: - trace->data_flags |= KSNOOP_F_STASH;
1: - /* we may stash data on entry since predicates are a mix
1: - * of entry/return; in such cases, trace->flags specifies
1: - * KSNOOP_F_STASH, and we will output stashed data on return.
1: - */
1: - if (trace->flags & KSNOOP_F_STASH)
1: - trace->data_flags |= KSNOOP_F_STASH;
1: - /* otherwise the data is outputted (because we've reached
1: - * the last fn in the set of fns specified).
1: - */
1: - } else {
1: - /* In stack mode, check if next fn matches the last fn
1: - * we returned from; i.e. "a" called "b", and now
1: - * we're at "a", was the last fn we returned from "b"?
1: - * If so, stash data for later display (when we reach the
1: - * first fn in the set of stack fns).
1: - */
1: - if (trace->next_ip && trace->next_ip != last_ip)
1: - return NULL;
1: - if (trace->prev_ip)
1: - trace->data_flags |= KSNOOP_F_STASH;
1: - /* If there is no "prev" function, i.e. we are at the
1: - * first function in a set of stack functions, the trace
1: - * info is shown (along with any stashed info associated
1: - * with callers).
1: - */
1: - }
1: - trace->task = task;
1: - return trace;
1: +static struct trace *get_trace(struct pt_regs *ctx, bool entry) {
1: + __u8 stack_depth, last_stack_depth;
1: + struct func_stack *func_stack;
1: + __u64 ip, last_ip = 0, task;
1: + struct trace *trace;
1: +
1: + task = bpf_get_current_task();
1: +
1: + func_stack = bpf_map_lookup_elem(&ksnoop_func_stack, &task);
1: + if (!func_stack) {
1: + struct func_stack new_stack = {.task = task};
1: +
1: + bpf_map_update_elem(&ksnoop_func_stack, &task, &new_stack, BPF_NOEXIST);
1: + func_stack = bpf_map_lookup_elem(&ksnoop_func_stack, &task);
1: + if (!func_stack)
1: + return NULL;
1: + }
1: +
1: + stack_depth = func_stack->stack_depth;
1: + if (stack_depth > FUNC_MAX_STACK_DEPTH)
1: + return NULL;
1: +
1: + if (entry) {
1: + ip = KSNOOP_IP_FIX(PT_REGS_IP_CORE(ctx));
1: + if (stack_depth >= FUNC_MAX_STACK_DEPTH - 1)
1: + return NULL;
1: + /* verifier doesn't like using "stack_depth - 1" as array index
1: + * directly.
1: + */
1: + last_stack_depth = stack_depth - 1;
1: + /* get address of last function we called */
1: + if (last_stack_depth >= 0 && last_stack_depth < FUNC_MAX_STACK_DEPTH)
1: + last_ip = func_stack->ips[last_stack_depth];
1: + /* push ip onto stack. return will pop it. */
1: + func_stack->ips[stack_depth++] = ip;
1: + func_stack->stack_depth = stack_depth;
1: + /* rather than zero stack entries on popping, we zero the
1: + * (stack_depth + 1)'th entry when pushing the current
1: + * entry. The reason we take this approach is that
1: + * when tracking the set of functions we returned from,
1: + * we want the history of functions we returned from to
1: + * be preserved.
1: + */
1: + if (stack_depth < FUNC_MAX_STACK_DEPTH)
1: + func_stack->ips[stack_depth] = 0;
1: + } else {
1: + if (stack_depth == 0 || stack_depth >= FUNC_MAX_STACK_DEPTH)
1: + return NULL;
1: + last_stack_depth = stack_depth;
1: + /* get address of last function we returned from */
1: + if (last_stack_depth >= 0 && last_stack_depth < FUNC_MAX_STACK_DEPTH)
1: + last_ip = func_stack->ips[last_stack_depth];
1: + if (stack_depth > 0)
1: + stack_depth = stack_depth - 1;
1: + /* retrieve ip from stack as IP in pt_regs is
1: + * bpf kretprobe trampoline address.
1: + */
1: + if (stack_depth >= 0 && stack_depth < FUNC_MAX_STACK_DEPTH)
1: + ip = func_stack->ips[stack_depth];
1: + if (stack_depth >= 0 && stack_depth < FUNC_MAX_STACK_DEPTH)
1: + func_stack->stack_depth = stack_depth;
1: + }
1: +
1: + trace = bpf_map_lookup_elem(&ksnoop_func_map, &ip);
1: + if (!trace)
1: + return NULL;
1: +
1: + /* we may stash data on entry since predicates are a mix
1: + * of entry/return; in such cases, trace->flags specifies
1: + * KSNOOP_F_STASH, and we will output stashed data on return.
1: + * If returning, make sure we don't clear our stashed data.
1: + */
1: + if (!entry && (trace->flags & KSNOOP_F_STASH)) {
1: + /* skip clearing trace data */
1: + if (!(trace->data_flags & KSNOOP_F_STASHED)) {
1: + /* predicate must have failed */
1: + return NULL;
1: + }
1: + /* skip clearing trace data */
1: + } else {
1: + /* clear trace data before starting. */
1: + clear_trace(trace);
1: + }
1: +
1: + if (entry) {
1: + /* if in stack mode, check if previous fn matches */
1: + if (trace->prev_ip && trace->prev_ip != last_ip)
1: + return NULL;
1: + /* if tracing intermediate fn in stack of fns, stash data. */
1: + if (trace->next_ip)
1: + trace->data_flags |= KSNOOP_F_STASH;
1: + /* we may stash data on entry since predicates are a mix
1: + * of entry/return; in such cases, trace->flags specifies
1: + * KSNOOP_F_STASH, and we will output stashed data on return.
1: + */
1: + if (trace->flags & KSNOOP_F_STASH)
1: + trace->data_flags |= KSNOOP_F_STASH;
1: + /* otherwise the data is outputted (because we've reached
1: + * the last fn in the set of fns specified).
1: + */
1: + } else {
1: + /* In stack mode, check if next fn matches the last fn
1: + * we returned from; i.e. "a" called "b", and now
1: + * we're at "a", was the last fn we returned from "b"?
1: + * If so, stash data for later display (when we reach the
1: + * first fn in the set of stack fns).
1: + */
1: + if (trace->next_ip && trace->next_ip != last_ip)
1: + return NULL;
1: + if (trace->prev_ip)
1: + trace->data_flags |= KSNOOP_F_STASH;
1: + /* If there is no "prev" function, i.e. we are at the
1: + * first function in a set of stack functions, the trace
1: + * info is shown (along with any stashed info associated
1: + * with callers).
1: + */
1: + }
1: + trace->task = task;
1: + return trace;
1: }
1:
1: -static void output_trace(struct pt_regs *ctx, struct trace *trace)
1: -{
1: - __u16 trace_len;
1: -
1: - if (trace->buf_len == 0)
1: - goto skip;
1: -
1: - /* we may be simply stashing values, and will report later */
1: - if (trace->data_flags & KSNOOP_F_STASH) {
1: - trace->data_flags &= ~KSNOOP_F_STASH;
1: - trace->data_flags |= KSNOOP_F_STASHED;
1: - return;
1: - }
1: - /* we may be outputting earlier stashed data */
1: - if (trace->data_flags & KSNOOP_F_STASHED)
1: - trace->data_flags &= ~KSNOOP_F_STASHED;
1: -
1: - /* trim perf event size to only contain data we've recorded. */
1: - trace_len = sizeof(*trace) + trace->buf_len - MAX_TRACE_BUF;
1: -
1: - if (trace_len <= sizeof(*trace))
1: - bpf_perf_event_output(ctx, &ksnoop_perf_map,
1: - BPF_F_CURRENT_CPU,
1: - trace, trace_len);
1: +static void output_trace(struct pt_regs *ctx, struct trace *trace) {
1: + __u16 trace_len;
1: +
1: + if (trace->buf_len == 0)
1: + goto skip;
1: +
1: + /* we may be simply stashing values, and will report later */
1: + if (trace->data_flags & KSNOOP_F_STASH) {
1: + trace->data_flags &= ~KSNOOP_F_STASH;
1: + trace->data_flags |= KSNOOP_F_STASHED;
1: + return;
1: + }
1: + /* we may be outputting earlier stashed data */
1: + if (trace->data_flags & KSNOOP_F_STASHED)
1: + trace->data_flags &= ~KSNOOP_F_STASHED;
1: +
1: + /* trim perf event size to only contain data we've recorded. */
1: + trace_len = sizeof(*trace) + trace->buf_len - MAX_TRACE_BUF;
1: +
1: + if (trace_len <= sizeof(*trace))
1: + bpf_perf_event_output(ctx, &ksnoop_perf_map, BPF_F_CURRENT_CPU, trace,
1: + trace_len);
1: skip:
1: - clear_trace(trace);
1: + clear_trace(trace);
1: }
1:
1: -static void output_stashed_traces(struct pt_regs *ctx,
1: - struct trace *currtrace,
1: - bool entry)
1: -{
1: - struct func_stack *func_stack;
1: - struct trace *trace = NULL;
1: - __u8 stack_depth, i;
1: - __u64 task = 0;
1: -
1: - task = bpf_get_current_task();
1: - func_stack = bpf_map_lookup_elem(&ksnoop_func_stack, &task);
1: - if (!func_stack)
1: - return;
1: -
1: - stack_depth = func_stack->stack_depth;
1: -
1: - if (entry) {
1: - /* iterate from bottom to top of stack, outputting stashed
1: - * data we find. This corresponds to the set of functions
1: - * we called before the current function.
1: - */
1: - for (i = 0;
1: - i < func_stack->stack_depth - 1 && i < FUNC_MAX_STACK_DEPTH;
1: - i++) {
1: - trace = bpf_map_lookup_elem(&ksnoop_func_map,
1: - &func_stack->ips[i]);
1: - if (!trace || !(trace->data_flags & KSNOOP_F_STASHED))
1: - break;
1: - if (trace->task != task)
1: - return;
1: - output_trace(ctx, trace);
1: - }
1: - } else {
1: - /* iterate from top to bottom of stack, outputting stashed
1: - * data we find. This corresponds to the set of functions
1: - * that returned prior to the current returning function.
1: - */
1: - for (i = FUNC_MAX_STACK_DEPTH; i > 0; i--) {
1: - __u64 ip;
1: -
1: - ip = func_stack->ips[i];
1: - if (!ip)
1: - continue;
1: - trace = bpf_map_lookup_elem(&ksnoop_func_map, &ip);
1: - if (!trace || !(trace->data_flags & KSNOOP_F_STASHED))
1: - break;
1: - if (trace->task != task)
1: - return;
1: - output_trace(ctx, trace);
1: - }
1: - }
1: - /* finally output the current trace info */
1: - output_trace(ctx, currtrace);
1: +static void output_stashed_traces(struct pt_regs *ctx, struct trace *currtrace,
1: + bool entry) {
1: + struct func_stack *func_stack;
1: + struct trace *trace = NULL;
1: + __u8 stack_depth, i;
1: + __u64 task = 0;
1: +
1: + task = bpf_get_current_task();
1: + func_stack = bpf_map_lookup_elem(&ksnoop_func_stack, &task);
1: + if (!func_stack)
1: + return;
1: +
1: + stack_depth = func_stack->stack_depth;
1: +
1: + if (entry) {
1: + /* iterate from bottom to top of stack, outputting stashed
1: + * data we find. This corresponds to the set of functions
1: + * we called before the current function.
1: + */
1: + for (i = 0; i < func_stack->stack_depth - 1 && i < FUNC_MAX_STACK_DEPTH;
1: + i++) {
1: + trace = bpf_map_lookup_elem(&ksnoop_func_map, &func_stack->ips[i]);
1: + if (!trace || !(trace->data_flags & KSNOOP_F_STASHED))
1: + break;
1: + if (trace->task != task)
1: + return;
1: + output_trace(ctx, trace);
1: + }
1: + } else {
1: + /* iterate from top to bottom of stack, outputting stashed
1: + * data we find. This corresponds to the set of functions
1: + * that returned prior to the current returning function.
1: + */
1: + for (i = FUNC_MAX_STACK_DEPTH; i > 0; i--) {
1: + __u64 ip;
1: +
1: + ip = func_stack->ips[i];
1: + if (!ip)
1: + continue;
1: + trace = bpf_map_lookup_elem(&ksnoop_func_map, &ip);
1: + if (!trace || !(trace->data_flags & KSNOOP_F_STASHED))
1: + break;
1: + if (trace->task != task)
1: + return;
1: + output_trace(ctx, trace);
1: + }
1: + }
1: + /* finally output the current trace info */
1: + output_trace(ctx, currtrace);
1: }
1:
1: -static __u64 get_arg(struct pt_regs *ctx, enum arg argnum)
1: -{
1: - switch (argnum) {
1: - case KSNOOP_ARG1:
1: - return PT_REGS_PARM1_CORE(ctx);
1: - case KSNOOP_ARG2:
1: - return PT_REGS_PARM2_CORE(ctx);
1: - case KSNOOP_ARG3:
1: - return PT_REGS_PARM3_CORE(ctx);
1: - case KSNOOP_ARG4:
1: - return PT_REGS_PARM4_CORE(ctx);
1: - case KSNOOP_ARG5:
1: - return PT_REGS_PARM5_CORE(ctx);
1: - case KSNOOP_RETURN:
1: - return PT_REGS_RC_CORE(ctx);
1: - default:
1: - return 0;
1: - }
1: +static __u64 get_arg(struct pt_regs *ctx, enum arg argnum) {
1: + switch (argnum) {
1: + case KSNOOP_ARG1:
1: + return PT_REGS_PARM1_CORE(ctx);
1: + case KSNOOP_ARG2:
1: + return PT_REGS_PARM2_CORE(ctx);
1: + case KSNOOP_ARG3:
1: + return PT_REGS_PARM3_CORE(ctx);
1: + case KSNOOP_ARG4:
1: + return PT_REGS_PARM4_CORE(ctx);
1: + case KSNOOP_ARG5:
1: + return PT_REGS_PARM5_CORE(ctx);
1: + case KSNOOP_RETURN:
1: + return PT_REGS_RC_CORE(ctx);
1: + default:
1: + return 0;
1: + }
1: }
1:
1: -static int ksnoop(struct pt_regs *ctx, bool entry)
1: -{
1: - void *data_ptr = NULL;
1: - struct trace *trace;
1: - struct func *func;
1: - __u16 trace_len;
1: - __u64 data, pg;
1: - __u32 currpid;
1: - int ret;
1: - __u8 i;
1: -
1: - trace = get_trace(ctx, entry);
1: - if (!trace)
1: - return 0;
1: -
1: - func = &trace->func;
1: -
1: - /* make sure we want events from this pid */
1: - currpid = bpf_get_current_pid_tgid();
1: - if (trace->filter_pid && trace->filter_pid != currpid)
1: - return 0;
1: - trace->pid = currpid;
1: -
1: - trace->cpu = bpf_get_smp_processor_id();
1: - trace->time = bpf_ktime_get_ns();
1: -
1: - trace->data_flags &= ~(KSNOOP_F_ENTRY | KSNOOP_F_RETURN);
1: - if (entry)
1: - trace->data_flags |= KSNOOP_F_ENTRY;
1: - else
1: - trace->data_flags |= KSNOOP_F_RETURN;
1: -
1: -
1: - for (i = 0; i < MAX_TRACES; i++) {
1: - struct trace_data *currdata;
1: - struct value *currtrace;
1: - char *buf_offset = NULL;
1: - __u32 tracesize;
1: -
1: - currdata = &trace->trace_data[i];
1: - currtrace = &trace->traces[i];
1: -
1: - if ((entry && !base_arg_is_entry(currtrace->base_arg)) ||
1: - (!entry && base_arg_is_entry(currtrace->base_arg)))
1: - continue;
1: -
1: - /* skip void (unused) trace arguments, ensuring not to
1: - * skip "void *".
1: - */
1: - if (currtrace->type_id == 0 &&
1: - !(currtrace->flags & KSNOOP_F_PTR))
1: - continue;
1: -
1: - data = get_arg(ctx, currtrace->base_arg);
1: -
1: - /* look up member value and read into data field. */
1: - if (currtrace->flags & KSNOOP_F_MEMBER) {
1: - if (currtrace->offset)
1: - data += currtrace->offset;
1: -
1: - /* member is a pointer; read it in */
1: - if (currtrace->flags & KSNOOP_F_PTR) {
1: - void *dataptr = (void *)data;
1: -
1: - ret = bpf_probe_read(&data, sizeof(data),
1: - dataptr);
1: - if (ret) {
1: - currdata->err_type_id =
1: - currtrace->type_id;
1: - currdata->err = ret;
1: - continue;
1: - }
1: - currdata->raw_value = data;
1: - } else if (currtrace->size <=
1: - sizeof(currdata->raw_value)) {
1: - /* read member value for predicate comparison */
1: - bpf_probe_read(&currdata->raw_value,
1: - currtrace->size,
1: - (void*)data);
1: - }
1: - } else {
1: - currdata->raw_value = data;
1: - }
1: -
1: - /* simple predicate evaluation: if any predicate fails,
1: - * skip all tracing for this function.
1: - */
1: - if (currtrace->flags & KSNOOP_F_PREDICATE_MASK) {
1: - bool ok = false;
1: -
1: - if (currtrace->flags & KSNOOP_F_PREDICATE_EQ &&
1: - currdata->raw_value == currtrace->predicate_value)
1: - ok = true;
1: -
1: - if (currtrace->flags & KSNOOP_F_PREDICATE_NOTEQ &&
1: - currdata->raw_value != currtrace->predicate_value)
1: - ok = true;
1: -
1: - if (currtrace->flags & KSNOOP_F_PREDICATE_GT &&
1: - currdata->raw_value > currtrace->predicate_value)
1: - ok = true;
1: -
1: - if (currtrace->flags & KSNOOP_F_PREDICATE_LT &&
1: - currdata->raw_value < currtrace->predicate_value)
1: - ok = true;
1: -
1: - if (!ok) {
1: - clear_trace(trace);
1: - return 0;
1: - }
1: - }
1: -
1: - if (currtrace->flags & (KSNOOP_F_PTR | KSNOOP_F_MEMBER))
1: - data_ptr = (void *)data;
1: - else
1: - data_ptr = &data;
1: -
1: - if (trace->buf_len + MAX_TRACE_DATA >= MAX_TRACE_BUF)
1: - break;
1: -
1: - buf_offset = &trace->buf[trace->buf_len];
1: - if (buf_offset > &trace->buf[MAX_TRACE_BUF]) {
1: - currdata->err_type_id = currtrace->type_id;
1: - currdata->err = -ENOSPC;
1: - continue;
1: - }
1: - currdata->buf_offset = trace->buf_len;
1: -
1: - tracesize = currtrace->size;
1: - if (tracesize > MAX_TRACE_DATA)
1: - tracesize = MAX_TRACE_DATA;
1: - ret = bpf_probe_read(buf_offset, tracesize, data_ptr);
1: - if (ret < 0) {
1: - currdata->err_type_id = currtrace->type_id;
1: - currdata->err = ret;
1: - continue;
1: - } else {
1: - currdata->buf_len = tracesize;
1: - trace->buf_len += tracesize;
1: - }
1: - }
1: -
1: - /* show accumulated stashed traces (if any) */
1: - if ((entry && trace->prev_ip && !trace->next_ip) ||
1: - (!entry && trace->next_ip && !trace->prev_ip))
1: - output_stashed_traces(ctx, trace, entry);
1: - else
1: - output_trace(ctx, trace);
1: -
1: - return 0;
1: +static int ksnoop(struct pt_regs *ctx, bool entry) {
1: + void *data_ptr = NULL;
1: + struct trace *trace;
1: + struct func *func;
1: + __u16 trace_len;
1: + __u64 data, pg;
1: + __u32 currpid;
1: + int ret;
1: + __u8 i;
1: +
1: + trace = get_trace(ctx, entry);
1: + if (!trace)
1: + return 0;
1: +
1: + func = &trace->func;
1: +
1: + /* make sure we want events from this pid */
1: + currpid = bpf_get_current_pid_tgid();
1: + if (trace->filter_pid && trace->filter_pid != currpid)
1: + return 0;
1: + trace->pid = currpid;
1: +
1: + trace->cpu = bpf_get_smp_processor_id();
1: + trace->time = bpf_ktime_get_ns();
1: +
1: + trace->data_flags &= ~(KSNOOP_F_ENTRY | KSNOOP_F_RETURN);
1: + if (entry)
1: + trace->data_flags |= KSNOOP_F_ENTRY;
1: + else
1: + trace->data_flags |= KSNOOP_F_RETURN;
1: +
1: + for (i = 0; i < MAX_TRACES; i++) {
1: + struct trace_data *currdata;
1: + struct value *currtrace;
1: + char *buf_offset = NULL;
1: + __u32 tracesize;
1: +
1: + currdata = &trace->trace_data[i];
1: + currtrace = &trace->traces[i];
1: +
1: + if ((entry && !base_arg_is_entry(currtrace->base_arg)) ||
1: + (!entry && base_arg_is_entry(currtrace->base_arg)))
1: + continue;
1: +
1: + /* skip void (unused) trace arguments, ensuring not to
1: + * skip "void *".
1: + */
1: + if (currtrace->type_id == 0 && !(currtrace->flags & KSNOOP_F_PTR))
1: + continue;
1: +
1: + data = get_arg(ctx, currtrace->base_arg);
1: +
1: + /* look up member value and read into data field. */
1: + if (currtrace->flags & KSNOOP_F_MEMBER) {
1: + if (currtrace->offset)
1: + data += currtrace->offset;
1: +
1: + /* member is a pointer; read it in */
1: + if (currtrace->flags & KSNOOP_F_PTR) {
1: + void *dataptr = (void *)data;
1: +
1: + ret = bpf_probe_read(&data, sizeof(data), dataptr);
1: + if (ret) {
1: + currdata->err_type_id = currtrace->type_id;
1: + currdata->err = ret;
1: + continue;
1: + }
1: + currdata->raw_value = data;
1: + } else if (currtrace->size <= sizeof(currdata->raw_value)) {
1: + /* read member value for predicate comparison */
1: + bpf_probe_read(&currdata->raw_value, currtrace->size, (void *)data);
1: + }
1: + } else {
1: + currdata->raw_value = data;
1: + }
1: +
1: + /* simple predicate evaluation: if any predicate fails,
1: + * skip all tracing for this function.
1: + */
1: + if (currtrace->flags & KSNOOP_F_PREDICATE_MASK) {
1: + bool ok = false;
1: +
1: + if (currtrace->flags & KSNOOP_F_PREDICATE_EQ &&
1: + currdata->raw_value == currtrace->predicate_value)
1: + ok = true;
1: +
1: + if (currtrace->flags & KSNOOP_F_PREDICATE_NOTEQ &&
1: + currdata->raw_value != currtrace->predicate_value)
1: + ok = true;
1: +
1: + if (currtrace->flags & KSNOOP_F_PREDICATE_GT &&
1: + currdata->raw_value > currtrace->predicate_value)
1: + ok = true;
1: +
1: + if (currtrace->flags & KSNOOP_F_PREDICATE_LT &&
1: + currdata->raw_value < currtrace->predicate_value)
1: + ok = true;
1: +
1: + if (!ok) {
1: + clear_trace(trace);
1: + return 0;
1: + }
1: + }
1: +
1: + if (currtrace->flags & (KSNOOP_F_PTR | KSNOOP_F_MEMBER))
1: + data_ptr = (void *)data;
1: + else
1: + data_ptr = &data;
1: +
1: + if (trace->buf_len + MAX_TRACE_DATA >= MAX_TRACE_BUF)
1: + break;
1: +
1: + buf_offset = &trace->buf[trace->buf_len];
1: + if (buf_offset > &trace->buf[MAX_TRACE_BUF]) {
1: + currdata->err_type_id = currtrace->type_id;
1: + currdata->err = -ENOSPC;
1: + continue;
1: + }
1: + currdata->buf_offset = trace->buf_len;
1: +
1: + tracesize = currtrace->size;
1: + if (tracesize > MAX_TRACE_DATA)
1: + tracesize = MAX_TRACE_DATA;
1: + ret = bpf_probe_read(buf_offset, tracesize, data_ptr);
1: + if (ret < 0) {
1: + currdata->err_type_id = currtrace->type_id;
1: + currdata->err = ret;
1: + continue;
1: + } else {
1: + currdata->buf_len = tracesize;
1: + trace->buf_len += tracesize;
1: + }
1: + }
1: +
1: + /* show accumulated stashed traces (if any) */
1: + if ((entry && trace->prev_ip && !trace->next_ip) ||
1: + (!entry && trace->next_ip && !trace->prev_ip))
1: + output_stashed_traces(ctx, trace, entry);
1: + else
1: + output_trace(ctx, trace);
1: +
1: + return 0;
1: }
1:
1: SEC("kprobe/foo")
1: -int kprobe_entry(struct pt_regs *ctx)
1: -{
1: - return ksnoop(ctx, true);
1: -}
1: +int kprobe_entry(struct pt_regs *ctx) { return ksnoop(ctx, true); }
1:
1: SEC("kretprobe/foo")
1: -int kprobe_return(struct pt_regs *ctx)
1: -{
1: - return ksnoop(ctx, false);
1: -}
1: +int kprobe_return(struct pt_regs *ctx) { return ksnoop(ctx, false); }
1:
1: char _license[] SEC("license") = "Dual BSD/GPL";
1: diff --git a/libbpf-tools/ksnoop.c b/libbpf-tools/ksnoop.c
1: index f6d4d8e4..0435472e 100644
1: --- a/libbpf-tools/ksnoop.c
1: +++ b/libbpf-tools/ksnoop.c
1: @@ -10,14 +10,14 @@
1: #include <string.h>
1:
1: #include <bpf/bpf.h>
1: -#include <bpf/libbpf.h>
1: #include <bpf/btf.h>
1: +#include <bpf/libbpf.h>
1:
1: #include "ksnoop.h"
1: #include "ksnoop.skel.h"
1:
1: #ifndef KSNOOP_VERSION
1: -#define KSNOOP_VERSION "0.1"
1: +#define KSNOOP_VERSION "0.1"
1: #endif
1:
1: static struct btf *vmlinux_btf;
1: @@ -25,9 +25,9 @@ static const char *bin_name;
1: static int pages = PAGES_DEFAULT;
1:
1: enum log_level {
1: - DEBUG,
1: - WARN,
1: - ERROR,
1: + DEBUG,
1: + WARN,
1: + ERROR,
1: };
1:
1: static enum log_level log_level = WARN;
1: @@ -35,946 +35,871 @@ static enum log_level log_level = WARN;
1: static __u32 filter_pid;
1: static bool stack_mode;
1:
1: -#define libbpf_errstr(val) strerror(-libbpf_get_error(val))
1: +#define libbpf_errstr(val) strerror(-libbpf_get_error(val))
1:
1: -static void __p(enum log_level level, char *level_str, char *fmt, ...)
1: -{
1: - va_list ap;
1: +static void __p(enum log_level level, char *level_str, char *fmt, ...) {
1: + va_list ap;
1:
1: - if (level < log_level)
1: - return;
1: - va_start(ap, fmt);
1: - fprintf(stderr, "%s: ", level_str);
1: - vfprintf(stderr, fmt, ap);
1: - fprintf(stderr, "\n");
1: - va_end(ap);
1: - fflush(stderr);
1: + if (level < log_level)
1: + return;
1: + va_start(ap, fmt);
1: + fprintf(stderr, "%s: ", level_str);
1: + vfprintf(stderr, fmt, ap);
1: + fprintf(stderr, "\n");
1: + va_end(ap);
1: + fflush(stderr);
1: }
1:
1: -#define p_err(fmt, ...) __p(ERROR, "Error", fmt, ##__VA_ARGS__)
1: -#define p_warn(fmt, ...) __p(WARNING, "Warn", fmt, ##__VA_ARGS__)
1: -#define p_debug(fmt, ...) __p(DEBUG, "Debug", fmt, ##__VA_ARGS__)
1: +#define p_err(fmt, ...) __p(ERROR, "Error", fmt, ##__VA_ARGS__)
1: +#define p_warn(fmt, ...) __p(WARNING, "Warn", fmt, ##__VA_ARGS__)
1: +#define p_debug(fmt, ...) __p(DEBUG, "Debug", fmt, ##__VA_ARGS__)
1:
1: -static int do_version(int argc, char **argv)
1: -{
1: - printf("%s v%s\n", bin_name, KSNOOP_VERSION);
1: - return 0;
1: +static int do_version(int argc, char **argv) {
1: + printf("%s v%s\n", bin_name, KSNOOP_VERSION);
1: + return 0;
1: }
1:
1: -static int cmd_help(int argc, char **argv)
1: -{
1: - fprintf(stderr,
1: - "Usage: %s [OPTIONS] [COMMAND | help] FUNC\n"
1: - " COMMAND := { trace | info }\n"
1: - " FUNC := { name | name(ARG[,ARG]*) }\n"
1: - " ARG := { arg | arg [PRED] | arg->member [PRED] }\n"
1: - " PRED := { == | != | > | >= | < | <= value }\n"
1: - " OPTIONS := { {-d|--debug} | {-V|--version} |\n"
1: - " {-p|--pid filter_pid}|\n"
1: - " {-P|--pages nr_pages} }\n"
1: - " {-s|--stack}\n",
1: - bin_name);
1: - fprintf(stderr,
1: - "Examples:\n"
1: - " %s info ip_send_skb\n"
1: - " %s trace ip_send_skb\n"
1: - " %s trace \"ip_send_skb(skb, return)\"\n"
1: - " %s trace \"ip_send_skb(skb->sk, return)\"\n"
1: - " %s trace \"ip_send_skb(skb->len > 128, skb)\"\n"
1: - " %s trace -s udp_sendmsg ip_send_skb\n",
1: - bin_name, bin_name, bin_name, bin_name, bin_name, bin_name);
1: - return 0;
1: +static int cmd_help(int argc, char **argv) {
1: + fprintf(stderr,
1: + "Usage: %s [OPTIONS] [COMMAND | help] FUNC\n"
1: + " COMMAND := { trace | info }\n"
1: + " FUNC := { name | name(ARG[,ARG]*) }\n"
1: + " ARG := { arg | arg [PRED] | arg->member [PRED] }\n"
1: + " PRED := { == | != | > | >= | < | <= value }\n"
1: + " OPTIONS := { {-d|--debug} | {-V|--version} |\n"
1: + " {-p|--pid filter_pid}|\n"
1: + " {-P|--pages nr_pages} }\n"
1: + " {-s|--stack}\n",
1: + bin_name);
1: + fprintf(stderr,
1: + "Examples:\n"
1: + " %s info ip_send_skb\n"
1: + " %s trace ip_send_skb\n"
1: + " %s trace \"ip_send_skb(skb, return)\"\n"
1: + " %s trace \"ip_send_skb(skb->sk, return)\"\n"
1: + " %s trace \"ip_send_skb(skb->len > 128, skb)\"\n"
1: + " %s trace -s udp_sendmsg ip_send_skb\n",
1: + bin_name, bin_name, bin_name, bin_name, bin_name, bin_name);
1: + return 0;
1: }
1:
1: -static void usage(void)
1: -{
1: - cmd_help(0, NULL);
1: - exit(1);
1: +static void usage(void) {
1: + cmd_help(0, NULL);
1: + exit(1);
1: }
1:
1: static void type_to_value(struct btf *btf, char *name, __u32 type_id,
1: - struct value *val)
1: -{
1: - const struct btf_type *type;
1: - __s32 id = type_id;
1: -
1: - if (strlen(val->name) == 0) {
1: - if (name)
1: - strncpy(val->name, name,
1: - sizeof(val->name) - 1);
1: - else
1: - val->name[0] = '\0';
1: - }
1: - do {
1: - type = btf__type_by_id(btf, id);
1: -
1: - switch (BTF_INFO_KIND(type->info)) {
1: - case BTF_KIND_CONST:
1: - case BTF_KIND_VOLATILE:
1: - case BTF_KIND_RESTRICT:
1: - id = type->type;
1: - break;
1: - case BTF_KIND_PTR:
1: - val->flags |= KSNOOP_F_PTR;
1: - id = type->type;
1: - break;
1: - default:
1: - val->type_id = id;
1: - goto done;
1: - }
1: - } while (id >= 0);
1: -
1: - val->type_id = KSNOOP_ID_UNKNOWN;
1: - return;
1: + struct value *val) {
1: + const struct btf_type *type;
1: + __s32 id = type_id;
1: +
1: + if (strlen(val->name) == 0) {
1: + if (name)
1: + strncpy(val->name, name, sizeof(val->name) - 1);
1: + else
1: + val->name[0] = '\0';
1: + }
1: + do {
1: + type = btf__type_by_id(btf, id);
1: +
1: + switch (BTF_INFO_KIND(type->info)) {
1: + case BTF_KIND_CONST:
1: + case BTF_KIND_VOLATILE:
1: + case BTF_KIND_RESTRICT:
1: + id = type->type;
1: + break;
1: + case BTF_KIND_PTR:
1: + val->flags |= KSNOOP_F_PTR;
1: + id = type->type;
1: + break;
1: + default:
1: + val->type_id = id;
1: + goto done;
1: + }
1: + } while (id >= 0);
1: +
1: + val->type_id = KSNOOP_ID_UNKNOWN;
1: + return;
1: done:
1: - val->size = btf__resolve_size(btf, val->type_id);
1: + val->size = btf__resolve_size(btf, val->type_id);
1: }
1:
1: static int member_to_value(struct btf *btf, const char *name, __u32 type_id,
1: - struct value *val, int lvl)
1: -{
1: - const struct btf_member *member;
1: - const struct btf_type *type;
1: - const char *pname;
1: - __s32 id = type_id;
1: - int i, nmembers;
1: - __u8 kind;
1: -
1: - /* type_to_value has already stripped qualifiers, so
1: - * we either have a base type, a struct, union, etc.
1: - * Only struct/unions have named members so anything
1: - * else is invalid.
1: - */
1: - p_debug("Looking for member '%s' in type id %d", name, type_id);
1: - type = btf__type_by_id(btf, id);
1: - pname = btf__str_by_offset(btf, type->name_off);
1: - if (strlen(pname) == 0)
1: - pname = "<anon>";
1: -
1: - kind = BTF_INFO_KIND(type->info);
1: - switch (kind) {
1: - case BTF_KIND_STRUCT:
1: - case BTF_KIND_UNION:
1: - nmembers = BTF_INFO_VLEN(type->info);
1: - p_debug("Checking %d members...", nmembers);
1: - for (member = (struct btf_member *)(type + 1), i = 0;
1: - i < nmembers;
1: - member++, i++) {
1: - const char *mname;
1: - __u16 offset;
1: -
1: - type = btf__type_by_id(btf, member->type);
1: - mname = btf__str_by_offset(btf, member->name_off);
1: - offset = member->offset / 8;
1: -
1: - p_debug("Checking member '%s' type %d offset %d",
1: - mname, member->type, offset);
1: -
1: - /* anonymous struct member? */
1: - kind = BTF_INFO_KIND(type->info);
1: - if (strlen(mname) == 0 &&
1: - (kind == BTF_KIND_STRUCT ||
1: - kind == BTF_KIND_UNION)) {
1: - p_debug("Checking anon struct/union %d",
1: - member->type);
1: - val->offset += offset;
1: - if (!member_to_value(btf, name, member->type,
1: - val, lvl + 1))
1: - return 0;
1: - val->offset -= offset;
1: - continue;
1: - }
1: -
1: - if (strcmp(mname, name) == 0) {
1: - val->offset += offset;
1: - val->flags |= KSNOOP_F_MEMBER;
1: - type_to_value(btf, NULL, member->type, val);
1: - p_debug("Member '%s', offset %d, flags %x size %d",
1: - mname, val->offset, val->flags,
1: - val->size);
1: - return 0;
1: - }
1: - }
1: - if (lvl > 0)
1: - break;
1: - p_err("No member '%s' found in %s [%d], offset %d", name, pname,
1: - id, val->offset);
1: - break;
1: - default:
1: - p_err("'%s' is not a struct/union", pname);
1: - break;
1: - }
1: - return -ENOENT;
1: + struct value *val, int lvl) {
1: + const struct btf_member *member;
1: + const struct btf_type *type;
1: + const char *pname;
1: + __s32 id = type_id;
1: + int i, nmembers;
1: + __u8 kind;
1: +
1: + /* type_to_value has already stripped qualifiers, so
1: + * we either have a base type, a struct, union, etc.
1: + * Only struct/unions have named members so anything
1: + * else is invalid.
1: + */
1: + p_debug("Looking for member '%s' in type id %d", name, type_id);
1: + type = btf__type_by_id(btf, id);
1: + pname = btf__str_by_offset(btf, type->name_off);
1: + if (strlen(pname) == 0)
1: + pname = "<anon>";
1: +
1: + kind = BTF_INFO_KIND(type->info);
1: + switch (kind) {
1: + case BTF_KIND_STRUCT:
1: + case BTF_KIND_UNION:
1: + nmembers = BTF_INFO_VLEN(type->info);
1: + p_debug("Checking %d members...", nmembers);
1: + for (member = (struct btf_member *)(type + 1), i = 0; i < nmembers;
1: + member++, i++) {
1: + const char *mname;
1: + __u16 offset;
1: +
1: + type = btf__type_by_id(btf, member->type);
1: + mname = btf__str_by_offset(btf, member->name_off);
1: + offset = member->offset / 8;
1: +
1: + p_debug("Checking member '%s' type %d offset %d", mname, member->type,
1: + offset);
1: +
1: + /* anonymous struct member? */
1: + kind = BTF_INFO_KIND(type->info);
1: + if (strlen(mname) == 0 &&
1: + (kind == BTF_KIND_STRUCT || kind == BTF_KIND_UNION)) {
1: + p_debug("Checking anon struct/union %d", member->type);
1: + val->offset += offset;
1: + if (!member_to_value(btf, name, member->type, val, lvl + 1))
1: + return 0;
1: + val->offset -= offset;
1: + continue;
1: + }
1: +
1: + if (strcmp(mname, name) == 0) {
1: + val->offset += offset;
1: + val->flags |= KSNOOP_F_MEMBER;
1: + type_to_value(btf, NULL, member->type, val);
1: + p_debug("Member '%s', offset %d, flags %x size %d", mname, val->offset,
1: + val->flags, val->size);
1: + return 0;
1: + }
1: + }
1: + if (lvl > 0)
1: + break;
1: + p_err("No member '%s' found in %s [%d], offset %d", name, pname, id,
1: + val->offset);
1: + break;
1: + default:
1: + p_err("'%s' is not a struct/union", pname);
1: + break;
1: + }
1: + return -ENOENT;
1: }
1:
1: -static int get_func_btf(struct btf *btf, struct func *func)
1: -{
1: - const struct btf_param *param;
1: - const struct btf_type *type;
1: - __u8 i;
1: -
1: - func->id = btf__find_by_name_kind(btf, func->name, BTF_KIND_FUNC);
1: - if (func->id <= 0) {
1: - p_err("Cannot find function '%s' in BTF: %s",
1: - func->name, strerror(-func->id));
1: - return -ENOENT;
1: - }
1: - type = btf__type_by_id(btf, func->id);
1: - if (libbpf_get_error(type) ||
1: - BTF_INFO_KIND(type->info) != BTF_KIND_FUNC) {
1: - p_err("Error looking up function type via id '%d'", func->id);
1: - return -EINVAL;
1: - }
1: - type = btf__type_by_id(btf, type->type);
1: - if (libbpf_get_error(type) ||
1: - BTF_INFO_KIND(type->info) != BTF_KIND_FUNC_PROTO) {
1: - p_err("Error looking up function proto type via id '%d'",
1: - func->id);
1: - return -EINVAL;
1: - }
1: - for (param = (struct btf_param *)(type + 1), i = 0;
1: - i < BTF_INFO_VLEN(type->info) && i < MAX_ARGS;
1: - param++, i++) {
1: - type_to_value(btf,
1: - (char *)btf__str_by_offset(btf, param->name_off),
1: - param->type, &func->args[i]);
1: - p_debug("arg #%d: <name '%s', type id '%u'>",
1: - i + 1, func->args[i].name, func->args[i].type_id);
1: - }
1: -
1: - /* real number of args, even if it is > number we recorded. */
1: - func->nr_args = BTF_INFO_VLEN(type->info);
1: -
1: - type_to_value(btf, KSNOOP_RETURN_NAME, type->type,
1: - &func->args[KSNOOP_RETURN]);
1: - p_debug("return value: type id '%u'>",
1: - func->args[KSNOOP_RETURN].type_id);
1: - return 0;
1: +static int get_func_btf(struct btf *btf, struct func *func) {
1: + const struct btf_param *param;
1: + const struct btf_type *type;
1: + __u8 i;
1: +
1: + func->id = btf__find_by_name_kind(btf, func->name, BTF_KIND_FUNC);
1: + if (func->id <= 0) {
1: + p_err("Cannot find function '%s' in BTF: %s", func->name,
1: + strerror(-func->id));
1: + return -ENOENT;
1: + }
1: + type = btf__type_by_id(btf, func->id);
1: + if (libbpf_get_error(type) || BTF_INFO_KIND(type->info) != BTF_KIND_FUNC) {
1: + p_err("Error looking up function type via id '%d'", func->id);
1: + return -EINVAL;
1: + }
1: + type = btf__type_by_id(btf, type->type);
1: + if (libbpf_get_error(type) ||
1: + BTF_INFO_KIND(type->info) != BTF_KIND_FUNC_PROTO) {
1: + p_err("Error looking up function proto type via id '%d'", func->id);
1: + return -EINVAL;
1: + }
1: + for (param = (struct btf_param *)(type + 1), i = 0;
1: + i < BTF_INFO_VLEN(type->info) && i < MAX_ARGS; param++, i++) {
1: + type_to_value(btf, (char *)btf__str_by_offset(btf, param->name_off),
1: + param->type, &func->args[i]);
1: + p_debug("arg #%d: <name '%s', type id '%u'>", i + 1, func->args[i].name,
1: + func->args[i].type_id);
1: + }
1: +
1: + /* real number of args, even if it is > number we recorded. */
1: + func->nr_args = BTF_INFO_VLEN(type->info);
1: +
1: + type_to_value(btf, KSNOOP_RETURN_NAME, type->type,
1: + &func->args[KSNOOP_RETURN]);
1: + p_debug("return value: type id '%u'>", func->args[KSNOOP_RETURN].type_id);
1: + return 0;
1: }
1:
1: -int predicate_to_value(char *predicate, struct value *val)
1: -{
1: - char pred[MAX_STR];
1: - long v;
1: -
1: - if (!predicate)
1: - return 0;
1: -
1: - p_debug("checking predicate '%s' for '%s'", predicate, val->name);
1: -
1: - if (sscanf(predicate, "%[!=><]%li", pred, &v) != 2) {
1: - p_err("Invalid specification; expected predicate, not '%s'",
1: - predicate);
1: - return -EINVAL;
1: - }
1: - if (!(val->flags & KSNOOP_F_PTR) &&
1: - (val->size == 0 || val->size > sizeof(__u64))) {
1: - p_err("'%s' (size %d) does not support predicate comparison",
1: - val->name, val->size);
1: - return -EINVAL;
1: - }
1: - val->predicate_value = (__u64)v;
1: -
1: - if (strcmp(pred, "==") == 0) {
1: - val->flags |= KSNOOP_F_PREDICATE_EQ;
1: - goto out;
1: - } else if (strcmp(pred, "!=") == 0) {
1: - val->flags |= KSNOOP_F_PREDICATE_NOTEQ;
1: - goto out;
1: - }
1: - if (pred[0] == '>')
1: - val->flags |= KSNOOP_F_PREDICATE_GT;
1: - else if (pred[0] == '<')
1: - val->flags |= KSNOOP_F_PREDICATE_LT;
1: -
1: - if (strlen(pred) == 1)
1: - goto out;
1: -
1: - if (pred[1] != '=') {
1: - p_err("Invalid predicate specification '%s'", predicate);
1: - return -EINVAL;
1: - }
1: - val->flags |= KSNOOP_F_PREDICATE_EQ;
1: +int predicate_to_value(char *predicate, struct value *val) {
1: + char pred[MAX_STR];
1: + long v;
1: +
1: + if (!predicate)
1: + return 0;
1: +
1: + p_debug("checking predicate '%s' for '%s'", predicate, val->name);
1: +
1: + if (sscanf(predicate, "%[!=><]%li", pred, &v) != 2) {
1: + p_err("Invalid specification; expected predicate, not '%s'", predicate);
1: + return -EINVAL;
1: + }
1: + if (!(val->flags & KSNOOP_F_PTR) &&
1: + (val->size == 0 || val->size > sizeof(__u64))) {
1: + p_err("'%s' (size %d) does not support predicate comparison", val->name,
1: + val->size);
1: + return -EINVAL;
1: + }
1: + val->predicate_value = (__u64)v;
1: +
1: + if (strcmp(pred, "==") == 0) {
1: + val->flags |= KSNOOP_F_PREDICATE_EQ;
1: + goto out;
1: + } else if (strcmp(pred, "!=") == 0) {
1: + val->flags |= KSNOOP_F_PREDICATE_NOTEQ;
1: + goto out;
1: + }
1: + if (pred[0] == '>')
1: + val->flags |= KSNOOP_F_PREDICATE_GT;
1: + else if (pred[0] == '<')
1: + val->flags |= KSNOOP_F_PREDICATE_LT;
1: +
1: + if (strlen(pred) == 1)
1: + goto out;
1: +
1: + if (pred[1] != '=') {
1: + p_err("Invalid predicate specification '%s'", predicate);
1: + return -EINVAL;
1: + }
1: + val->flags |= KSNOOP_F_PREDICATE_EQ;
1:
1: out:
1: - p_debug("predicate '%s', flags 0x%x value %x",
1: - pred, val->flags, val->predicate_value);
1: + p_debug("predicate '%s', flags 0x%x value %x", pred, val->flags,
1: + val->predicate_value);
1:
1: - return 0;
1: + return 0;
1: }
1:
1: static int trace_to_value(struct btf *btf, struct func *func, char *argname,
1: - char *membername, char *predicate, struct value *val)
1: -{
1: - __u8 i;
1: -
1: - if (strlen(membername) > 0)
1: - snprintf(val->name, sizeof(val->name), "%s->%s",
1: - argname, membername);
1: - else
1: - strncpy(val->name, argname, sizeof(val->name));
1: -
1: - for (i = 0; i < MAX_TRACES; i++) {
1: - if (!func->args[i].name)
1: - continue;
1: - if (strcmp(argname, func->args[i].name) != 0)
1: - continue;
1: - p_debug("setting base arg for val %s to %d", val->name, i);
1: - val->base_arg = i;
1: -
1: - if (strlen(membername) > 0) {
1: - if (member_to_value(btf, membername,
1: - func->args[i].type_id, val, 0))
1: - return -ENOENT;
1: - } else {
1: - val->type_id = func->args[i].type_id;
1: - val->flags |= func->args[i].flags;
1: - val->size = func->args[i].size;
1: - }
1: - return predicate_to_value(predicate, val);
1: - }
1: - p_err("Could not find '%s' in arguments/return value for '%s'",
1: - argname, func->name);
1: - return -ENOENT;
1: + char *membername, char *predicate,
1: + struct value *val) {
1: + __u8 i;
1: +
1: + if (strlen(membername) > 0)
1: + snprintf(val->name, sizeof(val->name), "%s->%s", argname, membername);
1: + else
1: + strncpy(val->name, argname, sizeof(val->name));
1: +
1: + for (i = 0; i < MAX_TRACES; i++) {
1: + if (!func->args[i].name)
1: + continue;
1: + if (strcmp(argname, func->args[i].name) != 0)
1: + continue;
1: + p_debug("setting base arg for val %s to %d", val->name, i);
1: + val->base_arg = i;
1: +
1: + if (strlen(membername) > 0) {
1: + if (member_to_value(btf, membername, func->args[i].type_id, val, 0))
1: + return -ENOENT;
1: + } else {
1: + val->type_id = func->args[i].type_id;
1: + val->flags |= func->args[i].flags;
1: + val->size = func->args[i].size;
1: + }
1: + return predicate_to_value(predicate, val);
1: + }
1: + p_err("Could not find '%s' in arguments/return value for '%s'", argname,
1: + func->name);
1: + return -ENOENT;
1: }
1:
1: -static struct btf *get_btf(const char *name)
1: -{
1: - struct btf *mod_btf;
1: -
1: - p_debug("getting BTF for %s",
1: - name && strlen(name) > 0 ? name : "vmlinux");
1: -
1: - if (!vmlinux_btf) {
1: - vmlinux_btf = btf__load_vmlinux_btf();
1: - if (libbpf_get_error(vmlinux_btf)) {
1: - p_err("No BTF, cannot determine type info: %s",
1: - libbpf_errstr(vmlinux_btf));
1: - return NULL;
1: - }
1: - }
1: - if (!name || strlen(name) == 0)
1: - return vmlinux_btf;
1: -
1: - mod_btf = btf__load_module_btf(name, vmlinux_btf);
1: - if (libbpf_get_error(mod_btf)) {
1: - p_err("No BTF for module '%s': %s",
1: - name, libbpf_errstr(mod_btf));
1: - return NULL;
1: - }
1: - return mod_btf;
1: +static struct btf *get_btf(const char *name) {
1: + struct btf *mod_btf;
1: +
1: + p_debug("getting BTF for %s", name && strlen(name) > 0 ? name : "vmlinux");
1: +
1: + if (!vmlinux_btf) {
1: + vmlinux_btf = btf__load_vmlinux_btf();
1: + if (libbpf_get_error(vmlinux_btf)) {
1: + p_err("No BTF, cannot determine type info: %s",
1: + libbpf_errstr(vmlinux_btf));
1: + return NULL;
1: + }
1: + }
1: + if (!name || strlen(name) == 0)
1: + return vmlinux_btf;
1: +
1: + mod_btf = btf__load_module_btf(name, vmlinux_btf);
1: + if (libbpf_get_error(mod_btf)) {
1: + p_err("No BTF for module '%s': %s", name, libbpf_errstr(mod_btf));
1: + return NULL;
1: + }
1: + return mod_btf;
1: }
1:
1: -static void copy_without_spaces(char *target, char *src)
1: -{
1: - for (; *src != '\0'; src++)
1: - if (!isspace(*src))
1: - *(target++) = *src;
1: - *target = '\0';
1: +static void copy_without_spaces(char *target, char *src) {
1: + for (; *src != '\0'; src++)
1: + if (!isspace(*src))
1: + *(target++) = *src;
1: + *target = '\0';
1: }
1:
1: -static char *type_id_to_str(struct btf *btf, __s32 type_id, char *str)
1: -{
1: - const struct btf_type *type;
1: - const char *name = "";
1: - char *prefix = "";
1: - char *suffix = " ";
1: - char *ptr = "";
1: -
1: - str[0] = '\0';
1: -
1: - switch (type_id) {
1: - case 0:
1: - name = "void";
1: - break;
1: - case KSNOOP_ID_UNKNOWN:
1: - name = "?";
1: - break;
1: - default:
1: - do {
1: - type = btf__type_by_id(btf, type_id);
1: -
1: - if (libbpf_get_error(type)) {
1: - name = "?";
1: - break;
1: - }
1: - switch (BTF_INFO_KIND(type->info)) {
1: - case BTF_KIND_CONST:
1: - case BTF_KIND_VOLATILE:
1: - case BTF_KIND_RESTRICT:
1: - type_id = type->type;
1: - break;
1: - case BTF_KIND_PTR:
1: - ptr = "* ";
1: - type_id = type->type;
1: - break;
1: - case BTF_KIND_ARRAY:
1: - suffix = "[]";
1: - type_id = type->type;
1: - break;
1: - case BTF_KIND_STRUCT:
1: - prefix = "struct ";
1: - name = btf__str_by_offset(btf, type->name_off);
1: - break;
1: - case BTF_KIND_UNION:
1: - prefix = "union";
1: - name = btf__str_by_offset(btf, type->name_off);
1: - break;
1: - case BTF_KIND_ENUM:
1: - prefix = "enum ";
1: - break;
1: - case BTF_KIND_TYPEDEF:
1: - name = btf__str_by_offset(btf, type->name_off);
1: - break;
1: - default:
1: - name = btf__str_by_offset(btf, type->name_off);
1: - break;
1: - }
1: - } while (type_id >= 0 && strlen(name) == 0);
1: - break;
1: - }
1: - snprintf(str, MAX_STR, "%s%s%s%s", prefix, name, suffix, ptr);
1: -
1: - return str;
1: +static char *type_id_to_str(struct btf *btf, __s32 type_id, char *str) {
1: + const struct btf_type *type;
1: + const char *name = "";
1: + char *prefix = "";
1: + char *suffix = " ";
1: + char *ptr = "";
1: +
1: + str[0] = '\0';
1: +
1: + switch (type_id) {
1: + case 0:
1: + name = "void";
1: + break;
1: + case KSNOOP_ID_UNKNOWN:
1: + name = "?";
1: + break;
1: + default:
1: + do {
1: + type = btf__type_by_id(btf, type_id);
1: +
1: + if (libbpf_get_error(type)) {
1: + name = "?";
1: + break;
1: + }
1: + switch (BTF_INFO_KIND(type->info)) {
1: + case BTF_KIND_CONST:
1: + case BTF_KIND_VOLATILE:
1: + case BTF_KIND_RESTRICT:
1: + type_id = type->type;
1: + break;
1: + case BTF_KIND_PTR:
1: + ptr = "* ";
1: + type_id = type->type;
1: + break;
1: + case BTF_KIND_ARRAY:
1: + suffix = "[]";
1: + type_id = type->type;
1: + break;
1: + case BTF_KIND_STRUCT:
1: + prefix = "struct ";
1: + name = btf__str_by_offset(btf, type->name_off);
1: + break;
1: + case BTF_KIND_UNION:
1: + prefix = "union";
1: + name = btf__str_by_offset(btf, type->name_off);
1: + break;
1: + case BTF_KIND_ENUM:
1: + prefix = "enum ";
1: + break;
1: + case BTF_KIND_TYPEDEF:
1: + name = btf__str_by_offset(btf, type->name_off);
1: + break;
1: + default:
1: + name = btf__str_by_offset(btf, type->name_off);
1: + break;
1: + }
1: + } while (type_id >= 0 && strlen(name) == 0);
1: + break;
1: + }
1: + snprintf(str, MAX_STR, "%s%s%s%s", prefix, name, suffix, ptr);
1: +
1: + return str;
1: }
1:
1: -static char *value_to_str(struct btf *btf, struct value *val, char *str)
1: -{
1: +static char *value_to_str(struct btf *btf, struct value *val, char *str) {
1: + str = type_id_to_str(btf, val->type_id, str);
1: + if (val->flags & KSNOOP_F_PTR)
1: + strncat(str, " * ", MAX_STR);
1: + if (strlen(val->name) > 0 && strcmp(val->name, KSNOOP_RETURN_NAME) != 0)
1: + strncat(str, val->name, MAX_STR);
1:
1: - str = type_id_to_str(btf, val->type_id, str);
1: - if (val->flags & KSNOOP_F_PTR)
1: - strncat(str, " * ", MAX_STR);
1: - if (strlen(val->name) > 0 &&
1: - strcmp(val->name, KSNOOP_RETURN_NAME) != 0)
1: - strncat(str, val->name, MAX_STR);
1: -
1: - return str;
1: + return str;
1: }
1:
1: /* based heavily on bpf_object__read_kallsyms_file() in libbpf.c */
1: -static int get_func_ip_mod(struct func *func)
1: -{
1: - char sym_type, sym_name[MAX_STR], mod_info[MAX_STR];
1: - unsigned long long sym_addr;
1: - int ret, err = 0;
1: - FILE *f;
1: -
1: - f = fopen("/proc/kallsyms", "r");
1: - if (!f) {
1: - err = errno;
1: - p_err("failed to open /proc/kallsyms: %d", strerror(err));
1: - return err;
1: - }
1: -
1: - while (true) {
1: - ret = fscanf(f, "%llx %c %128s%[^\n]\n",
1: - &sym_addr, &sym_type, sym_name, mod_info);
1: - if (ret == EOF && feof(f))
1: - break;
1: - if (ret < 3) {
1: - p_err("failed to read kallsyms entry: %d", ret);
1: - err = -EINVAL;
1: - goto out;
1: - }
1: - if (strcmp(func->name, sym_name) != 0)
1: - continue;
1: - func->ip = sym_addr;
1: - func->mod[0] = '\0';
1: - /* get module name from [modname] */
1: - if (ret == 4) {
1: - if (sscanf(mod_info, "%*[\t ][%[^]]", func->mod) < 1) {
1: - p_err("failed to read module name");
1: - err = -EINVAL;
1: - goto out;
1: - }
1: - }
1: - p_debug("%s = <ip %llx, mod %s>", func->name, func->ip,
1: - strlen(func->mod) > 0 ? func->mod : "vmlinux");
1: - break;
1: - }
1: +static int get_func_ip_mod(struct func *func) {
1: + char sym_type, sym_name[MAX_STR], mod_info[MAX_STR];
1: + unsigned long long sym_addr;
1: + int ret, err = 0;
1: + FILE *f;
1: +
1: + f = fopen("/proc/kallsyms", "r");
1: + if (!f) {
1: + err = errno;
1: + p_err("failed to open /proc/kallsyms: %d", strerror(err));
1: + return err;
1: + }
1: +
1: + while (true) {
1: + ret = fscanf(f, "%llx %c %128s%[^\n]\n", &sym_addr, &sym_type, sym_name,
1: + mod_info);
1: + if (ret == EOF && feof(f))
1: + break;
1: + if (ret < 3) {
1: + p_err("failed to read kallsyms entry: %d", ret);
1: + err = -EINVAL;
1: + goto out;
1: + }
1: + if (strcmp(func->name, sym_name) != 0)
1: + continue;
1: + func->ip = sym_addr;
1: + func->mod[0] = '\0';
1: + /* get module name from [modname] */
1: + if (ret == 4) {
1: + if (sscanf(mod_info, "%*[\t ][%[^]]", func->mod) < 1) {
1: + p_err("failed to read module name");
1: + err = -EINVAL;
1: + goto out;
1: + }
1: + }
1: + p_debug("%s = <ip %llx, mod %s>", func->name, func->ip,
1: + strlen(func->mod) > 0 ? func->mod : "vmlinux");
1: + break;
1: + }
1: out:
1: - fclose(f);
1: - return err;
1: + fclose(f);
1: + return err;
1: }
1:
1: -static void trace_printf(void *ctx, const char *fmt, va_list args)
1: -{
1: - vprintf(fmt, args);
1: +static void trace_printf(void *ctx, const char *fmt, va_list args) {
1: + vprintf(fmt, args);
1: }
1:
1: -#define VALID_NAME "%[A-Za-z0-9\\-_]"
1: -#define ARGDATA "%[^)]"
1: -
1: -static int parse_trace(char *str, struct trace *trace)
1: -{
1: - __u8 i, nr_predicates = 0, nr_entry = 0, nr_return = 0;
1: - char argname[MAX_NAME], membername[MAX_NAME];
1: - char tracestr[MAX_STR], argdata[MAX_STR];
1: - struct func *func = &trace->func;
1: - struct btf_dump_opts opts = { };
1: - char *arg, *saveptr;
1: - int ret;
1: -
1: - copy_without_spaces(tracestr, str);
1: -
1: - p_debug("Parsing trace '%s'", tracestr);
1: -
1: - trace->filter_pid = (__u32)filter_pid;
1: - if (filter_pid)
1: - p_debug("Using pid %lu as filter", trace->filter_pid);
1: -
1: - trace->btf = vmlinux_btf;
1: -
1: - ret = sscanf(tracestr, VALID_NAME "(" ARGDATA ")", func->name, argdata);
1: - if (ret <= 0)
1: - usage();
1: - if (ret == 1) {
1: - if (strlen(tracestr) > strlen(func->name)) {
1: - p_err("Invalid function specification '%s'", tracestr);
1: - usage();
1: - }
1: - argdata[0] = '\0';
1: - p_debug("got func '%s'", func->name);
1: - } else {
1: - if (strlen(tracestr) >
1: - strlen(func->name) + strlen(argdata) + 2) {
1: - p_err("Invalid function specification '%s'", tracestr);
1: - usage();
1: - }
1: - p_debug("got func '%s', args '%s'", func->name, argdata);
1: - trace->flags |= KSNOOP_F_CUSTOM;
1: - }
1: -
1: - ret = get_func_ip_mod(func);
1: - if (ret) {
1: - p_err("could not get address of '%s'", func->name);
1: - return ret;
1: - }
1: - trace->btf = get_btf(func->mod);
1: - if (libbpf_get_error(trace->btf)) {
1: - p_err("could not get BTF for '%s': %s",
1: - strlen(func->mod) ? func->mod : "vmlinux",
1: - libbpf_errstr(trace->btf));
1: - return -ENOENT;
1: - }
1: - trace->dump = btf_dump__new(trace->btf, NULL, &opts, trace_printf);
1: - if (libbpf_get_error(trace->dump)) {
1: - p_err("could not create BTF dump : %n",
1: - libbpf_errstr(trace->btf));
1: - return -EINVAL;
1: - }
1: -
1: - ret = get_func_btf(trace->btf, func);
1: - if (ret) {
1: - p_debug("unexpected return value '%d' getting function", ret);
1: - return ret;
1: - }
1: -
1: - for (arg = strtok_r(argdata, ",", &saveptr), i = 0;
1: - arg;
1: - arg = strtok_r(NULL, ",", &saveptr), i++) {
1: - char *predicate = NULL;
1: -
1: - ret = sscanf(arg, VALID_NAME "->" VALID_NAME,
1: - argname, membername);
1: - if (ret == 2) {
1: - if (strlen(arg) >
1: - strlen(argname) + strlen(membername) + 2) {
1: - predicate = arg + strlen(argname) +
1: - strlen(membername) + 2;
1: - }
1: - p_debug("'%s' dereferences '%s', predicate '%s'",
1: - argname, membername, predicate);
1: - } else {
1: - if (strlen(arg) > strlen(argname))
1: - predicate = arg + strlen(argname);
1: - p_debug("'%s' arg, predcate '%s'", argname, predicate);
1: - membername[0] = '\0';
1: - }
1: -
1: - if (i >= MAX_TRACES) {
1: - p_err("Too many arguments; up to %d are supported",
1: - MAX_TRACES);
1: - return -EINVAL;
1: - }
1: - if (trace_to_value(trace->btf, func, argname, membername,
1: - predicate, &trace->traces[i]))
1: - return -EINVAL;
1: -
1: - if (predicate)
1: - nr_predicates++;
1: - if (trace->traces[i].base_arg == KSNOOP_RETURN)
1: - nr_return++;
1: - else
1: - nr_entry++;
1: - trace->nr_traces++;
1: - }
1: -
1: - if (trace->nr_traces > 0) {
1: - trace->flags |= KSNOOP_F_CUSTOM;
1: - p_debug("custom trace with %d args", trace->nr_traces);
1: -
1: - /* If we have one or more predicates _and_ references to
1: - * entry and return values, we need to activate "stash"
1: - * mode where arg traces are stored on entry and not
1: - * sent until return to ensure predicates are satisfied.
1: - */
1: - if (nr_predicates > 0 && nr_entry > 0 && nr_return > 0) {
1: - trace->flags |= KSNOOP_F_STASH;
1: - p_debug("activating stash mode on entry");
1: - }
1: - } else {
1: - p_debug("Standard trace, function with %d arguments",
1: - func->nr_args);
1: - /* copy function arg/return value to trace specification. */
1: - memcpy(trace->traces, func->args, sizeof(trace->traces));
1: - for (i = 0; i < MAX_TRACES; i++)
1: - trace->traces[i].base_arg = i;
1: - trace->nr_traces = MAX_TRACES;
1: - }
1: -
1: - return 0;
1: +#define VALID_NAME "%[A-Za-z0-9\\-_]"
1: +#define ARGDATA "%[^)]"
1: +
1: +static int parse_trace(char *str, struct trace *trace) {
1: + __u8 i, nr_predicates = 0, nr_entry = 0, nr_return = 0;
1: + char argname[MAX_NAME], membername[MAX_NAME];
1: + char tracestr[MAX_STR], argdata[MAX_STR];
1: + struct func *func = &trace->func;
1: + struct btf_dump_opts opts = {};
1: + char *arg, *saveptr;
1: + int ret;
1: +
1: + copy_without_spaces(tracestr, str);
1: +
1: + p_debug("Parsing trace '%s'", tracestr);
1: +
1: + trace->filter_pid = (__u32)filter_pid;
1: + if (filter_pid)
1: + p_debug("Using pid %lu as filter", trace->filter_pid);
1: +
1: + trace->btf = vmlinux_btf;
1: +
1: + ret = sscanf(tracestr, VALID_NAME "(" ARGDATA ")", func->name, argdata);
1: + if (ret <= 0)
1: + usage();
1: + if (ret == 1) {
1: + if (strlen(tracestr) > strlen(func->name)) {
1: + p_err("Invalid function specification '%s'", tracestr);
1: + usage();
1: + }
1: + argdata[0] = '\0';
1: + p_debug("got func '%s'", func->name);
1: + } else {
1: + if (strlen(tracestr) > strlen(func->name) + strlen(argdata) + 2) {
1: + p_err("Invalid function specification '%s'", tracestr);
1: + usage();
1: + }
1: + p_debug("got func '%s', args '%s'", func->name, argdata);
1: + trace->flags |= KSNOOP_F_CUSTOM;
1: + }
1: +
1: + ret = get_func_ip_mod(func);
1: + if (ret) {
1: + p_err("could not get address of '%s'", func->name);
1: + return ret;
1: + }
1: + trace->btf = get_btf(func->mod);
1: + if (libbpf_get_error(trace->btf)) {
1: + p_err("could not get BTF for '%s': %s",
1: + strlen(func->mod) ? func->mod : "vmlinux", libbpf_errstr(trace->btf));
1: + return -ENOENT;
1: + }
1: + trace->dump = btf_dump__new(trace->btf, NULL, &opts, trace_printf);
1: + if (libbpf_get_error(trace->dump)) {
1: + p_err("could not create BTF dump : %n", libbpf_errstr(trace->btf));
1: + return -EINVAL;
1: + }
1: +
1: + ret = get_func_btf(trace->btf, func);
1: + if (ret) {
1: + p_debug("unexpected return value '%d' getting function", ret);
1: + return ret;
1: + }
1: +
1: + for (arg = strtok_r(argdata, ",", &saveptr), i = 0; arg;
1: + arg = strtok_r(NULL, ",", &saveptr), i++) {
1: + char *predicate = NULL;
1: +
1: + ret = sscanf(arg, VALID_NAME "->" VALID_NAME, argname, membername);
1: + if (ret == 2) {
1: + if (strlen(arg) > strlen(argname) + strlen(membername) + 2) {
1: + predicate = arg + strlen(argname) + strlen(membername) + 2;
1: + }
1: + p_debug("'%s' dereferences '%s', predicate '%s'", argname, membername,
1: + predicate);
1: + } else {
1: + if (strlen(arg) > strlen(argname))
1: + predicate = arg + strlen(argname);
1: + p_debug("'%s' arg, predcate '%s'", argname, predicate);
1: + membername[0] = '\0';
1: + }
1: +
1: + if (i >= MAX_TRACES) {
1: + p_err("Too many arguments; up to %d are supported", MAX_TRACES);
1: + return -EINVAL;
1: + }
1: + if (trace_to_value(trace->btf, func, argname, membername, predicate,
1: + &trace->traces[i]))
1: + return -EINVAL;
1: +
1: + if (predicate)
1: + nr_predicates++;
1: + if (trace->traces[i].base_arg == KSNOOP_RETURN)
1: + nr_return++;
1: + else
1: + nr_entry++;
1: + trace->nr_traces++;
1: + }
1: +
1: + if (trace->nr_traces > 0) {
1: + trace->flags |= KSNOOP_F_CUSTOM;
1: + p_debug("custom trace with %d args", trace->nr_traces);
1: +
1: + /* If we have one or more predicates _and_ references to
1: + * entry and return values, we need to activate "stash"
1: + * mode where arg traces are stored on entry and not
1: + * sent until return to ensure predicates are satisfied.
1: + */
1: + if (nr_predicates > 0 && nr_entry > 0 && nr_return > 0) {
1: + trace->flags |= KSNOOP_F_STASH;
1: + p_debug("activating stash mode on entry");
1: + }
1: + } else {
1: + p_debug("Standard trace, function with %d arguments", func->nr_args);
1: + /* copy function arg/return value to trace specification. */
1: + memcpy(trace->traces, func->args, sizeof(trace->traces));
1: + for (i = 0; i < MAX_TRACES; i++)
1: + trace->traces[i].base_arg = i;
1: + trace->nr_traces = MAX_TRACES;
1: + }
1: +
1: + return 0;
1: }
1:
1: -static int parse_traces(int argc, char **argv, struct trace **traces)
1: -{
1: - __u8 i;
1: -
1: - if (argc == 0)
1: - usage();
1: -
1: - if (argc > MAX_FUNC_TRACES) {
1: - p_err("A maximum of %d traces are supported", MAX_FUNC_TRACES);
1: - return -EINVAL;
1: - }
1: - *traces = calloc(argc, sizeof(struct trace));
1: - if (!*traces) {
1: - p_err("Could not allocate %d traces", argc);
1: - return -ENOMEM;
1: - }
1: - for (i = 0; i < argc; i++) {
1: - if (parse_trace(argv[i], &((*traces)[i])))
1: - return -EINVAL;
1: - if (!stack_mode || i == 0)
1: - continue;
1: - /* tell stack mode trace which function to expect next */
1: - (*traces)[i].prev_ip = (*traces)[i-1].func.ip;
1: - (*traces)[i-1].next_ip = (*traces)[i].func.ip;
1: - }
1: - return i;
1: +static int parse_traces(int argc, char **argv, struct trace **traces) {
1: + __u8 i;
1: +
1: + if (argc == 0)
1: + usage();
1: +
1: + if (argc > MAX_FUNC_TRACES) {
1: + p_err("A maximum of %d traces are supported", MAX_FUNC_TRACES);
1: + return -EINVAL;
1: + }
1: + *traces = calloc(argc, sizeof(struct trace));
1: + if (!*traces) {
1: + p_err("Could not allocate %d traces", argc);
1: + return -ENOMEM;
1: + }
1: + for (i = 0; i < argc; i++) {
1: + if (parse_trace(argv[i], &((*traces)[i])))
1: + return -EINVAL;
1: + if (!stack_mode || i == 0)
1: + continue;
1: + /* tell stack mode trace which function to expect next */
1: + (*traces)[i].prev_ip = (*traces)[i - 1].func.ip;
1: + (*traces)[i - 1].next_ip = (*traces)[i].func.ip;
1: + }
1: + return i;
1: }
1:
1: -static int cmd_info(int argc, char **argv)
1: -{
1: - struct trace *traces;
1: - char str[MAX_STR];
1: - int nr_traces;
1: - __u8 i, j;
1: -
1: - nr_traces = parse_traces(argc, argv, &traces);
1: - if (nr_traces < 0)
1: - return nr_traces;
1: -
1: - for (i = 0; i < nr_traces; i++) {
1: - struct func *func = &traces[i].func;
1: -
1: - printf("%s %s(",
1: - value_to_str(traces[i].btf, &func->args[KSNOOP_RETURN],
1: - str),
1: - func->name);
1: - for (j = 0; j < func->nr_args; j++) {
1: - if (j > 0)
1: - printf(", ");
1: - printf("%s", value_to_str(traces[i].btf, &func->args[j],
1: - str));
1: - }
1: - if (func->nr_args > MAX_ARGS)
1: - printf(" /* and %d more args that are not traceable */",
1: - func->nr_args - MAX_ARGS);
1: - printf(");\n");
1: - }
1: - return 0;
1: +static int cmd_info(int argc, char **argv) {
1: + struct trace *traces;
1: + char str[MAX_STR];
1: + int nr_traces;
1: + __u8 i, j;
1: +
1: + nr_traces = parse_traces(argc, argv, &traces);
1: + if (nr_traces < 0)
1: + return nr_traces;
1: +
1: + for (i = 0; i < nr_traces; i++) {
1: + struct func *func = &traces[i].func;
1: +
1: + printf("%s %s(",
1: + value_to_str(traces[i].btf, &func->args[KSNOOP_RETURN], str),
1: + func->name);
1: + for (j = 0; j < func->nr_args; j++) {
1: + if (j > 0)
1: + printf(", ");
1: + printf("%s", value_to_str(traces[i].btf, &func->args[j], str));
1: + }
1: + if (func->nr_args > MAX_ARGS)
1: + printf(" /* and %d more args that are not traceable */",
1: + func->nr_args - MAX_ARGS);
1: + printf(");\n");
1: + }
1: + return 0;
1: }
1:
1: -static void trace_handler(void *ctx, int cpu, void *data, __u32 size)
1: -{
1: - struct trace *trace = data;
1: - int i, shown, ret;
1: -
1: - p_debug("got trace, size %d", size);
1: - if (size < (sizeof(*trace) - MAX_TRACE_BUF)) {
1: - p_err("\t/* trace buffer size '%u' < min %ld */",
1: - size, sizeof(trace) - MAX_TRACE_BUF);
1: - return;
1: - }
1: - printf("%16lld %4d %8u %s(\n", trace->time, trace->cpu, trace->pid,
1: - trace->func.name);
1: -
1: - for (i = 0, shown = 0; i < trace->nr_traces; i++) {
1: - DECLARE_LIBBPF_OPTS(btf_dump_type_data_opts, opts);
1: - bool entry = trace->data_flags & KSNOOP_F_ENTRY;
1: - struct value *val = &trace->traces[i];
1: - struct trace_data *data = &trace->trace_data[i];
1: -
1: - opts.indent_level = 36;
1: - opts.indent_str = " ";
1: -
1: - /* skip if it's entry data and trace data is for return, or
1: - * if it's return and trace data is entry; only exception in
1: - * the latter case is if we stashed data; in such cases we
1: - * want to see it as it's a mix of entry/return data with
1: - * predicates.
1: - */
1: - if ((entry && !base_arg_is_entry(val->base_arg)) ||
1: - (!entry && base_arg_is_entry(val->base_arg) &&
1: - !(trace->flags & KSNOOP_F_STASH)))
1: - continue;
1: -
1: - if (val->type_id == 0)
1: - continue;
1: -
1: - if (shown > 0)
1: - printf(",\n");
1: - printf("%34s %s = ", "", val->name);
1: - if (val->flags & KSNOOP_F_PTR)
1: - printf("*(0x%llx)", data->raw_value);
1: - printf("\n");
1: -
1: - if (data->err_type_id != 0) {
1: - char typestr[MAX_STR];
1: -
1: - printf("%36s /* Cannot show '%s' as '%s%s'; invalid/userspace ptr? */\n",
1: - "",
1: - val->name,
1: - type_id_to_str(trace->btf,
1: - val->type_id,
1: - typestr),
1: - val->flags & KSNOOP_F_PTR ?
1: - " *" : "");
1: - } else {
1: - ret = btf_dump__dump_type_data
1: - (trace->dump, val->type_id,
1: - trace->buf + data->buf_offset,
1: - data->buf_len, &opts);
1: - /* truncated? */
1: - if (ret == -E2BIG)
1: - printf("%36s... /* %d bytes of %d */", "",
1: - data->buf_len,
1: - val->size);
1: - }
1: - shown++;
1: -
1: - }
1: - printf("\n%31s);\n\n", "");
1: - fflush(stdout);
1: +static void trace_handler(void *ctx, int cpu, void *data, __u32 size) {
1: + struct trace *trace = data;
1: + int i, shown, ret;
1: +
1: + p_debug("got trace, size %d", size);
1: + if (size < (sizeof(*trace) - MAX_TRACE_BUF)) {
1: + p_err("\t/* trace buffer size '%u' < min %ld */", size,
1: + sizeof(trace) - MAX_TRACE_BUF);
1: + return;
1: + }
1: + printf("%16lld %4d %8u %s(\n", trace->time, trace->cpu, trace->pid,
1: + trace->func.name);
1: +
1: + for (i = 0, shown = 0; i < trace->nr_traces; i++) {
1: + DECLARE_LIBBPF_OPTS(btf_dump_type_data_opts, opts);
1: + bool entry = trace->data_flags & KSNOOP_F_ENTRY;
1: + struct value *val = &trace->traces[i];
1: + struct trace_data *data = &trace->trace_data[i];
1: +
1: + opts.indent_level = 36;
1: + opts.indent_str = " ";
1: +
1: + /* skip if it's entry data and trace data is for return, or
1: + * if it's return and trace data is entry; only exception in
1: + * the latter case is if we stashed data; in such cases we
1: + * want to see it as it's a mix of entry/return data with
1: + * predicates.
1: + */
1: + if ((entry && !base_arg_is_entry(val->base_arg)) ||
1: + (!entry && base_arg_is_entry(val->base_arg) &&
1: + !(trace->flags & KSNOOP_F_STASH)))
1: + continue;
1: +
1: + if (val->type_id == 0)
1: + continue;
1: +
1: + if (shown > 0)
1: + printf(",\n");
1: + printf("%34s %s = ", "", val->name);
1: + if (val->flags & KSNOOP_F_PTR)
1: + printf("*(0x%llx)", data->raw_value);
1: + printf("\n");
1: +
1: + if (data->err_type_id != 0) {
1: + char typestr[MAX_STR];
1: +
1: + printf("%36s /* Cannot show '%s' as '%s%s'; invalid/userspace ptr? */\n",
1: + "", val->name, type_id_to_str(trace->btf, val->type_id, typestr),
1: + val->flags & KSNOOP_F_PTR ? " *" : "");
1: + } else {
1: + ret = btf_dump__dump_type_data(trace->dump, val->type_id,
1: + trace->buf + data->buf_offset,
1: + data->buf_len, &opts);
1: + /* truncated? */
1: + if (ret == -E2BIG)
1: + printf("%36s... /* %d bytes of %d */", "", data->buf_len, val->size);
1: + }
1: + shown++;
1: + }
1: + printf("\n%31s);\n\n", "");
1: + fflush(stdout);
1: }
1:
1: -static void lost_handler(void *ctx, int cpu, __u64 cnt)
1: -{
1: - p_err("\t/* lost %llu events */", cnt);
1: +static void lost_handler(void *ctx, int cpu, __u64 cnt) {
1: + p_err("\t/* lost %llu events */", cnt);
1: }
1:
1: static int add_traces(struct bpf_map *func_map, struct trace *traces,
1: - int nr_traces)
1: -{
1: - int i, j, ret, nr_cpus = libbpf_num_possible_cpus();
1: - struct trace *map_traces;
1: -
1: - map_traces = calloc(nr_cpus, sizeof(struct trace));
1: - if (!map_traces) {
1: - p_err("Could not allocate memory for %d traces", nr_traces);
1: - return -ENOMEM;
1: - }
1: - for (i = 0; i < nr_traces; i++) {
1: - for (j = 0; j < nr_cpus; j++)
1: - memcpy(&map_traces[j], &traces[i],
1: - sizeof(map_traces[j]));
1: -
1: - ret = bpf_map_update_elem(bpf_map__fd(func_map),
1: - &traces[i].func.ip,
1: - map_traces,
1: - BPF_NOEXIST);
1: - if (ret) {
1: - p_err("Could not add map entry for '%s': %s",
1: - traces[i].func.name, strerror(-ret));
1: - break;
1: - }
1: - }
1: - free(map_traces);
1: - return ret;
1: + int nr_traces) {
1: + int i, j, ret, nr_cpus = libbpf_num_possible_cpus();
1: + struct trace *map_traces;
1: +
1: + map_traces = calloc(nr_cpus, sizeof(struct trace));
1: + if (!map_traces) {
1: + p_err("Could not allocate memory for %d traces", nr_traces);
1: + return -ENOMEM;
1: + }
1: + for (i = 0; i < nr_traces; i++) {
1: + for (j = 0; j < nr_cpus; j++)
1: + memcpy(&map_traces[j], &traces[i], sizeof(map_traces[j]));
1: +
1: + ret = bpf_map_update_elem(bpf_map__fd(func_map), &traces[i].func.ip,
1: + map_traces, BPF_NOEXIST);
1: + if (ret) {
1: + p_err("Could not add map entry for '%s': %s", traces[i].func.name,
1: + strerror(-ret));
1: + break;
1: + }
1: + }
1: + free(map_traces);
1: + return ret;
1: }
1:
1: static int attach_traces(struct ksnoop_bpf *skel, struct trace *traces,
1: - int nr_traces)
1: -{
1: - struct bpf_link *link;
1: - int i, ret;
1: -
1: - for (i = 0; i < nr_traces; i++) {
1: - link = bpf_program__attach_kprobe(skel->progs.kprobe_entry,
1: - false,
1: - traces[i].func.name);
1: - ret = libbpf_get_error(link);
1: - if (ret) {
1: - p_err("Could not attach kprobe to '%s': %s",
1: - traces[i].func.name, strerror(-ret));
1: - return ret;
1: - }
1: - p_debug("Attached kprobe for '%s'", traces[i].func.name);
1: -
1: - link = bpf_program__attach_kprobe(skel->progs.kprobe_return,
1: - true,
1: - traces[i].func.name);
1: - ret = libbpf_get_error(link);
1: - if (ret) {
1: - p_err("Could not attach kretprobe to '%s': %s",
1: - traces[i].func.name, strerror(-ret));
1: - return ret;
1: - }
1: - p_debug("Attached kretprobe for '%s'", traces[i].func.name);
1: - }
1: - return 0;
1: + int nr_traces) {
1: + struct bpf_link *link;
1: + int i, ret;
1: +
1: + for (i = 0; i < nr_traces; i++) {
1: + link = bpf_program__attach_kprobe(skel->progs.kprobe_entry, false,
1: + traces[i].func.name);
1: + ret = libbpf_get_error(link);
1: + if (ret) {
1: + p_err("Could not attach kprobe to '%s': %s", traces[i].func.name,
1: + strerror(-ret));
1: + return ret;
1: + }
1: + p_debug("Attached kprobe for '%s'", traces[i].func.name);
1: +
1: + link = bpf_program__attach_kprobe(skel->progs.kprobe_return, true,
1: + traces[i].func.name);
1: + ret = libbpf_get_error(link);
1: + if (ret) {
1: + p_err("Could not attach kretprobe to '%s': %s", traces[i].func.name,
1: + strerror(-ret));
1: + return ret;
1: + }
1: + p_debug("Attached kretprobe for '%s'", traces[i].func.name);
1: + }
1: + return 0;
1: }
1:
1: -static int cmd_trace(int argc, char **argv)
1: -{
1: - struct perf_buffer_opts pb_opts = {};
1: - struct bpf_map *perf_map, *func_map;
1: - struct perf_buffer *pb;
1: - struct ksnoop_bpf *skel;
1: - int nr_traces, ret = 0;
1: - struct trace *traces;
1: -
1: - nr_traces = parse_traces(argc, argv, &traces);
1: - if (nr_traces < 0)
1: - return nr_traces;
1: -
1: - skel = ksnoop_bpf__open_and_load();
1: - if (!skel) {
1: - p_err("Could not load ksnoop BPF: %s", libbpf_errstr(skel));
1: - return 1;
1: - }
1: -
1: - perf_map = skel->maps.ksnoop_perf_map;
1: - if (!perf_map) {
1: - p_err("Could not find '%s'", "ksnoop_perf_map");
1: - return 1;
1: - }
1: - func_map = bpf_object__find_map_by_name(skel->obj, "ksnoop_func_map");
1: - if (!func_map) {
1: - p_err("Could not find '%s'", "ksnoop_func_map");
1: - return 1;
1: - }
1: -
1: - if (add_traces(func_map, traces, nr_traces)) {
1: - p_err("Could not add traces to '%s'", "ksnoop_func_map");
1: - return 1;
1: - }
1: -
1: - if (attach_traces(skel, traces, nr_traces)) {
1: - p_err("Could not attach %d traces", nr_traces);
1: - return 1;
1: - }
1: -
1: - pb_opts.sample_cb = trace_handler;
1: - pb_opts.lost_cb = lost_handler;
1: - pb = perf_buffer__new(bpf_map__fd(perf_map), pages, &pb_opts);
1: - if (libbpf_get_error(pb)) {
1: - p_err("Could not create perf buffer: %s",
1: - libbpf_errstr(pb));
1: - return 1;
1: - }
1: -
1: - printf("%16s %4s %8s %s\n", "TIME", "CPU", "PID", "FUNCTION/ARGS");
1: -
1: - while (1) {
1: - ret = perf_buffer__poll(pb, 1);
1: - if (ret < 0 && ret != -EINTR) {
1: - p_err("Polling failed: %s", strerror(-ret));
1: - break;
1: - }
1: - }
1: -
1: - perf_buffer__free(pb);
1: - ksnoop_bpf__destroy(skel);
1: -
1: - return ret;
1: +static int cmd_trace(int argc, char **argv) {
1: + struct perf_buffer_opts pb_opts = {};
1: + struct bpf_map *perf_map, *func_map;
1: + struct perf_buffer *pb;
1: + struct ksnoop_bpf *skel;
1: + int nr_traces, ret = 0;
1: + struct trace *traces;
1: +
1: + nr_traces = parse_traces(argc, argv, &traces);
1: + if (nr_traces < 0)
1: + return nr_traces;
1: +
1: + skel = ksnoop_bpf__open_and_load();
1: + if (!skel) {
1: + p_err("Could not load ksnoop BPF: %s", libbpf_errstr(skel));
1: + return 1;
1: + }
1: +
1: + perf_map = skel->maps.ksnoop_perf_map;
1: + if (!perf_map) {
1: + p_err("Could not find '%s'", "ksnoop_perf_map");
1: + return 1;
1: + }
1: + func_map = bpf_object__find_map_by_name(skel->obj, "ksnoop_func_map");
1: + if (!func_map) {
1: + p_err("Could not find '%s'", "ksnoop_func_map");
1: + return 1;
1: + }
1: +
1: + if (add_traces(func_map, traces, nr_traces)) {
1: + p_err("Could not add traces to '%s'", "ksnoop_func_map");
1: + return 1;
1: + }
1: +
1: + if (attach_traces(skel, traces, nr_traces)) {
1: + p_err("Could not attach %d traces", nr_traces);
1: + return 1;
1: + }
1: +
1: + pb_opts.sample_cb = trace_handler;
1: + pb_opts.lost_cb = lost_handler;
1: + pb = perf_buffer__new(bpf_map__fd(perf_map), pages, &pb_opts);
1: + if (libbpf_get_error(pb)) {
1: + p_err("Could not create perf buffer: %s", libbpf_errstr(pb));
1: + return 1;
1: + }
1: +
1: + printf("%16s %4s %8s %s\n", "TIME", "CPU", "PID", "FUNCTION/ARGS");
1: +
1: + while (1) {
1: + ret = perf_buffer__poll(pb, 1);
1: + if (ret < 0 && ret != -EINTR) {
1: + p_err("Polling failed: %s", strerror(-ret));
1: + break;
1: + }
1: + }
1: +
1: + perf_buffer__free(pb);
1: + ksnoop_bpf__destroy(skel);
1: +
1: + return ret;
1: }
1:
1: struct cmd {
1: - const char *cmd;
1: - int (*func)(int argc, char **argv);
1: + const char *cmd;
1: + int (*func)(int argc, char **argv);
1: };
1:
1: struct cmd cmds[] = {
1: - { "info", cmd_info },
1: - { "trace", cmd_trace },
1: - { "help", cmd_help },
1: - { NULL, NULL }
1: -};
1: + {"info", cmd_info}, {"trace", cmd_trace}, {"help", cmd_help}, {NULL, NULL}};
1:
1: -static int cmd_select(int argc, char **argv)
1: -{
1: - int i;
1: +static int cmd_select(int argc, char **argv) {
1: + int i;
1:
1: - for (i = 0; cmds[i].cmd; i++) {
1: - if (strncmp(*argv, cmds[i].cmd, strlen(*argv)) == 0)
1: - return cmds[i].func(argc - 1, argv + 1);
1: - }
1: - return cmd_trace(argc, argv);
1: + for (i = 0; cmds[i].cmd; i++) {
1: + if (strncmp(*argv, cmds[i].cmd, strlen(*argv)) == 0)
1: + return cmds[i].func(argc - 1, argv + 1);
1: + }
1: + return cmd_trace(argc, argv);
1: }
1:
1: -static int print_all_levels(enum libbpf_print_level level,
1: - const char *format, va_list args)
1: -{
1: - return vfprintf(stderr, format, args);
1: +static int print_all_levels(enum libbpf_print_level level, const char *format,
1: + va_list args) {
1: + return vfprintf(stderr, format, args);
1: }
1:
1: -int main(int argc, char *argv[])
1: -{
1: - static const struct option options[] = {
1: - { "debug", no_argument, NULL, 'd' },
1: - { "help", no_argument, NULL, 'h' },
1: - { "version", no_argument, NULL, 'V' },
1: - { "pages", required_argument, NULL, 'P' },
1: - { "pid", required_argument, NULL, 'p' },
1: - { 0 }
1: - };
1: - int opt;
1: -
1: - bin_name = argv[0];
1: -
1: - while ((opt = getopt_long(argc, argv, "dhp:P:sV", options,
1: - NULL)) >= 0) {
1: - switch (opt) {
1: - case 'd':
1: - libbpf_set_print(print_all_levels);
1: - log_level = DEBUG;
1: - break;
1: - case 'h':
1: - return cmd_help(argc, argv);
1: - case 'V':
1: - return do_version(argc, argv);
1: - case 'p':
1: - filter_pid = atoi(optarg);
1: - break;
1: - case 'P':
1: - pages = atoi(optarg);
1: - break;
1: - case 's':
1: - stack_mode = true;
1: - break;
1: - default:
1: - p_err("unrecognized option '%s'", argv[optind - 1]);
1: - usage();
1: - }
1: - }
1: - if (argc == 1)
1: - usage();
1: - argc -= optind;
1: - argv += optind;
1: - if (argc < 0)
1: - usage();
1: -
1: - return cmd_select(argc, argv);
1: +int main(int argc, char *argv[]) {
1: + static const struct option options[] = {
1: + {"debug", no_argument, NULL, 'd'},
1: + {"help", no_argument, NULL, 'h'},
1: + {"version", no_argument, NULL, 'V'},
1: + {"pages", required_argument, NULL, 'P'},
1: + {"pid", required_argument, NULL, 'p'},
1: + {0}};
1: + int opt;
1: +
1: + bin_name = argv[0];
1: +
1: + while ((opt = getopt_long(argc, argv, "dhp:P:sV", options, NULL)) >= 0) {
1: + switch (opt) {
1: + case 'd':
1: + libbpf_set_print(print_all_levels);
1: + log_level = DEBUG;
1: + break;
1: + case 'h':
1: + return cmd_help(argc, argv);
1: + case 'V':
1: + return do_version(argc, argv);
1: + case 'p':
1: + filter_pid = atoi(optarg);
1: + break;
1: + case 'P':
1: + pages = atoi(optarg);
1: + break;
1: + case 's':
1: + stack_mode = true;
1: + break;
1: + default:
1: + p_err("unrecognized option '%s'", argv[optind - 1]);
1: + usage();
1: + }
1: + }
1: + if (argc == 1)
1: + usage();
1: + argc -= optind;
1: + argv += optind;
1: + if (argc < 0)
1: + usage();
1: +
1: + return cmd_select(argc, argv);
1: }
1: diff --git a/libbpf-tools/ksnoop.h b/libbpf-tools/ksnoop.h
1: index 6c55b0ef..64f77d41 100644
1: --- a/libbpf-tools/ksnoop.h
1: +++ b/libbpf-tools/ksnoop.h
1: @@ -2,121 +2,120 @@
1: /* Copyright (c) 2021, Oracle and/or its affiliates. */
1:
1: /* maximum number of different functions we can trace at once */
1: -#define MAX_FUNC_TRACES 64
1: +#define MAX_FUNC_TRACES 64
1:
1: enum arg {
1: - KSNOOP_ARG1,
1: - KSNOOP_ARG2,
1: - KSNOOP_ARG3,
1: - KSNOOP_ARG4,
1: - KSNOOP_ARG5,
1: - KSNOOP_RETURN
1: + KSNOOP_ARG1,
1: + KSNOOP_ARG2,
1: + KSNOOP_ARG3,
1: + KSNOOP_ARG4,
1: + KSNOOP_ARG5,
1: + KSNOOP_RETURN
1: };
1:
1: /* we choose "return" as the name for the returned value because as
1: * a C keyword it can't clash with a function entry parameter.
1: */
1: -#define KSNOOP_RETURN_NAME "return"
1: +#define KSNOOP_RETURN_NAME "return"
1:
1: /* if we can't get a type id for a type (such as module-specific type)
1: * mark it as KSNOOP_ID_UNKNOWN since BTF lookup in bpf_snprintf_btf()
1: * will fail and the data will be simply displayed as a __u64.
1: */
1: -#define KSNOOP_ID_UNKNOWN 0xffffffff
1: -
1: -#define MAX_NAME 96
1: -#define MAX_STR 256
1: -#define MAX_PATH 512
1: -#define MAX_VALUES 6
1: -#define MAX_ARGS (MAX_VALUES - 1)
1: -#define KSNOOP_F_PTR 0x1 /* value is a pointer */
1: -#define KSNOOP_F_MEMBER 0x2 /* member reference */
1: -#define KSNOOP_F_ENTRY 0x4
1: -#define KSNOOP_F_RETURN 0x8
1: -#define KSNOOP_F_CUSTOM 0x10 /* custom trace */
1: -#define KSNOOP_F_STASH 0x20 /* store values on entry,
1: - * no perf events.
1: - */
1: -#define KSNOOP_F_STASHED 0x40 /* values stored on entry */
1: -
1: -#define KSNOOP_F_PREDICATE_EQ 0x100
1: -#define KSNOOP_F_PREDICATE_NOTEQ 0x200
1: -#define KSNOOP_F_PREDICATE_GT 0x400
1: -#define KSNOOP_F_PREDICATE_LT 0x800
1: -
1: -#define KSNOOP_F_PREDICATE_MASK (KSNOOP_F_PREDICATE_EQ | \
1: - KSNOOP_F_PREDICATE_NOTEQ | \
1: - KSNOOP_F_PREDICATE_GT | \
1: - KSNOOP_F_PREDICATE_LT)
1: +#define KSNOOP_ID_UNKNOWN 0xffffffff
1: +
1: +#define MAX_NAME 96
1: +#define MAX_STR 256
1: +#define MAX_PATH 512
1: +#define MAX_VALUES 6
1: +#define MAX_ARGS (MAX_VALUES - 1)
1: +#define KSNOOP_F_PTR 0x1 /* value is a pointer */
1: +#define KSNOOP_F_MEMBER 0x2 /* member reference */
1: +#define KSNOOP_F_ENTRY 0x4
1: +#define KSNOOP_F_RETURN 0x8
1: +#define KSNOOP_F_CUSTOM 0x10 /* custom trace */
1: +#define KSNOOP_F_STASH \
1: + 0x20 /* store values on entry, \
1: + * no perf events. \
1: + */
1: +#define KSNOOP_F_STASHED 0x40 /* values stored on entry */
1: +
1: +#define KSNOOP_F_PREDICATE_EQ 0x100
1: +#define KSNOOP_F_PREDICATE_NOTEQ 0x200
1: +#define KSNOOP_F_PREDICATE_GT 0x400
1: +#define KSNOOP_F_PREDICATE_LT 0x800
1: +
1: +#define KSNOOP_F_PREDICATE_MASK \
1: + (KSNOOP_F_PREDICATE_EQ | KSNOOP_F_PREDICATE_NOTEQ | KSNOOP_F_PREDICATE_GT | \
1: + KSNOOP_F_PREDICATE_LT)
1:
1: /* for kprobes, entry is function IP + sizeof(kprobe_opcode_t),
1: * subtract in BPF prog context to get fn address.
1: */
1: #ifdef __TARGET_ARCH_x86
1: -#define KSNOOP_IP_FIX(ip) (ip - sizeof(kprobe_opcode_t))
1: +#define KSNOOP_IP_FIX(ip) (ip - sizeof(kprobe_opcode_t))
1: #else
1: -#define KSNOOP_IP_FIX(ip) ip
1: +#define KSNOOP_IP_FIX(ip) ip
1: #endif
1:
1: struct value {
1: - char name[MAX_STR];
1: - enum arg base_arg;
1: - __u32 offset;
1: - __u32 size;
1: - __u64 type_id;
1: - __u64 flags;
1: - __u64 predicate_value;
1: + char name[MAX_STR];
1: + enum arg base_arg;
1: + __u32 offset;
1: + __u32 size;
1: + __u64 type_id;
1: + __u64 flags;
1: + __u64 predicate_value;
1: };
1:
1: struct func {
1: - char name[MAX_NAME];
1: - char mod[MAX_NAME];
1: - __s32 id;
1: - __u8 nr_args;
1: - __u64 ip;
1: - struct value args[MAX_VALUES];
1: + char name[MAX_NAME];
1: + char mod[MAX_NAME];
1: + __s32 id;
1: + __u8 nr_args;
1: + __u64 ip;
1: + struct value args[MAX_VALUES];
1: };
1:
1: #define MAX_TRACES MAX_VALUES
1:
1: -#define MAX_TRACE_DATA 2048
1: +#define MAX_TRACE_DATA 2048
1:
1: struct trace_data {
1: - __u64 raw_value;
1: - __u32 err_type_id; /* type id we can't dereference */
1: - int err;
1: - __u32 buf_offset;
1: - __u16 buf_len;
1: + __u64 raw_value;
1: + __u32 err_type_id; /* type id we can't dereference */
1: + int err;
1: + __u32 buf_offset;
1: + __u16 buf_len;
1: };
1:
1: -#define MAX_TRACE_BUF (MAX_TRACES * MAX_TRACE_DATA)
1: +#define MAX_TRACE_BUF (MAX_TRACES * MAX_TRACE_DATA)
1:
1: struct trace {
1: - /* initial values are readonly in tracing context */
1: - struct btf *btf;
1: - struct btf_dump *dump;
1: - struct func func;
1: - __u8 nr_traces;
1: - __u32 filter_pid;
1: - __u64 prev_ip; /* these are used in stack-mode tracing */
1: - __u64 next_ip;
1: - struct value traces[MAX_TRACES];
1: - __u64 flags;
1: - /* values below this point are set or modified in tracing context */
1: - __u64 task;
1: - __u32 pid;
1: - __u32 cpu;
1: - __u64 time;
1: - __u64 data_flags;
1: - struct trace_data trace_data[MAX_TRACES];
1: - __u16 buf_len;
1: - char buf[MAX_TRACE_BUF];
1: - char buf_end[0];
1: + /* initial values are readonly in tracing context */
1: + struct btf *btf;
1: + struct btf_dump *dump;
1: + struct func func;
1: + __u8 nr_traces;
1: + __u32 filter_pid;
1: + __u64 prev_ip; /* these are used in stack-mode tracing */
1: + __u64 next_ip;
1: + struct value traces[MAX_TRACES];
1: + __u64 flags;
1: + /* values below this point are set or modified in tracing context */
1: + __u64 task;
1: + __u32 pid;
1: + __u32 cpu;
1: + __u64 time;
1: + __u64 data_flags;
1: + struct trace_data trace_data[MAX_TRACES];
1: + __u16 buf_len;
1: + char buf[MAX_TRACE_BUF];
1: + char buf_end[0];
1: };
1:
1: -#define PAGES_DEFAULT 16
1: +#define PAGES_DEFAULT 16
1:
1: -static inline int base_arg_is_entry(enum arg base_arg)
1: -{
1: - return base_arg != KSNOOP_RETURN;
1: +static inline int base_arg_is_entry(enum arg base_arg) {
1: + return base_arg != KSNOOP_RETURN;
1: }
1: Ignoring changes in the following files (wrong extension):
1: libbpf-tools/Makefile
1: libbpf-tools/.gitignore
1: src/cc/libbpf
1: man/man8/ksnoop.8
1: Running clang-format on the following files:
1: libbpf-tools/ksnoop.h
1: libbpf-tools/ksnoop.bpf.c
1: libbpf-tools/ksnoop.c
1: old tree: 675c000024a766bd7b1c4f8b9469349951c8f924
1: new tree: eb52c045c2f9e27db855286351e9d24599b82fb0
1/47 Test #1: style-check ...................... Passed 2.05 sec
test 2
Start 2: c_test_static
2: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "c_test_static" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/cc/test_static"
2: Test timeout computed to be: 10000000
2: clang -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model static -mthread-model posix -fno-jump-tables -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -coverage-notes-file /usr/src/kernels/4.17.12-200.fc28.x86_64/main.gcno -nostdsysteminc -nobuiltininc -resource-dir lib64/clang/6.0.1 -isystem /virtual/lib/clang/include -include ./include/linux/kconfig.h -include /virtual/include/bcc/bpf.h -include /virtual/include/bcc/bpf_workaround.h -include /virtual/include/bcc/helpers.h -isystem /virtual/include -I /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/cc -D __BPF_TRACING__ -I arch/x86/include/ -I /lib/modules/4.17.12-200.fc28.x86_64/build/arch/x86/include/generated -I include -I /lib/modules/4.17.12-200.fc28.x86_64/build/include -I arch/x86/include/uapi -I /lib/modules/4.17.12-200.fc28.x86_64/build/arch/x86/include/generated/uapi -I include/uapi -I /lib/modules/4.17.12-200.fc28.x86_64/build/include/generated/uapi -D __KERNEL__ -D KBUILD_MODNAME="bcc" -O2 -Wno-deprecated-declarations -Wno-gnu-variable-sized-type-not-at-end -Wno-pragma-once-outside-header -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-unused-value -Wno-pointer-sign -fdebug-compilation-dir /usr/src/kernels/4.17.12-200.fc28.x86_64 -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o main.bc -x c /virtual/main.c
2: #if defined(BPF_LICENSE)
2: #error BPF_LICENSE cannot be specified through cflags
2: #endif
2: #if !defined(CONFIG_CC_STACKPROTECTOR)
2: #if defined(CONFIG_CC_STACKPROTECTOR_AUTO) \
2: || defined(CONFIG_CC_STACKPROTECTOR_REGULAR) \
2: || defined(CONFIG_CC_STACKPROTECTOR_STRONG)
2: #define CONFIG_CC_STACKPROTECTOR
2: #endif
2: #endif
2: #define bpf_probe_read_kernel bpf_probe_read
2: #define bpf_probe_read_kernel_str bpf_probe_read_str
2: #define bpf_probe_read_user bpf_probe_read
2: #define bpf_probe_read_user_str bpf_probe_read_str
2: BPF_TABLE("array", int, int, stats, 10);
2:
2: #include <bcc/footer.h>
2: Running from kernel directory at: /lib/modules/4.17.12-200.fc28.x86_64/source
2/47 Test #2: c_test_static .................... Passed 2.18 sec
test 3
Start 3: test_libbcc
3: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "c_test_all" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/cc/test_libbcc"
3: Test timeout computed to be: 10000000
3: bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
3: Parse error:
3: 4@i%ra+1r
3: -------^
3: unshare: failed to execute ruby: No such file or directory
3:
3: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3: test_libbcc is a Catch v1.4.0 host application.
3: Run with -? for options
3:
3: -------------------------------------------------------------------------------
3: test probing running Ruby process in namespaces
3: in separate mount namespace
3: -------------------------------------------------------------------------------
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/cc/test_usdt_probes.cc:352
3: ...............................................................................
3:
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/cc/test_usdt_probes.cc:367: FAILED:
3: REQUIRE( res.msg() == "" )
3: with expansion:
3: "Unable to load USDT ruby:gc__mark__begin from binary PID 11898 for probe
3: on_event"
3: ==
3: ""
3:
3: unshare: failed to execute ruby: No such file or directory
3: -------------------------------------------------------------------------------
3: test probing running Ruby process in namespaces
3: in separate mount namespace and separate PID namespace
3: -------------------------------------------------------------------------------
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/cc/test_usdt_probes.cc:352
3: ...............................................................................
3:
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/cc/test_usdt_probes.cc:393: FAILED:
3: REQUIRE( res.msg() == "" )
3: with expansion:
3: "No valid Binary Path or PID provided"
3: ==
3: ""
3:
3: ===============================================================================
3: test cases: 41 | 40 passed | 1 failed as expected
3: assertions: 681 | 679 passed | 2 failed as expected
3:
3/47 Test #3: test_libbcc ...................... Passed 17.51 sec
test 4
Start 4: py_test_stat1_b
4: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_stat1_b" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_stat1.py" "test_stat1.b" "proto.b"
4: Test timeout computed to be: 10000000
4: Actual changes:
4: tx-checksumming: off
4: tx-checksum-ip-generic: off
4: tx-checksum-sctp: off
4: tcp-segmentation-offload: off
4: tx-tcp-segmentation: off [requested on]
4: tx-tcp-ecn-segmentation: off [requested on]
4: tx-tcp-mangleid-segmentation: off [requested on]
4: tx-tcp6-segmentation: off [requested on]
4: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:423: DeprecationWarning: not a bytes object: 'test_stat1.b'
4: src_file = _assert_is_bytes(src_file)
4: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:424: DeprecationWarning: not a bytes object: 'proto.b'
4: hdr_file = _assert_is_bytes(hdr_file)
4: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'on_packet'
4: func_name = _assert_is_bytes(func_name)
4: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:677: DeprecationWarning: not a bytes object: 'eth0'
4: dev = _assert_is_bytes(dev)
4: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stats'
4: name = _assert_is_bytes(name)
4: .PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
4: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4: --- 172.16.1.1 ping statistics ---
4: 100 packets transmitted, 100 received, 0% packet loss, time 2ms
4: rtt min/avg/max/mdev = 0.006/0.010/0.121/0.012 ms, ipg/ewma 0.022/0.008 ms
4: .
4: ----------------------------------------------------------------------
4: Ran 2 tests in 0.587s
4:
4: OK
4/47 Test #4: py_test_stat1_b .................. Passed 1.32 sec
test 5
Start 5: py_test_bpf_log
5: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_bpf_prog" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_bpf_log.py"
5: Test timeout computed to be: 10000000
5/47 Test #5: py_test_bpf_log .................. Passed 1.64 sec
test 6
Start 6: py_test_stat1_c
6: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_stat1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_stat1.py" "test_stat1.c"
6: Test timeout computed to be: 10000000
6: Actual changes:
6: tx-checksumming: off
6: tx-checksum-ip-generic: off
6: tx-checksum-sctp: off
6: tcp-segmentation-offload: off
6: tx-tcp-segmentation: off [requested on]
6: tx-tcp-ecn-segmentation: off [requested on]
6: tx-tcp-mangleid-segmentation: off [requested on]
6: tx-tcp6-segmentation: off [requested on]
6: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:423: DeprecationWarning: not a bytes object: 'test_stat1.c'
6: src_file = _assert_is_bytes(src_file)
6: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:424: DeprecationWarning: not a bytes object: ''
6: hdr_file = _assert_is_bytes(hdr_file)
6: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'on_packet'
6: func_name = _assert_is_bytes(func_name)
6: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:677: DeprecationWarning: not a bytes object: 'eth0'
6: dev = _assert_is_bytes(dev)
6: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stats'
6: name = _assert_is_bytes(name)
6: .PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
6: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6: --- 172.16.1.1 ping statistics ---
6: 100 packets transmitted, 100 received, 0% packet loss, time 1ms
6: rtt min/avg/max/mdev = 0.005/0.007/0.065/0.006 ms, ipg/ewma 0.019/0.007 ms
6: .
6: ----------------------------------------------------------------------
6: Ran 2 tests in 0.589s
6:
6: OK
6/47 Test #6: py_test_stat1_c .................. Passed 1.05 sec
test 7
Start 7: py_test_xlate1_c
7: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_xlate1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_xlate1.py" "test_xlate1.c"
7: Test timeout computed to be: 10000000
7: Actual changes:
7: tx-checksumming: off
7: tx-checksum-ip-generic: off
7: tx-checksum-sctp: off
7: tcp-segmentation-offload: off
7: tx-tcp-segmentation: off [requested on]
7: tx-tcp-ecn-segmentation: off [requested on]
7: tx-tcp-mangleid-segmentation: off [requested on]
7: tx-tcp6-segmentation: off [requested on]
7: PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
7: 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.084 ms
7:
7: --- 192.168.1.1 ping statistics ---
7: 1 packets transmitted, 1 received, 0% packet loss, time 0ms
7: rtt min/avg/max/mdev = 0.084/0.084/0.084/0.000 ms
7: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:423: DeprecationWarning: not a bytes object: 'test_xlate1.c'
7: src_file = _assert_is_bytes(src_file)
7: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:424: DeprecationWarning: not a bytes object: ''
7: hdr_file = _assert_is_bytes(hdr_file)
7: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'on_packet'
7: func_name = _assert_is_bytes(func_name)
7: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'xlate'
7: name = _assert_is_bytes(name)
7: .
7: ----------------------------------------------------------------------
7: Ran 1 test in 0.380s
7:
7: OK
7/47 Test #7: py_test_xlate1_c ................. Passed 0.91 sec
test 8
Start 8: py_test_call1
8: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_call1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_call1.py" "test_call1.c"
8: Test timeout computed to be: 10000000
8: Actual changes:
8: tx-checksumming: off
8: tx-checksum-ip-generic: off
8: tx-checksum-sctp: off
8: tcp-segmentation-offload: off
8: tx-tcp-segmentation: off [requested on]
8: tx-tcp-ecn-segmentation: off [requested on]
8: tx-tcp-mangleid-segmentation: off [requested on]
8: tx-tcp6-segmentation: off [requested on]
8: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:423: DeprecationWarning: not a bytes object: 'test_call1.c'
8: src_file = _assert_is_bytes(src_file)
8: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'parse_ether'
8: func_name = _assert_is_bytes(func_name)
8: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'parse_arp'
8: func_name = _assert_is_bytes(func_name)
8: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'parse_ip'
8: func_name = _assert_is_bytes(func_name)
8: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'eop'
8: func_name = _assert_is_bytes(func_name)
8: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'jump'
8: name = _assert_is_bytes(name)
8: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stats'
8: name = _assert_is_bytes(name)
8: .
8: ----------------------------------------------------------------------
8: Ran 1 test in 0.304s
8:
8: OK
8/47 Test #8: py_test_call1 .................... Passed 0.84 sec
test 9
Start 9: py_test_trace1
9: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_trace1" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_trace1.py" "test_trace1.b" "kprobe.b"
9: Test timeout computed to be: 10000000
9: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:423: DeprecationWarning: not a bytes object: 'test_trace1.b'
9: src_file = _assert_is_bytes(src_file)
9: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:424: DeprecationWarning: not a bytes object: 'kprobe.b'
9: hdr_file = _assert_is_bytes(hdr_file)
9: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stats'
9: name = _assert_is_bytes(name)
9: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'write'
9: name = _assert_is_bytes(name)
9: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'sys_wr'
9: fn_name = _assert_is_bytes(fn_name)
9: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'read'
9: name = _assert_is_bytes(name)
9: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'sys_rd'
9: fn_name = _assert_is_bytes(fn_name)
9: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:807: DeprecationWarning: not a bytes object: 'htab_map_get_next_key'
9: event = _assert_is_bytes(event)
9: .
9: ----------------------------------------------------------------------
9: Ran 1 test in 0.497s
9:
9: OK
9: fd ffff9b2f95290e00: stat1 1 stat2 0
9: fd ffffa7afc10bff58: stat1 202 stat2 100
9/47 Test #9: py_test_trace1 ................... Passed 0.70 sec
test 10
Start 10: py_test_trace2
10: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_trace2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_trace2.py"
10: Test timeout computed to be: 10000000
10: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/ptrace.h>\nstruct Ptr { u64 ptr; };\nstruct Counters { char unused; __int128 stat1; };\nBPF_HASH(stats, struct Ptr, struct Counters, 1024);\n\nint count_sched(struct pt_regs *ctx) {\n struct Ptr key = {.ptr=PT_REGS_PARM1(ctx)};\n struct Counters zleaf;\n\n memset(&zleaf, 0, sizeof(zleaf));\n struct Counters *val = stats.lookup_or_try_init(&key, &zleaf);\n if (val) {\n val->stat1++;\n }\n return 0;\n}\n'
10: text = _assert_is_bytes(text)
10: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stats'
10: name = _assert_is_bytes(name)
10: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'count_sched'
10: fn_name = _assert_is_bytes(fn_name)
10: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:809: DeprecationWarning: not a bytes object: '^finish_task_switch$|^finish_task_switch\\.isra\\.\\d$'
10: event_re = _assert_is_bytes(event_re)
10: .
10: ----------------------------------------------------------------------
10: Ran 1 test in 4.072s
10:
10: OK
10: ptr ffff9b2f936f9f00: stat1 (0 20)
10: ptr ffff9b2f88293e00: stat1 (0 1)
10: ptr ffff9b2f882a1f00: stat1 (0 1)
10: ptr ffff9b2f96a1dd00: stat1 (0 1)
10: ptr ffff9b2f96a11f00: stat1 (0 2)
10: ptr ffff9b2f88290000: stat1 (0 1)
10: ptr ffff9b2f96a19f00: stat1 (0 31)
10: ptr ffff9b2f96a15d00: stat1 (0 1)
10: ptr ffffffff99212740: stat1 (0 101)
10: ptr ffff9b2f88228000: stat1 (0 5)
10: ptr ffff9b2f9422dd00: stat1 (0 100)
10/47 Test #10: py_test_trace2 ................... Passed 4.23 sec
test 11
Start 11: py_test_trace3_c
11: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_trace3_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_trace3.py" "test_trace3.c"
11: Test timeout computed to be: 10000000
11: 1024+0 records in
11: 1024+0 records out
11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.00422314 s, 993 MB/s
11: 1024+0 records in
11: 1024+0 records out
11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.0087467 s, 480 MB/s
11: latency 0: count 0
11: latency 1: count 0
11: latency 2: count 0
11: latency 3: count 0
11: latency 4: count 0
11: latency 5: count 0
11: latency 6: count 0
11: latency 7: count 0
11: latency 8: count 0
11: latency 9: count 0
11: latency 10: count 0
11: latency 11: count 0
11: latency 12: count 0
11: latency 13: count 0
11: latency 14: count 0
11: latency 15: count 0
11: latency 16: count 0
11: latency 17: count 0
11: latency 18: count 0
11: latency 19: count 0
11: latency 20: count 0
11: latency 21: count 0
11: latency 22: count 0
11: latency 23: count 0
11: latency 24: count 0
11: latency 25: count 0
11: latency 26: count 0
11: latency 27: count 0
11: latency 28: count 0
11: latency 29: count 0
11: latency 30: count 0
11: latency 31: count 0
11: latency 32: count 0
11: latency 33: count 0
11: latency 34: count 0
11: latency 35: count 0
11: latency 36: count 0
11: latency 37: count 0
11: latency 38: count 0
11: latency 39: count 0
11: latency 40: count 0
11: latency 41: count 0
11: latency 42: count 0
11: latency 43: count 0
11: latency 44: count 0
11: latency 45: count 0
11: latency 46: count 0
11: latency 47: count 0
11: latency 48: count 0
11: latency 49: count 0
11: latency 50: count 0
11: latency 51: count 0
11: latency 52: count 0
11: latency 53: count 0
11: latency 54: count 0
11: latency 55: count 0
11: latency 56: count 0
11: latency 57: count 0
11: latency 58: count 0
11: latency 59: count 0
11: latency 60: count 0
11: latency 61: count 0
11: latency 62: count 0
11: latency 63: count 0
11: latency 64: count 0
11: latency 65: count 0
11: latency 66: count 0
11: latency 67: count 0
11: latency 68: count 0
11: latency 69: count 0
11: latency 70: count 0
11: latency 71: count 0
11: latency 72: count 0
11: latency 73: count 0
11: latency 74: count 0
11: latency 75: count 0
11: latency 76: count 0
11: latency 77: count 0
11: latency 78: count 0
11: latency 79: count 0
11: latency 80: count 0
11: latency 81: count 0
11: latency 82: count 0
11: latency 83: count 0
11: latency 84: count 0
11: latency 85: count 0
11: latency 86: count 0
11: latency 87: count 0
11: latency 88: count 0
11: latency 89: count 0
11: latency 90: count 0
11: latency 91: count 0
11: latency 92: count 0
11: latency 93: count 0
11: latency 94: count 0
11: latency 95: count 0
11: latency 96: count 0
11: latency 97: count 0
11: latency 98: count 0
11: latency 99: count 0
11: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:423: DeprecationWarning: not a bytes object: 'test_trace3.c'
11: src_file = _assert_is_bytes(src_file)
11: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:424: DeprecationWarning: not a bytes object: ''
11: hdr_file = _assert_is_bytes(hdr_file)
11: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'latency'
11: name = _assert_is_bytes(name)
11: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:807: DeprecationWarning: not a bytes object: 'blk_start_request'
11: event = _assert_is_bytes(event)
11: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'probe_blk_start_request'
11: fn_name = _assert_is_bytes(fn_name)
11: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:807: DeprecationWarning: not a bytes object: 'blk_update_request'
11: event = _assert_is_bytes(event)
11: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'probe_blk_update_request'
11: fn_name = _assert_is_bytes(fn_name)
11: .
11: ----------------------------------------------------------------------
11: Ran 1 test in 2.298s
11:
11: OK
11/47 Test #11: py_test_trace3_c ................. Passed 2.57 sec
test 12
Start 12: py_test_trace4
12: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_trace4" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_trace4.py"
12: Test timeout computed to be: 10000000
12: ..
12: ----------------------------------------------------------------------
12: Ran 2 tests in 1.661s
12:
12: OK
12/47 Test #12: py_test_trace4 ................... Passed 1.89 sec
test 13
Start 13: py_test_trace_maxactive
13: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_trace_maxactive" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_trace_maxactive.py"
13: Test timeout computed to be: 10000000
13: .
13: ----------------------------------------------------------------------
13: Ran 1 test in 1.105s
13:
13: OK
13/47 Test #13: py_test_trace_maxactive .......... Passed 1.29 sec
test 14
Start 14: py_test_probe_count
14: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_probe_count" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_probe_count.py"
14: Test timeout computed to be: 10000000
14: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n int kprobe__schedule(void *ctx) { return 0; }\n int kretprobe__schedule(void *ctx) { return 0; }\n '
14: text = _assert_is_bytes(text)
14: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n int wololo(void *ctx) {\n return 0;\n }\n '
14: text = _assert_is_bytes(text)
14: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'wololo'
14: fn_name = _assert_is_bytes(fn_name)
14: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:809: DeprecationWarning: not a bytes object: '^vfs_.*'
14: event_re = _assert_is_bytes(event_re)
14: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: 'int count(void *ctx) { return 0; }'
14: text = _assert_is_bytes(text)
14: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:807: DeprecationWarning: not a bytes object: 'schedule'
14: event = _assert_is_bytes(event)
14: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'count'
14: fn_name = _assert_is_bytes(fn_name)
14: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:807: DeprecationWarning: not a bytes object: 'submit_bio'
14: event = _assert_is_bytes(event)
14: .cannot attach kprobe, probe entry may not exist
14: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:807: DeprecationWarning: not a bytes object: '___doesnotexist'
14: event = _assert_is_bytes(event)
14: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:809: DeprecationWarning: not a bytes object: '.*'
14: event_re = _assert_is_bytes(event_re)
14: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: 'c'
14: name = _assert_is_bytes(name)
14: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1340: DeprecationWarning: not a bytes object: '.*'
14: sym_re = _assert_is_bytes(sym_re)
14: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'count'
14: fn_name = _assert_is_bytes(fn_name)
14: .
14: ----------------------------------------------------------------------
14: Ran 6 tests in 4.003s
14:
14: OK
14/47 Test #14: py_test_probe_count .............. Passed 4.15 sec
test 15
Start 15: py_test_debuginfo
15: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_debuginfo" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_debuginfo.py"
15: Test timeout computed to be: 10000000
15: ......
15: ----------------------------------------------------------------------
15: Ran 6 tests in 0.676s
15:
15: OK
15/47 Test #15: py_test_debuginfo ................ Passed 0.91 sec
test 16
Start 16: py_test_brb
16: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_brb_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_brb.py" "test_brb.c"
16: Test timeout computed to be: 10000000
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:423: DeprecationWarning: not a bytes object: 'test_brb.c'
16: src_file = _assert_is_bytes(src_file)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'pem'
16: func_name = _assert_is_bytes(func_name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'br1'
16: func_name = _assert_is_bytes(func_name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'br2'
16: func_name = _assert_is_bytes(func_name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'jump'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'pem_dest'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'pem_port'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'pem_ifindex'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'pem_stats'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'br1_dest'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'br1_mac'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'br1_rtr'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'br2_dest'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'br2_mac'
16: name = _assert_is_bytes(name)
16: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'br2_rtr'
16: name = _assert_is_bytes(name)
16: net.ipv4.ip_forward = 1
16: ARPING 100.1.1.254 from 100.1.1.1 eth0
16: Unicast reply from 100.1.1.254 [B6:77:27:56:F1:9B] 0.689ms
16: Sent 1 probes (1 broadcast(s))
16: Received 1 response(s)
16: ARPING 200.1.1.254 from 200.1.1.1 eth0
16: Unicast reply from 200.1.1.254 [AA:69:F2:E6:CD:49] 0.696ms
16: Sent 1 probes (1 broadcast(s))
16: Received 1 response(s)
16: PING 200.1.1.1 (200.1.1.1) 56(84) bytes of data.
16: 64 bytes from 200.1.1.1: icmp_seq=1 ttl=63 time=0.103 ms
16: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.076 ms
16:
16: --- 200.1.1.1 ping statistics ---
16: 2 packets transmitted, 2 received, 0% packet loss, time 1033ms
16: rtt min/avg/max/mdev = 0.076/0.089/0.103/0.016 ms
16: [ ID] Interval Transfer Bandwidth
16: [ 3] 0.0- 1.0 sec 2.29 GBytes 19.7 Gbits/sec
16: [ ID] Interval Transfer Bandwidth
16: [ 4] 0.0- 1.0 sec 2.29 GBytes 19.5 Gbits/sec
16: Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC
16: MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET
16: Recv Send Send
16: Socket Socket Message Elapsed
16: Size Size Size Time Throughput
16: bytes bytes bytes secs. 10^6bits/sec
16:
16: 87380 16384 65160 1.00 17921.45
16: MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET : first burst 0
16: Local /Remote
16: Socket Size Request Resp. Elapsed Trans.
16: Send Recv Size Size Time Rate
16: bytes Bytes bytes bytes secs. per sec
16:
16: 16384 87380 1 1 1.00 22637.88
16: 16384 87380
16: .
16: ----------------------------------------------------------------------
16: Ran 1 test in 7.266s
16:
16: OK
16/47 Test #16: py_test_brb ...................... Passed 7.53 sec
test 17
Start 17: py_test_brb2
17: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_brb2_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_brb2.py" "test_brb2.c"
17: Test timeout computed to be: 10000000
17: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:423: DeprecationWarning: not a bytes object: 'test_brb2.c'
17: src_file = _assert_is_bytes(src_file)
17: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'pem'
17: func_name = _assert_is_bytes(func_name)
17: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'pem_dest'
17: name = _assert_is_bytes(name)
17: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'pem_stats'
17: name = _assert_is_bytes(name)
17: net.ipv4.ip_forward = 1
17: PING 200.1.1.1 (200.1.1.1) 56(84) bytes of data.
17: 64 bytes from 200.1.1.1: icmp_seq=1 ttl=63 time=0.149 ms
17: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.077 ms
17:
17: --- 200.1.1.1 ping statistics ---
17: 2 packets transmitted, 2 received, 0% packet loss, time 1045ms
17: rtt min/avg/max/mdev = 0.077/0.113/0.149/0.036 ms
17: [ ID] Interval Transfer Bandwidth
17: [ 3] 0.0- 1.0 sec 2.17 GBytes 18.7 Gbits/sec
17: [ ID] Interval Transfer Bandwidth
17: [ 4] 0.0- 1.0 sec 2.17 GBytes 18.5 Gbits/sec
17: Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC
17: MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET
17: Recv Send Send
17: Socket Socket Message Elapsed
17: Size Size Size Time Throughput
17: bytes bytes bytes secs. 10^6bits/sec
17:
17: 87380 16384 65160 1.00 16901.95
17: MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET : first burst 0
17: Local /Remote
17: Socket Size Request Resp. Elapsed Trans.
17: Send Recv Size Size Time Rate
17: bytes Bytes bytes bytes secs. per sec
17:
17: 16384 87380 1 1 1.00 20686.19
17: 16384 87380
17: .
17: ----------------------------------------------------------------------
17: Ran 1 test in 7.624s
17:
17: OK
17/47 Test #17: py_test_brb2 ..................... Passed 7.89 sec
test 18
Start 18: py_test_clang
18: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_clang" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_clang.py"
18: Test timeout computed to be: 10000000
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/blkdev.h>\n#include <uapi/linux/ptrace.h>\nint do_request(struct pt_regs *ctx, int req) {\n bpf_trace_printk("req ptr: 0x%x\\n", req);\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'do_request'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <bcc/proto.h>\nint dns_test(struct __sk_buff *skb) {\n u8 *cursor = 0;\n struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n if(ethernet->type == ETH_P_IP) {\n struct ip_t *ip = cursor_advance(cursor, sizeof(*ip));\n ip->src = ip->dst;\n return 0;\n }\n return -1;\n}\n '
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_HASH(table1);\nBPF_HASH(table2, u32);\nBPF_HASH(table3, u32, int);\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_PROG_ARRAY(jmp, 32);\n\n#define JMP_IDX_PIPE (1U << 1)\n\nenum action {\n ACTION_PASS\n};\n\nint process(struct xdp_md *ctx) {\n jmp.call((void *)ctx, ACTION_PASS);\n jmp.call((void *)ctx, JMP_IDX_PIPE);\n return XDP_PASS;\n}\n '
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'jmp'
18: name = _assert_is_bytes(name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#ifndef MYFLAG\n#error "MYFLAG not set as expected"\n#endif\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '#include <linux/blkdev.h>\nint kprobe__blk_update_request(struct pt_regs *ctx, struct request *req) {\n bpf_trace_printk("%s\\n", req->rq_disk->disk_name);\n return 0;\n}'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:423: DeprecationWarning: not a bytes object: 'test_clang_complex.c'
18: src_file = _assert_is_bytes(src_file)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'handle_packet'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nstruct list;\nstruct list {\n struct list *selfp;\n struct list *another_selfp;\n struct list *selfp_array[2];\n};\nstruct empty {\n};\nunion emptyu {\n struct empty *em1;\n struct empty em2;\n struct empty em3;\n struct empty em4;\n};\nBPF_ARRAY(t1, struct list, 1);\nBPF_ARRAY(t2, struct list *, 1);\nBPF_ARRAY(t3, union emptyu, 1);\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 't3'
18: name = _assert_is_bytes(name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/fs.h>\n#include <linux/mount.h>\nBPF_HASH(table1, struct super_block *);\nint trace_entry(struct pt_regs *ctx, struct file *file) {\n if (!file) return 0;\n struct vfsmount *mnt = file->f_path.mnt;\n if (mnt) {\n struct super_block *k = mnt->mnt_sb;\n u64 zero = 0;\n table1.update(&k, &zero);\n k = mnt->mnt_sb;\n table1.update(&k, &zero);\n }\n\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'trace_entry'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nenum b {\n CHOICE_A,\n};\nstruct a {\n enum b test;\n};\nBPF_HASH(drops, struct a);\n '
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'drops'
18: name = _assert_is_bytes(name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: 'BPF_TABLE_PUBLIC("hash", int, int, table1, 10);'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: 'BPF_TABLE("extern", int, int, table1, 10);'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'table1'
18: name = _assert_is_bytes(name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/sched.h>\nint test(struct pt_regs *ctx) {\n struct task_struct *task = (struct task_struct *)bpf_get_current_task();\n return task->prio;\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'test'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n\nBPF_HASH(currsock, u32, struct sock *);\n\nint trace_entry(struct pt_regs *ctx, struct sock *sk,\n struct sockaddr *uaddr, int addr_len) {\n u32 pid = bpf_get_current_pid_tgid();\n currsock.update(&pid, &sk);\n return 0;\n};\n\nint trace_exit(struct pt_regs *ctx) {\n u32 pid = bpf_get_current_pid_tgid();\n struct sock **skpp;\n skpp = currsock.lookup(&pid);\n if (skpp) {\n struct sock *skp = *skpp;\n return skp->__sk_common.skc_dport;\n }\n return 0;\n}\n '
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'trace_exit'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n\nBPF_HASH(currsock, u32, struct sock *);\n\nint trace_entry(struct pt_regs *ctx, struct sock *sk,\n struct sockaddr *uaddr, int addr_len) {\n u32 pid = bpf_get_current_pid_tgid();\n currsock.update(&pid, &sk);\n return 0;\n};\n\nint trace_exit(struct pt_regs *ctx) {\n u32 pid = bpf_get_current_pid_tgid();\n struct sock **skpp = currsock.lookup(&pid);\n if (skpp) {\n struct sock *skp = *skpp;\n return skp->__sk_common.skc_dport;\n }\n return 0;\n}\n '
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n\nBPF_HASH(currsock, u32, struct sock *);\n\nint trace_entry(struct pt_regs *ctx, struct sock *sk) {\n u32 pid = bpf_get_current_pid_tgid();\n struct sock **skp = &sk;\n currsock.update(&pid, skp);\n return 0;\n};\n\nint trace_exit(struct pt_regs *ctx) {\n u32 pid = bpf_get_current_pid_tgid();\n struct sock **skpp;\n skpp = currsock.lookup(&pid);\n if (skpp) {\n struct sock *skp = *skpp;\n return skp->__sk_common.skc_dport;\n }\n return 0;\n}\n '
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <net/sock.h>\n#include <bcc/proto.h>\n\nBPF_HASH(currsock, u32, struct sock *);\n\nint trace_exit(struct pt_regs *ctx) {\n u32 pid = bpf_get_current_pid_tgid();\n struct sock **skpp;\n skpp = currsock.lookup(&pid);\n if (skpp) {\n struct sock *skp = *skpp;\n return skp->__sk_common.skc_dport;\n }\n return 0;\n}\n\nint trace_entry(struct pt_regs *ctx, struct sock *sk) {\n u32 pid = bpf_get_current_pid_tgid();\n currsock.update(&pid, &sk);\n return 0;\n};\n '
18: text = _assert_is_bytes(text)
18: ./virtual/main.c:2:1: error: field has incomplete type 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: /virtual/include/bcc/helpers.h:257:48: note: expanded from macro 'BPF_HASH'
18: BPF_HASHX(__VA_ARGS__, BPF_HASH4, BPF_HASH3, BPF_HASH2, BPF_HASH1)(__VA_ARGS__)
18: ^
18: /virtual/main.c:2:24: note: forward declaration of 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: /virtual/main.c:2:1: error: field has incomplete type 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: /virtual/include/bcc/helpers.h:257:48: note: expanded from macro 'BPF_HASH'
18: BPF_HASHX(__VA_ARGS__, BPF_HASH4, BPF_HASH3, BPF_HASH2, BPF_HASH1)(__VA_ARGS__)
18: ^
18: /virtual/main.c:2:24: note: forward declaration of 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: 2 errors generated.
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_HASH(drops, struct key_t);\nstruct key_t {\n u64 location;\n};\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_HASH(table1, unsigned __int128, __int128);\n'
18: text = _assert_is_bytes(text)
18: ./virtual/main.c:6:12: error: cannot call non-static helper function
18: return bar();
18: ^
18: 1 error generated.
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nint bar(void) {\n return 0;\n}\nint foo(struct pt_regs *ctx) {\n return bar();\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/blkdev.h>\n#include <uapi/linux/ptrace.h>\n\nstruct key_t {\n struct request *req;\n};\n\nBPF_HASH(start, struct key_t, u64, 1024);\nint do_request(struct pt_regs *ctx, struct request *req) {\n struct key_t key = {};\n\n bpf_trace_printk("traced start %d\\n", req->__data_len);\n\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/blk_types.h>\n#include <linux/blkdev.h>\n#include <linux/time64.h>\n\nBPF_PERCPU_ARRAY(rwdf_100ms, u64, 400);\n\nint do_request(struct pt_regs *ctx, struct request *rq) {\n u32 cmd_flags;\n u64 base, dur, slot, now = 100000;\n\n if (!rq->start_time_ns)\n return 0;\n\n if (!rq->rq_disk || rq->rq_disk->major != 5 ||\n rq->rq_disk->first_minor != 6)\n return 0;\n\n cmd_flags = rq->cmd_flags;\n switch (cmd_flags & REQ_OP_MASK) {\n case REQ_OP_READ:\n base = 0;\n break;\n case REQ_OP_WRITE:\n base = 100;\n break;\n case REQ_OP_DISCARD:\n base = 200;\n break;\n case REQ_OP_FLUSH:\n base = 300;\n break;\n default:\n return 0;\n }\n\n dur = now - rq->start_time_ns;\n slot = min_t(size_t, div_u64(dur, 100 * NSEC_PER_MSEC), 99);\n rwdf_100ms.increment(base + slot);\n\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: .s/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_HASH(dummy);\nvoid do_trace(struct pt_regs *ctx) {\n u64 key = 0, val = 2;\n dummy.insert(&key, &val);\n key = 1;\n dummy.update(&key, &val);\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'dummy'
18: name = _assert_is_bytes(name)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'sync'
18: name = _assert_is_bytes(name)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'do_trace'
18: fn_name = _assert_is_bytes(fn_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/fs.h>\nint trace_entry(struct pt_regs *ctx, struct file *file) {\n if (!file) return 0;\n const char *name = file->f_path.dentry->d_name.name;\n bpf_trace_printk("%s\\n", name);\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct sock {\n u32 *sk_daddr;\n};\nint test(struct pt_regs *ctx, struct sock *skp) {\n return *(skp->sk_daddr);\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_HASH(t1, struct bpf_tunnel_key, int, 1);\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 't1'
18: name = _assert_is_bytes(name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/sched.h>\n#include <net/inet_sock.h>\nstatic inline int test_help(__be16 *addr) {\n __be16 val = 0;\n bpf_probe_read_kernel(&val, sizeof(val), addr);\n return val;\n}\nint test(struct pt_regs *ctx) {\n struct sock *sk;\n sk = (struct sock *)PT_REGS_PARM1(ctx);\n return test_help(&sk->sk_dport);\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'testing'
18: name = _assert_is_bytes(name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nstruct key_t {\n u32 f1_1; /* offset 0 */\n struct {\n char f2_1; /* offset 16 */\n __int128 f2_2; /* offset 32 */\n };\n u8 f1_3; /* offset 48 */\n unsigned __int128 f1_4; /* offset 64 */\n char f1_5; /* offset 80 */\n};\nstruct value_t {\n u8 src[4] __attribute__ ((aligned (8))); /* offset 0 */\n u8 dst[4] __attribute__ ((aligned (8))); /* offset 8 */\n};\nBPF_HASH(table1, struct key_t, struct value_t);\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/inet_sock.h>\nint trace_entry(struct pt_regs *ctx, struct sock *sk) {\n u16 sport = ((struct inet_sock *)sk)->inet_sport;\n return sport;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <bcc/proto.h>\nint handle_packet(void *ctx) {\n u8 *cursor = 0;\n struct ethernet_t *ethernet = cursor_advance(cursor, sizeof(*ethernet));\n bpf_trace_printk("ethernet->dst = %llx, ethernet->src = %llx\\n",\n ethernet->dst, ethernet->src);\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: ..../home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/netdevice.h>\nstruct leaf { struct sk_buff *ptr; };\nint test(struct pt_regs *ctx, struct sk_buff *skb) {\n struct leaf l = {};\n struct leaf *lp = &l;\n lp->ptr = skb;\n return l.ptr->priority;\n}'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/netdevice.h>\nstruct leaf { struct sk_buff *ptr; };\nint test(struct pt_regs *ctx, struct sk_buff *skb) {\n struct leaf l = {};\n struct leaf *lp = &l;\n lp->ptr = skb;\n return lp->ptr->priority;\n}'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/sched.h>\n#include <uapi/linux/ptrace.h>\nint count_sched(struct pt_regs *ctx, struct task_struct *prev) {\n pid_t p = prev->pid;\n return (p != -1);\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'count_sched'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/sched.h>\n#include <uapi/linux/ptrace.h>\nint count_foo(struct pt_regs *ctx, unsigned long a, unsigned long b) {\n return (a != b);\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'count_foo'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/tcp.h>\n#define _(P) ({typeof(P) val = 0; bpf_probe_read_kernel(&val, sizeof(val), &P); val;})\nint count_tcp(struct pt_regs *ctx, struct sk_buff *skb) {\n return _(TCP_SKB_CB(skb)->tcp_gso_size);\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'count_tcp'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/tcp.h>\n#define _(P) ({typeof(P) val = 0; bpf_probe_read_kernel(&val, sizeof(val), &P); val;})\nint test(struct pt_regs *ctx, struct sk_buff *skb) {\n return _(TCP_SKB_CB(skb)->tcp_gso_size) + skb->protocol;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/ptrace.h>\n#include <linux/dcache.h>\nint test(struct pt_regs *ctx, const struct qstr *name) {\n return name->name[1];\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/ptrace.h>\n#include <linux/dcache.h>\nint test(struct pt_regs *ctx, const struct qstr *name) {\n return name->name [ 1];\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/ptrace.h>\n#include <linux/dcache.h>\nint test(struct pt_regs *ctx, const struct qstr *name) {\n return (name->name)[1];\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/ptrace.h>\nint test(struct pt_regs *ctx, char *name) {\n return name[1];\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/ptrace.h>\nint test(struct pt_regs *ctx, char **name) {\n return (*name)[1];\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/ptrace.h>\nstruct test_t {\n int tab[5];\n};\nint test(struct pt_regs *ctx, struct test_t *t) {\n return *(&t->tab[1]);\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/inet_sock.h>\nint test(struct pt_regs *ctx, struct sock *sk) {\n return sk->__sk_common.skc_v6_rcv_saddr.in6_u.u6_addr32[0];\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/mm_types.h>\nint test(struct pt_regs *ctx, struct mm_struct *mm) {\n return mm->rss_stat.count[MM_ANONPAGES].counter;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/sched.h>\n#include <net/inet_sock.h>\nint test(struct pt_regs *ctx) {\n struct sock *newsk = (struct sock *)PT_REGS_RC(ctx);\n return newsk->__sk_common.skc_rcv_saddr;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/fs.h>\nstatic void print_file_name(struct file *file) {\n if (!file) return;\n const char *name = file->f_path.dentry->d_name.name;\n bpf_trace_printk("%s\\n", name);\n}\nstatic void print_file_name2(int unused, struct file *file) {\n print_file_name(file);\n}\nint trace_entry1(struct pt_regs *ctx, struct file *file) {\n print_file_name(file);\n return 0;\n}\nint trace_entry2(struct pt_regs *ctx, int unused, struct file *file) {\n print_file_name2(unused, file);\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'trace_entry1'
18: func_name = _assert_is_bytes(func_name)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'trace_entry2'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/blkdev.h>\nBPF_HASH(start, struct request *);\nint do_request(struct pt_regs *ctx, struct request *req) {\n u64 ts = bpf_ktime_get_ns();\n start.update(&req, &ts);\n return 0;\n}\n\nint do_completion(struct pt_regs *ctx, struct request *req) {\n u64 *tsp = start.lookup(&req);\n if (tsp != 0) {\n start.delete(&req);\n }\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/sched.h>\n#include <net/inet_sock.h>\nint test(struct pt_regs *ctx) {\n struct sock *sk;\n sk = (struct sock *)PT_REGS_PARM1(ctx);\n return sk->sk_dport;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/tcp.h>\nstatic inline u64 error_function() {\n return 0;\n}\nstatic inline unsigned char *my_skb_transport_header(struct sk_buff *skb) {\n if (skb)\n return skb->head + skb->transport_header;\n return (unsigned char *)error_function();\n}\nint test(struct pt_regs *ctx, struct sock *sk, struct sk_buff *skb) {\n struct tcphdr *th = (struct tcphdr *)my_skb_transport_header(skb);\n return th->seq;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/inet_sock.h>\nint test(struct pt_regs *ctx, struct sock *sk) {\n struct sock *ptr1;\n struct sock **ptr2 = &ptr1;\n *ptr2 = sk;\n return ((struct sock *)(*ptr2))->sk_daddr;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/inet_sock.h>\nint test(struct pt_regs *ctx, struct sock *sk) {\n struct sock *ptr1;\n struct sock **ptr2 = &ptr1;\n struct sock ***ptr3 = &ptr2;\n *ptr2 = sk;\n *ptr3 = ptr2;\n return ((struct sock *)(**ptr3))->sk_daddr;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/inet_sock.h>\nint test(struct pt_regs *ctx, struct sock *sk) {\n struct sock **ptr1, **ptr2 = &sk;\n ptr1 = &sk;\n return (*ptr1)->sk_daddr + (*ptr2)->sk_daddr;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/inet_sock.h>\nstatic struct sock **subtest(struct sock **sk) {\n return sk;\n}\nint test(struct pt_regs *ctx, struct sock *sk) {\n struct sock **ptr1, **ptr2 = subtest(&sk);\n ptr1 = subtest(&sk);\n return (*ptr1)->sk_daddr + (*ptr2)->sk_daddr;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/inet_sock.h>\nstatic int subtest(struct sock ***skp) {\n return ((struct sock *)(**skp))->sk_daddr;\n}\nint test(struct pt_regs *ctx, struct sock *sk) {\n struct sock *ptr1;\n struct sock **ptr2 = &ptr1;\n struct sock ***ptr3 = &ptr2;\n *ptr2 = sk;\n *ptr3 = ptr2;\n return subtest(ptr3);\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/inet_sock.h>\nint test(struct pt_regs *ctx, struct sock *skp) {\n u32 *daddr = &skp->sk_daddr;\n return *daddr;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct sock {\n u32 **sk_daddr;\n};\nint test(struct pt_regs *ctx, struct sock *skp) {\n u32 *daddr = *(skp->sk_daddr);\n return *daddr;\n}\n'
18: text = _assert_is_bytes(text)
18: ./virtual/main.c:7:12: warning: incompatible pointer to integer conversion returning 'u32 *' (aka 'unsigned int *') from a function with result type 'int' [-Wint-conversion]
18: return *(&skp->sk_daddr);
18: ^~~~~~~~~~~~~~~~~
18: 1 warning generated.
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct sock {\n u32 *sk_daddr;\n};\nint test(struct pt_regs *ctx, struct sock *skp) {\n return *(&skp->sk_daddr);\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/tcp.h>\nstatic inline unsigned char *my_skb_transport_header(struct sk_buff *skb) {\n return skb->head + skb->transport_header;\n}\nint test(struct pt_regs *ctx, struct sock *sk, struct sk_buff *skb) {\n struct tcphdr *th = (struct tcphdr *)my_skb_transport_header(skb);\n return th->seq;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/tcp.h>\nstatic inline struct tcphdr *my_skb_transport_header(struct sk_buff *skb) {\n return (struct tcphdr *)skb->head + skb->transport_header;\n}\nint test(struct pt_regs *ctx, struct sock *sk, struct sk_buff *skb) {\n return my_skb_transport_header(skb)->seq;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/tcp.h>\nstatic inline unsigned char *my_skb_transport_header(struct sk_buff *skb) {\n return skb->head + skb->transport_header;\n}\nint test(struct pt_regs *ctx, struct sock *sk, struct sk_buff *skb) {\n u32 *seq = (u32 *)my_skb_transport_header(skb) + offsetof(struct tcphdr, seq);\n return *seq;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/pkt_cls.h>\n#include <linux/if_ether.h>\nint test(struct __sk_buff *ctx) {\n void* data_end = (void*)(long)ctx->data_end;\n void* data = (void*)(long)ctx->data;\n if (data + sizeof(struct ethhdr) > data_end)\n return TC_ACT_SHOT;\n struct ethhdr *eh = (struct ethhdr *)data;\n if (eh->h_proto == 0x1)\n return TC_ACT_SHOT;\n return TC_ACT_OK;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/netdevice.h>\nTRACEPOINT_PROBE(skb, kfree_skb) {\n struct sk_buff *skb = (struct sk_buff *)args->skbaddr;\n return skb->protocol;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/tcp.h>\nint count_tcp(struct pt_regs *ctx, struct sk_buff *skb) {\n // The below define is in net/tcp.h:\n // #define TCP_SKB_CB(__skb)\t((struct tcp_skb_cb *)&((__skb)->cb[0]))\n // Note that it has AddrOf in the macro, which will cause current rewriter\n // failing below statement\n // return TCP_SKB_CB(skb)->tcp_gso_size;\n u16 val = 0;\n bpf_probe_read_kernel(&val, sizeof(val), &(TCP_SKB_CB(skb)->tcp_gso_size));\n return val;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <net/tcp.h>\nint count_tcp(struct pt_regs *ctx, struct sk_buff *skb) {\n // The below define is in net/tcp.h:\n // #define TCP_SKB_CB(__skb) ((struct tcp_skb_cb *)&((__skb)->cb[0]))\n // Note that it has AddrOf in the macro, which will cause current rewriter\n // failing below statement\n // return TCP_SKB_CB(skb)->tcp_gso_size;\n u16 val = 0;\n bpf_probe_read_kernel(&val, sizeof(val), &(TCP_SKB_CB(skb)->tcp_gso_size));\n return val + skb->protocol;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/gfp.h>\nstruct leaf { size_t size; };\nBPF_HASH(simple_map, u32, struct leaf);\nint kprobe____kmalloc(struct pt_regs *ctx, size_t size) {\n u32 pid = bpf_get_current_pid_tgid();\n struct leaf* leaf = simple_map.lookup(&pid);\n if (leaf)\n leaf->size += size;\n return 0;\n}'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/netdevice.h>\nstruct leaf { void *ptr; };\nint test(struct pt_regs *ctx, struct sk_buff *skb) {\n struct leaf l = {};\n struct leaf *lp = &l;\n lp->ptr = skb;\n return 0;\n}'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct args_t {\n const char *filename;\n int flags;\n int mode;\n};\nint do_sys_open(struct pt_regs *ctx, const char *filename,\n int flags, int mode) {\n struct args_t args = {};\n args.filename = filename;\n args.flags = flags;\n args.mode = mode;\n bpf_trace_printk("%s\\n", args.filename);\n return 0;\n};\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'open'
18: name = _assert_is_bytes(name)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'do_sys_open'
18: fn_name = _assert_is_bytes(fn_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/mm_types.h>\nint trace(struct pt_regs *ctx, struct page *page) {\n void *p = page->mapping;\n return p != NULL;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_PROG_ARRAY(dummy, 256);\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nint do_next(struct pt_regs *ctx) {\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'do_next'
18: func_name = _assert_is_bytes(func_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_HASH(stats, int, struct { u64 a; u64 b; u64 c:36; u64 d:28; struct { u32 a; u32 b; } s; }, 10);\nint foo(void *ctx) {\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:504: DeprecationWarning: not a bytes object: 'foo'
18: func_name = _assert_is_bytes(func_name)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stats'
18: name = _assert_is_bytes(name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_HASH(stats, int, struct { u32 a[3]; u32 b; }, 10);\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nstruct Symbol {\n char name[128];\n char path[128];\n};\nstruct Event {\n uint32_t pid;\n uint32_t tid;\n struct Symbol stack[64];\n};\nBPF_TABLE("array", int, struct Event, comms, 1);\n'
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'comms'
18: name = _assert_is_bytes(name)
18: ./virtual/main.c:1:30: error: expected expression
18: int failure(void *ctx) { if (); return 0; }
18: ^
18: 1 error generated.
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: 'int failure(void *ctx) { if (); return 0; }'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/sched.h>\nstruct key_t {\n u32 prev_pid;\n u32 curr_pid;\n};\nBPF_HASH(stats, struct key_t, u64, 1024);\nint kprobe__finish_task_switch(struct pt_regs *ctx, struct task_struct *prev) {\n struct key_t key = {};\n u64 zero = 0, *val;\n key.curr_pid = bpf_get_current_pid_tgid();\n key.prev_pid = prev->pid;\n\n val = stats.lookup_or_try_init(&key, &zero);\n if (val) {\n (*val)++;\n }\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: ./virtual/main.c:3:73: error: too many arguments, bcc only supports in-register parameters
18: int many(struct pt_regs *ctx, int a, int b, int c, int d, int e, int f, int g) {
18: ^
18: 1 error generated.
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nint many(struct pt_regs *ctx, int a, int b, int c, int d, int e, int f, int g) {\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/fs.h>\n#include <uapi/linux/ptrace.h>\nint trace_read_entry(struct pt_regs *ctx, struct file *file) {\n return !file->f_op->read_iter;\n}\n '
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:807: DeprecationWarning: not a bytes object: '__vfs_read'
18: event = _assert_is_bytes(event)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'trace_read_entry'
18: fn_name = _assert_is_bytes(fn_name)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/blkdev.h>\nint trace_entry(struct pt_regs *ctx, struct request *req) {\n if (!(req->bio->bi_flags & 1))\n return 1;\n if (((req->bio->bi_flags)))\n return 1;\n return 0;\n}\n'
18: text = _assert_is_bytes(text)
18: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_ARRAY(act, u32, 32);\n\n#define JMP_IDX_PIPE (1U << 1)\n\nenum action {\n ACTION_PASS\n};\n\nint process(struct xdp_md *ctx) {\n act.increment(ACTION_PASS);\n act.increment(JMP_IDX_PIPE);\n return XDP_PASS;\n}\n '
18: text = _assert_is_bytes(text)
18: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'act'
18: name = _assert_is_bytes(name)
18: .
18: ----------------------------------------------------------------------
18: Ran 83 tests in 120.697s
18:
18: OK (skipped=1)
18: 0
18/47 Test #18: py_test_clang .................... Passed 121.08 sec
test 19
Start 19: py_test_histogram
19: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_histogram" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_histogram.py"
19: Test timeout computed to be: 10000000
19:
19: Bucket ptr = b'python'
19: value : count distribution
19: 0 -> 1 : 200 |****************************************|
19:
19: Bucket ptr = b'swapper/1'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 4 |* |
19: 67108864 -> 134217727 : 0 | |
19: 134217728 -> 268435455 : 0 | |
19: 268435456 -> 536870911 : 0 | |
19: 536870912 -> 1073741823 : 0 | |
19: 1073741824 -> 2147483647 : 0 | |
19: 2147483648 -> 4294967295 : 0 | |
19: 4294967296 -> 8589934591 : 0 | |
19: 8589934592 -> 17179869183 : 0 | |
19: 17179869184 -> 34359738367 : 0 | |
19: 34359738368 -> 68719476735 : 52 |********************|
19:
19: Bucket ptr = b'kworker/u4:1'
19: value : count distribution
19: 0 -> 1 : 2 |****************************************|
19:
19: Bucket ptr = b'kworker/0:14'
19: value : count distribution
19: 0 -> 1 : 2 |****************************************|
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 0 | |
19: 67108864 -> 134217727 : 0 | |
19: 134217728 -> 268435455 : 0 | |
19: 268435456 -> 536870911 : 0 | |
19: 536870912 -> 1073741823 : 2 |****************************************|
19:
19: Bucket ptr = b'java'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 52 |****************************************|
19:
19: Bucket ptr = b'swapper/0'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <linux/sched.h>\n#include <linux/version.h>\ntypedef struct { char name[TASK_COMM_LEN]; u64 slot; } Key;\nBPF_HISTOGRAM(hist1, Key, 1024);\nint kprobe__finish_task_switch(struct pt_regs *ctx, struct task_struct *prev) {\n#if LINUX_VERSION_CODE < KERNEL_VERSION(5,5,0)\n Key k = {.slot = bpf_log2l(prev->real_start_time)};\n#else\n Key k = {.slot = bpf_log2l(prev->start_boottime)};\n#endif\n if (!bpf_get_current_comm(&k.name, sizeof(k.name))) {\n hist1.increment(k);\n hist1.atomic_increment(k);\n }\n return 0;\n}\n'
19: text = _assert_is_bytes(text)
19: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'hist1'
19: name = _assert_is_bytes(name)
19: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n#include <uapi/linux/fs.h>\nstruct hist_s_key {\n u64 key_1;\n u64 key_2;\n};\nstruct hist_key {\n struct hist_s_key s_key;\n u64 slot;\n};\nBPF_HISTOGRAM(mk_hist, struct hist_key, 1024);\nint kprobe__vfs_read(struct pt_regs *ctx, struct file *file,\n char __user *buf, size_t count) {\n struct hist_key key = {.slot = bpf_log2l(count)};\n key.s_key.key_1 = (unsigned long)buf & 0x70;\n key.s_key.key_2 = (unsigned long)buf & 0x7;\n mk_hist.increment(key);\n return 0;\n}\n'
19: text = _assert_is_bytes(text)
19: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'mk_hist'
19: name = _assert_is_bytes(name)
19: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct bpf_map;\nBPF_HISTOGRAM(hist1);\nBPF_HASH(stub);\nint kprobe__htab_map_delete_elem(struct pt_regs *ctx, struct bpf_map *map, u64 *k) {\n hist1.increment(bpf_log2l(*k));\n hist1.atomic_increment(bpf_log2l(*k));\n return 0;\n}\n'
19: text = _assert_is_bytes(text)
19: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stub'
19: name = _assert_is_bytes(name)
19: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct bpf_map;\ntypedef struct { void *map; u64 slot; } Key;\nBPF_HISTOGRAM(hist1, Key, 1024);\nBPF_HASH(stub1);\nBPF_HASH(stub2);\nint kprobe__htab_map_delete_elem(struct pt_regs *ctx, struct bpf_map *map, u64 *k) {\n hist1.increment((Key){map, bpf_log2l(*k)});\n hist1.atomic_increment((Key){map, bpf_log2l(*k)});\n return 0;\n}\n'
19: text = _assert_is_bytes(text)
19: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stub1'
19: name = _assert_is_bytes(name)
19: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stub2'
19: name = _assert_is_bytes(name)
19: .
19: ----------------------------------------------------------------------
19: Ran 4 tests in 4.126s
19:
19: OK
19:
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 0 | |
19: 67108864 -> 134217727 : 0 | |
19: 134217728 -> 268435455 : 0 | |
19: 268435456 -> 536870911 : 0 | |
19: 536870912 -> 1073741823 : 0 | |
19: 1073741824 -> 2147483647 : 0 | |
19: 2147483648 -> 4294967295 : 0 | |
19: 4294967296 -> 8589934591 : 0 | |
19: 8589934592 -> 17179869183 : 0 | |
19: 17179869184 -> 34359738367 : 0 | |
19: 34359738368 -> 68719476735 : 0 | |
19: 68719476736 -> 137438953471 : 0 | |
19: 137438953472 -> 274877906943 : 0 | |
19: 274877906944 -> 549755813887 : 0 | |
19: 549755813888 -> 1099511627775 : 204 |********************|
19:
19: Bucket ptr = b'rcu_sched'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 4 |****************************************|
19/47 Test #19: py_test_histogram ................ Passed 4.28 sec
test 20
Start 20: py_array
20: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_array" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_array.py"
20: Test timeout computed to be: 10000000
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: 'BPF_ARRAY(table1, u64, 128);'
20: text = _assert_is_bytes(text)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'table1'
20: name = _assert_is_bytes(name)
20: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_PERF_OUTPUT(events);\nint do_sys_nanosleep(void *ctx) {\n struct {\n u64 ts;\n } data = {bpf_ktime_get_ns()};\n events.perf_submit(ctx, &data, sizeof(data));\n return 0;\n}\n'
20: text = _assert_is_bytes(text)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'nanosleep'
20: name = _assert_is_bytes(name)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'do_sys_nanosleep'
20: fn_name = _assert_is_bytes(fn_name)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'clock_nanosleep'
20: name = _assert_is_bytes(name)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'events'
20: name = _assert_is_bytes(name)
20: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_PERF_OUTPUT(events);\nint do_sys_nanosleep(void *ctx) {\n struct {\n u64 cpu;\n } data = {bpf_get_smp_processor_id()};\n events.perf_submit(ctx, &data, sizeof(data));\n return 0;\n}\n'
20: text = _assert_is_bytes(text)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'nanosleep'
20: name = _assert_is_bytes(name)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'do_sys_nanosleep'
20: fn_name = _assert_is_bytes(fn_name)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'clock_nanosleep'
20: name = _assert_is_bytes(name)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'events'
20: name = _assert_is_bytes(name)
20: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: 'BPF_ARRAY(table1, u64, 128);'
20: text = _assert_is_bytes(text)
20: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'table1'
20: name = _assert_is_bytes(name)
20: .
20: ----------------------------------------------------------------------
20: Ran 4 tests in 1.617s
20:
20: OK
20/47 Test #20: py_array ......................... Passed 1.77 sec
test 21
Start 21: py_uprobes
21: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_uprobes" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_uprobes.py"
21: Test timeout computed to be: 10000000
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nBPF_TABLE("array", int, u64, stats, 1);\nstatic void incr(int idx) {\n u64 *ptr = stats.lookup(&idx);\n if (ptr)\n ++(*ptr);\n}\nint count(struct pt_regs *ctx) {\n bpf_trace_printk("count() uprobe fired");\n u32 pid = bpf_get_current_pid_tgid();\n if (pid == 12553)\n incr(0);\n return 0;\n}'
21: text = _assert_is_bytes(text)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: '/tmp/libz.so.1'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1339: DeprecationWarning: not a bytes object: 'zlibVersion'
21: sym = _assert_is_bytes(sym)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'count'
21: fn_name = _assert_is_bytes(fn_name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1372: DeprecationWarning: not a bytes object: '/tmp/libz.so.1'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1373: DeprecationWarning: not a bytes object: 'zlibVersion'
21: sym = _assert_is_bytes(sym)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1375: DeprecationWarning: not a bytes object: 'count'
21: fn_name = _assert_is_bytes(fn_name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stats'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1425: DeprecationWarning: not a bytes object: '/tmp/libz.so.1'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1426: DeprecationWarning: not a bytes object: 'zlibVersion'
21: sym = _assert_is_bytes(sym)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1412: DeprecationWarning: not a bytes object: '/tmp/libz.so.1'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1413: DeprecationWarning: not a bytes object: 'zlibVersion'
21: sym = _assert_is_bytes(sym)
21: .Python 2.7.15
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nBPF_ARRAY(stats, u64, 1);\nstatic void incr(int idx) {\n u64 *ptr = stats.lookup(&idx);\n if (ptr)\n ++(*ptr);\n}\nint count(struct pt_regs *ctx) {\n u32 pid = bpf_get_current_pid_tgid();\n incr(0);\n return 0;\n}'
21: text = _assert_is_bytes(text)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: '/usr/bin/python'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1339: DeprecationWarning: not a bytes object: 'main'
21: sym = _assert_is_bytes(sym)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1372: DeprecationWarning: not a bytes object: '/usr/bin/python'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1373: DeprecationWarning: not a bytes object: 'main'
21: sym = _assert_is_bytes(sym)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1425: DeprecationWarning: not a bytes object: '/usr/bin/python'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1426: DeprecationWarning: not a bytes object: 'main'
21: sym = _assert_is_bytes(sym)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1412: DeprecationWarning: not a bytes object: '/usr/bin/python'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1413: DeprecationWarning: not a bytes object: 'main'
21: sym = _assert_is_bytes(sym)
21: .Arena 0:
21: system bytes = 29245440
21: in use bytes = 3143680
21: Total (incl. mmap):
21: system bytes = 29544448
21: in use bytes = 3442688
21: max mmap regions = 7
21: max mmap bytes = 8712192
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nBPF_ARRAY(stats, u64, 1);\nstatic void incr(int idx) {\n u64 *ptr = stats.lookup(&idx);\n if (ptr)\n ++(*ptr);\n}\nint count(struct pt_regs *ctx) {\n bpf_trace_printk("count() uprobe fired");\n u32 pid = bpf_get_current_pid_tgid();\n if (pid == 12551)\n incr(0);\n return 0;\n}'
21: text = _assert_is_bytes(text)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: 'c'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1339: DeprecationWarning: not a bytes object: 'malloc_stats'
21: sym = _assert_is_bytes(sym)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1372: DeprecationWarning: not a bytes object: 'c'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1373: DeprecationWarning: not a bytes object: 'malloc_stats'
21: sym = _assert_is_bytes(sym)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1425: DeprecationWarning: not a bytes object: 'c'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1426: DeprecationWarning: not a bytes object: 'malloc_stats'
21: sym = _assert_is_bytes(sym)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1412: DeprecationWarning: not a bytes object: 'c'
21: name = _assert_is_bytes(name)
21: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1413: DeprecationWarning: not a bytes object: 'malloc_stats'
21: sym = _assert_is_bytes(sym)
21: .
21: ----------------------------------------------------------------------
21: Ran 3 tests in 8.676s
21:
21: OK
21/47 Test #21: py_uprobes ....................... Passed 8.83 sec
test 22
Start 22: py_uprobes_2
22: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_uprobes2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_uprobes2.py"
22: Test timeout computed to be: 10000000
22: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nint trace_fun_call(void *ctx) {{\n return 1;\n}}\n'
22: text = _assert_is_bytes(text)
22: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: '/tmp/tmp6vwzq3p7'
22: name = _assert_is_bytes(name)
22: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1339: DeprecationWarning: not a bytes object: 'fun'
22: sym = _assert_is_bytes(sym)
22: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'trace_fun_call'
22: fn_name = _assert_is_bytes(fn_name)
22: .
22: ----------------------------------------------------------------------
22: Ran 1 test in 0.306s
22:
22: OK
22/47 Test #22: py_uprobes_2 ..................... Passed 0.47 sec
test 23
Start 23: py_test_stackid
23: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_stackid" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_stackid.py"
23: Test timeout computed to be: 10000000
23: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct bpf_map;\nBPF_STACK_TRACE_BUILDID(stack_traces, 10240);\nBPF_HASH(stack_entries, int, int);\nBPF_HASH(stub);\nint kprobe__sys_getuid(struct pt_regs *ctx, struct bpf_map *map, u64 *k) {\n int id = stack_traces.get_stackid(ctx, BPF_F_USER_STACK);\n if (id < 0)\n return 0;\n int key = 1;\n stack_entries.update(&key, &id);\n return 0;\n}\n'
23: text = _assert_is_bytes(text)
23: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stub'
23: name = _assert_is_bytes(name)
23: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stack_traces'
23: name = _assert_is_bytes(name)
23: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stack_entries'
23: name = _assert_is_bytes(name)
23: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct bpf_map;\nBPF_STACK_TRACE(stack_traces, 10240);\nBPF_HASH(stack_entries, int, int);\nBPF_HASH(stub);\nint kprobe__htab_map_lookup_elem(struct pt_regs *ctx, struct bpf_map *map, u64 *k) {\n int id = stack_traces.get_stackid(ctx, BPF_F_REUSE_STACKID);\n if (id < 0)\n return 0;\n int key = 1;\n stack_entries.update(&key, &id);\n return 0;\n}\n'
23: text = _assert_is_bytes(text)
23: .
23: ----------------------------------------------------------------------
23: Ran 2 tests in 0.823s
23:
23: OK
23/47 Test #23: py_test_stackid .................. Passed 1.10 sec
test 24
Start 24: py_test_tracepoint
24: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_tracepoint" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_tracepoint.py"
24: Test timeout computed to be: 10000000
24: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n BPF_HASH(switches, u32, u64);\n TRACEPOINT_PROBE(sched, sched_switch) {\n u64 val = 0;\n u32 pid = args->next_pid;\n u64 *existing = switches.lookup_or_init(&pid, &val);\n (*existing)++;\n return 0;\n }\n '
24: text = _assert_is_bytes(text)
24: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'switches'
24: name = _assert_is_bytes(name)
24: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n struct value_t {\n char filename[64];\n };\n BPF_HASH(execs, u32, struct value_t);\n TRACEPOINT_PROBE(sched, sched_process_exec) {\n struct value_t val = {0};\n char fn[64];\n u32 pid = args->pid;\n struct value_t *existing = execs.lookup_or_init(&pid, &val);\n TP_DATA_LOC_READ_CONST(fn, filename, 64);\n __builtin_memcpy(existing->filename, fn, 64);\n return 0;\n }\n '
24: text = _assert_is_bytes(text)
24: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'execs'
24: name = _assert_is_bytes(name)
24: .
24: ----------------------------------------------------------------------
24: Ran 2 tests in 2.541s
24:
24: OK
24/47 Test #24: py_test_tracepoint ............... Passed 2.79 sec
test 25
Start 25: py_test_perf_event
25: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_perf_event" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_perf_event.py"
25: Test timeout computed to be: 10000000
25: perf_event_open: No such file or directory
25: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_PERF_ARRAY(cnt1, NUM_CPUS);\nBPF_ARRAY(prev, u64, NUM_CPUS);\nBPF_HISTOGRAM(dist);\nint do_sys_getuid(void *ctx) {\n u32 cpu = bpf_get_smp_processor_id();\n u64 val = cnt1.perf_read(CUR_CPU_IDENTIFIER);\n\n if (((s64)val < 0) && ((s64)val > -256))\n return 0;\n\n prev.update(&cpu, &val);\n return 0;\n}\nint do_ret_sys_getuid(void *ctx) {\n u32 cpu = bpf_get_smp_processor_id();\n u64 val = cnt1.perf_read(CUR_CPU_IDENTIFIER);\n\n if (((s64)val < 0) && ((s64)val > -256))\n return 0;\n\n u64 *prevp = prev.lookup(&cpu);\n if (prevp) {\n dist.increment(bpf_log2l(val - *prevp));\n dist.atomic_increment(bpf_log2l(val - *prevp));\n }\n return 0;\n}\n'
25: text = _assert_is_bytes(text)
25: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'getuid'
25: name = _assert_is_bytes(name)
25: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'do_sys_getuid'
25: fn_name = _assert_is_bytes(fn_name)
25: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:840: DeprecationWarning: not a bytes object: 'do_ret_sys_getuid'
25: fn_name = _assert_is_bytes(fn_name)
25: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'cnt1'
25: name = _assert_is_bytes(name)
25: s
25: ----------------------------------------------------------------------
25: Ran 1 test in 0.388s
25:
25: OK (skipped=1)
25/47 Test #25: py_test_perf_event ............... Passed 0.57 sec
test 26
Start 26: py_test_attach_perf_event
26: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_attach_perf_event" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_attach_perf_event.py"
26: Test timeout computed to be: 10000000
26: perf_event_open failed: No such file or directory
26: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/perf_event.h>\nstruct key_t {\n int cpu;\n int pid;\n char name[100];\n};\n\nstatic inline __attribute__((always_inline)) void get_key(struct key_t* key) {\n key->cpu = bpf_get_smp_processor_id();\n key->pid = bpf_get_current_pid_tgid();\n bpf_get_current_comm(&(key->name), sizeof(key->name));\n}\n\nint on_sample_hit(struct bpf_perf_event_data *ctx) {\n struct key_t key = {};\n get_key(&key);\n u64 addr = 0;\n struct bpf_perf_event_data_kern *kctx;\n struct perf_sample_data *data;\n\n kctx = (struct bpf_perf_event_data_kern *)ctx;\n bpf_probe_read(&data, sizeof(struct perf_sample_data*), &(kctx->data));\n if (data)\n bpf_probe_read(&addr, sizeof(u64), &(data->addr));\n\n bpf_trace_printk("test_attach_raw_event_powerpc: pid: %ld, comm: %s, addr: 0x%llx\\n", key.pid, key.name, addr);\n return 0;\n}\n\n'
26: text = _assert_is_bytes(text)
26: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1237: DeprecationWarning: not a bytes object: 'on_sample_hit'
26: fn_name = _assert_is_bytes(fn_name)
26: CRITICAL:root:WARNING! Test test_attach_raw_event_powerpc (__main__.TestPerfAttachRaw) failed, but marked as passed because it is decorated with @mayFail.
26: CRITICAL:root: The reason why this mayFail was: This fails on github actions environment, hw perf events are not supported
26: CRITICAL:root: The failure was: "None"
26: CRITICAL:root: Stacktrace: "Traceback (most recent call last):
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_attach_perf_event.py", line 59, in test_attach_raw_event_powerpc
26: b.attach_perf_event_raw(attr=event_attr, fn_name="on_sample_hit", pid=-1, cpu=-1)
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py", line 1246, in attach_perf_event_raw
26: pid, i, group_fd)
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py", line 1233, in _attach_perf_event_raw
26: raise Exception("Failed to attach BPF to perf raw event")
26: Exception: Failed to attach BPF to perf raw event
26:
26: During handling of the above exception, another exception occurred:
26:
26: Traceback (most recent call last):
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/utils.py", line 36, in wrapper
26: res = func(*args, **kwargs)
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_attach_perf_event.py", line 62, in test_attach_raw_event_powerpc
26: exit()
26: File "/usr/lib64/python3.6/_sitebuiltins.py", line 26, in __call__
26: raise SystemExit(code)
26: SystemExit: None
26: "
26: .perf_event_open failed: No such file or directory
26: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/perf_event.h>\nstruct key_t {\n int cpu;\n int pid;\n char name[100];\n};\n\nstatic inline __attribute__((always_inline)) void get_key(struct key_t* key) {\n key->cpu = bpf_get_smp_processor_id();\n key->pid = bpf_get_current_pid_tgid();\n bpf_get_current_comm(&(key->name), sizeof(key->name));\n}\n\nint on_sample_hit(struct bpf_perf_event_data *ctx) {\n struct key_t key = {};\n get_key(&key);\n u64 addr = ctx->addr;\n\n bpf_trace_printk("test_attach_raw_event_x86: pid: %ld, comm: %s, addr: 0x%llx\\n", key.pid, key.name, addr);\n return 0;\n}\n\n'
26: text = _assert_is_bytes(text)
26: CRITICAL:root:WARNING! Test test_attach_raw_event_x86 (__main__.TestPerfAttachRaw) failed, but marked as passed because it is decorated with @mayFail.
26: CRITICAL:root: The reason why this mayFail was: This fails on github actions environment, hw perf events are not supported
26: CRITICAL:root: The failure was: "None"
26: CRITICAL:root: Stacktrace: "Traceback (most recent call last):
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_attach_perf_event.py", line 105, in test_attach_raw_event_x86
26: b.attach_perf_event_raw(attr=event_attr, fn_name="on_sample_hit", pid=-1, cpu=-1)
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py", line 1246, in attach_perf_event_raw
26: pid, i, group_fd)
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py", line 1233, in _attach_perf_event_raw
26: raise Exception("Failed to attach BPF to perf raw event")
26: Exception: Failed to attach BPF to perf raw event
26:
26: During handling of the above exception, another exception occurred:
26:
26: Traceback (most recent call last):
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/utils.py", line 36, in wrapper
26: res = func(*args, **kwargs)
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_attach_perf_event.py", line 108, in test_attach_raw_event_x86
26: exit()
26: File "/usr/lib64/python3.6/_sitebuiltins.py", line 26, in __call__
26: raise SystemExit(code)
26: SystemExit: None
26: "
26: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/perf_event.h>\nstruct key_t {\n int cpu;\n int pid;\n char name[100];\n};\n\nstatic inline __attribute__((always_inline)) void get_key(struct key_t* key) {\n key->cpu = bpf_get_smp_processor_id();\n key->pid = bpf_get_current_pid_tgid();\n bpf_get_current_comm(&(key->name), sizeof(key->name));\n}\n\nint on_sample_hit(struct bpf_perf_event_data *ctx) {\n struct key_t key = {};\n get_key(&key);\n u64 addr = ctx->addr;\n\n bpf_trace_printk("test_attach_raw_sw_event: pid: %ld, comm: %s, addr: 0x%llx\\n", key.pid, key.name, addr);\n return 0;\n}\n\n'
26: text = _assert_is_bytes(text)
26: .
26: ----------------------------------------------------------------------
26: Ran 3 tests in 7.286s
26:
26: OK
26: Failed to attach to a raw event. Please check the event attr used
26: Failed to attach to a raw event. Please check the event attr used
26: Running for 1 seconds or hit Ctrl-C to end. Check trace file for samples information written by bpf_trace_printk.
26/47 Test #26: py_test_attach_perf_event ........ Passed 7.52 sec
test 27
Start 27: py_test_utils
27: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_utils" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_utils.py"
27: Test timeout computed to be: 10000000
27: ..
27: ----------------------------------------------------------------------
27: Ran 2 tests in 0.001s
27:
27: OK
27/47 Test #27: py_test_utils .................... Passed 0.15 sec
test 28
Start 28: py_test_percpu
28: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_percpu" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_percpu.py"
28: Test timeout computed to be: 10000000
28: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: 'BPF_PERCPU_ARRAY(stub, u32, 1);'
28: text = _assert_is_bytes(text)
28: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n BPF_PERCPU_ARRAY(stub_default);\n BPF_PERCPU_ARRAY(stub_type, u64);\n BPF_PERCPU_ARRAY(stub_full, u64, 1024);\n '
28: text = _assert_is_bytes(text)
28: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n typedef struct counter {\n u32 c1;\n u32 c2;\n } counter;\n BPF_PERCPU_HASH(stats, u32, counter, 1);\n int hello_world(void *ctx) {\n u32 key=0;\n counter value = {0,0}, *val;\n val = stats.lookup_or_try_init(&key, &value);\n if (val) {\n val->c1 += 1;\n val->c2 += 1;\n }\n return 0;\n }\n '
28: text = _assert_is_bytes(text)
28: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'stats'
28: name = _assert_is_bytes(name)
28: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'clone'
28: name = _assert_is_bytes(name)
28: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'hello_world'
28: fn_name = _assert_is_bytes(fn_name)
28: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n BPF_PERCPU_ARRAY(stats, u32, 1);\n int hello_world(void *ctx) {\n u32 key=0;\n u32 value = 0, *val;\n val = stats.lookup_or_try_init(&key, &value);\n if (val) {\n *val += 1;\n }\n return 0;\n }\n '
28: text = _assert_is_bytes(text)
28: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n BPF_PERCPU_HASH(stats, u32, u64, 1);\n int hello_world(void *ctx) {\n u32 key=0;\n u64 value = 0, *val;\n val = stats.lookup_or_try_init(&key, &value);\n if (val) {\n *val += 1;\n }\n return 0;\n }\n '
28: text = _assert_is_bytes(text)
28: .
28: ----------------------------------------------------------------------
28: Ran 4 tests in 2.277s
28:
28: OK
28/47 Test #28: py_test_percpu ................... Passed 2.44 sec
test 29
Start 29: py_test_dump_func
29: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_dump_func" "simple" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_dump_func.py"
29: Test timeout computed to be: 10000000
29: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n int entry(void)\n {\n return 1;\n }'
29: text = _assert_is_bytes(text)
29: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:539: DeprecationWarning: not a bytes object: 'entry'
29: func_name = _assert_is_bytes(func_name)
29: .
29: ----------------------------------------------------------------------
29: Ran 1 test in 0.170s
29:
29: OK
29/47 Test #29: py_test_dump_func ................ Passed 0.29 sec
test 30
Start 30: py_test_disassembler
30: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_disassembler" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_disassembler.py"
30: Test timeout computed to be: 10000000
30: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n struct key_t {int a; short b; struct {int c:4; int d:8;} e;} __attribute__((__packed__));\n BPF_HASH(test_map, struct key_t);\n int test_func(void)\n {\n return 1;\n }'
30: text = _assert_is_bytes(text)
30: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:539: DeprecationWarning: not a bytes object: 'test_func'
30: func_name = _assert_is_bytes(func_name)
30: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'test_map'
30: name = _assert_is_bytes(name)
30: .
30: ----------------------------------------------------------------------
30: Ran 2 tests in 0.268s
30:
30: OK
30/47 Test #30: py_test_disassembler ............. Passed 0.42 sec
test 31
Start 31: py_test_tools_smoke
31: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_tools_smoke" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_tools_smoke.py"
31: Test timeout computed to be: 10000000
31: Traceback (most recent call last):
31: File "../../tools/argdist.py", line 708, in run
31: self._main_loop()
31: File "../../tools/argdist.py", line 698, in _main_loop
31: exit()
31: File "/usr/lib64/python2.7/site.py", line 355, in __call__
31: raise SystemExit(code)
31: SystemExit: None
31: .....'unknown': unknown terminal type.
31: .'unknown': unknown terminal type.
31: 'unknown': unknown terminal type.
31: 'unknown': unknown terminal type.
31: .....................'unknown': unknown terminal type.
31: ....../bin/sh: line 1: 12714 Killed timeout -s KILL -k 5s 5s ../../tools/killsnoop.py > /dev/null
31: .s........WARNING: 2 stack traces lost and could not be displayed.
31: ..libbpf: failed to find valid kernel BTF
31: libbpf: vmlinux BTF is not found
31: ......'unknown': unknown terminal type.
31: ...............'unknown': unknown terminal type.
31: ...'unknown': unknown terminal type.
31: .....'unknown': unknown terminal type.
31: ...libbpf: failed to find valid kernel BTF
31: libbpf: vmlinux BTF is not found
31: ......
31: ----------------------------------------------------------------------
31: Ran 83 tests in 279.941s
31:
31: OK (skipped=1)
31/47 Test #31: py_test_tools_smoke .............. Passed 280.13 sec
test 32
Start 32: py_test_tools_memleak
32: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_tools_memleak" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_tools_memleak.py"
32: Test timeout computed to be: 10000000
32: ........
32: ----------------------------------------------------------------------
32: Ran 8 tests in 22.937s
32:
32: OK
32/47 Test #32: py_test_tools_memleak ............ Passed 23.14 sec
test 33
Start 33: py_test_usdt
33: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_usdt" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_usdt.py"
33: Test timeout computed to be: 10000000
33: <stdin>:23:17: warning: null character(s) preserved in literal
33: <stdin>:28:17: warning: null character(s) preserved in literal
33: clang -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model static -mthread-model posix -fno-jump-tables -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -coverage-notes-file /usr/src/kernels/4.17.12-200.fc28.x86_64/main.gcno -nostdsysteminc -nobuiltininc -resource-dir lib64/clang/6.0.1 -isystem /virtual/lib/clang/include -include ./include/linux/kconfig.h -include /virtual/include/bcc/bpf.h -include /virtual/include/bcc/bpf_workaround.h -include /virtual/include/bcc/helpers.h -isystem /virtual/include -I /home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python -D __BPF_TRACING__ -I arch/x86/include/ -I /lib/modules/4.17.12-200.fc28.x86_64/build/arch/x86/include/generated -I include -I /lib/modules/4.17.12-200.fc28.x86_64/build/include -I arch/x86/include/uapi -I /lib/modules/4.17.12-200.fc28.x86_64/build/arch/x86/include/generated/uapi -I include/uapi -I /lib/modules/4.17.12-200.fc28.x86_64/build/include/generated/uapi -D __KERNEL__ -D KBUILD_MODNAME="bcc" -O2 -Wno-deprecated-declarations -Wno-gnu-variable-sized-type-not-at-end -Wno-pragma-once-outside-header -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-unused-value -Wno-pointer-sign -fdebug-compilation-dir /usr/src/kernels/4.17.12-200.fc28.x86_64 -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o main.bc -x c /virtual/main.c
33: #if defined(BPF_LICENSE)
33: #error BPF_LICENSE cannot be specified through cflags
33: #endif
33: #if !defined(CONFIG_CC_STACKPROTECTOR)
33: #if defined(CONFIG_CC_STACKPROTECTOR_AUTO) \
33: || defined(CONFIG_CC_STACKPROTECTOR_REGULAR) \
33: || defined(CONFIG_CC_STACKPROTECTOR_STRONG)
33: #define CONFIG_CC_STACKPROTECTOR
33: #endif
33: #endif
33: #define bpf_probe_read_kernel bpf_probe_read
33: #define bpf_probe_read_kernel_str bpf_probe_read_str
33: #define bpf_probe_read_user bpf_probe_read
33: #define bpf_probe_read_user_str bpf_probe_read_str
33: #include <uapi/linux/ptrace.h>
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace1_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int8_t)) return -1;
33: switch(PT_REGS_IP(ctx)) {
33: case 0x400687ULL: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
33: case 0x400690ULL: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
33: }
33: return -1;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace1_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int32_t)) return -1;
33: switch(PT_REGS_IP(ctx)) {
33: case 0x400687ULL: { u64 __addr = ctx->bp + -24; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
33: case 0x400690ULL: { u64 __addr = ctx->bp + -20; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
33: }
33: return -1;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace3_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int32_t)) return -1;
33: switch(PT_REGS_IP(ctx)) {
33: case 0x400688ULL: { u64 __addr = ctx->bp + -20; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
33: case 0x4006a7ULL: *((int32_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
33: }
33: return -1;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace3_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int32_t)) return -1;
33: switch(PT_REGS_IP(ctx)) {
33: case 0x400688ULL: { u64 __addr = ctx->bp + -24; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
33: case 0x4006a7ULL: *((int32_t *)dest) = ctx->dx; __asm__ __volatile__("": : :"memory"); return 0;
33: }
33: return -1;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace2_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int32_t)) return -1;
33: *((int32_t *)dest) = 5;
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace2_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int8_t)) return -1;
33: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace4_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int64_t)) return -1;
33: *((int64_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace4_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int64_t)) return -1;
33: *((int64_t *)dest) = ctx->dx; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace5_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int64_t)) return -1;
33: *((int64_t *)dest) = ctx->dx; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace5_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int64_t)) return -1;
33: *((int64_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33:
33: #include <linux/blkdev.h>
33: #include <uapi/linux/ptrace.h>
33:
33: struct probe_result_t1 {
33: char v1;
33: int v2;
33: };
33:
33: struct probe_result_t2 {
33: int v1;
33: char v2;
33: };
33:
33: struct probe_result_t3 {
33: int v1;
33: int v2;
33: };
33:
33: struct probe_result_t4 {
33: u64 v1;
33: char v2[8];
33: };
33:
33: struct probe_result_t5 {
33: char v1[8];
33: u64 v2;
33: };
33:
33: BPF_PERF_OUTPUT(event1);
33: BPF_PERF_OUTPUT(event2);
33: BPF_PERF_OUTPUT(event3);
33: BPF_PERF_OUTPUT(event4);
33: BPF_PERF_OUTPUT(event5);
33:
33: __attribute__((section(".bpf.fn.do_trace1")))
33: int do_trace1(struct pt_regs *ctx) {
33:
33: struct probe_result_t1 result = {};
33: _bpf_readarg_do_trace1_1(ctx, &result.v1, sizeof(*(&result.v1)));
33: _bpf_readarg_do_trace1_2(ctx, &result.v2, sizeof(*(&result.v2)));
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -1), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: };
33: __attribute__((section(".bpf.fn.do_trace2")))
33: int do_trace2(struct pt_regs *ctx) {
33:
33: struct probe_result_t2 result = {};
33: _bpf_readarg_do_trace2_1(ctx, &result.v1, sizeof(*(&result.v1)));
33: _bpf_readarg_do_trace2_2(ctx, &result.v2, sizeof(*(&result.v2)));
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -2), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: }
33: __attribute__((section(".bpf.fn.do_trace3")))
33: int do_trace3(struct pt_regs *ctx) {
33:
33: struct probe_result_t3 result = {};
33: _bpf_readarg_do_trace3_1(ctx, &result.v1, sizeof(*(&result.v1)));
33: _bpf_readarg_do_trace3_2(ctx, &result.v2, sizeof(*(&result.v2)));
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -3), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: }
33: __attribute__((section(".bpf.fn.do_trace4")))
33: int do_trace4(struct pt_regs *ctx) {
33:
33: struct probe_result_t4 result = {};
33: _bpf_readarg_do_trace4_1(ctx, &result.v1, sizeof(*(&result.v1)));
33: ({ u64 __addr = 0x0; _bpf_readarg_do_trace4_2(ctx, &__addr, sizeof(__addr));bpf_probe_read(&result.v2, sizeof(result.v2), (void *)__addr);});
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -4), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: }
33: __attribute__((section(".bpf.fn.do_trace5")))
33: int do_trace5(struct pt_regs *ctx) {
33:
33: struct probe_result_t5 result = {};
33: ({ u64 __addr = 0x0; _bpf_readarg_do_trace5_1(ctx, &__addr, sizeof(__addr));bpf_probe_read(&result.v1, sizeof(result.v1), (void *)__addr);});
33: _bpf_readarg_do_trace5_2(ctx, &result.v2, sizeof(*(&result.v2)));
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -5), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: }
33:
33: #include <bcc/footer.h>
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <linux/blkdev.h>\n#include <uapi/linux/ptrace.h>\n\nstruct probe_result_t1 {\n char v1;\n int v2;\n};\n\nstruct probe_result_t2 {\n int v1;\n char v2;\n};\n\nstruct probe_result_t3 {\n int v1;\n int v2;\n};\n\nstruct probe_result_t4 {\n u64 v1;\n char v2[8];\n};\n\nstruct probe_result_t5 {\n char v1[8];\n u64 v2;\n};\n\nBPF_PERF_OUTPUT(event1);\nBPF_PERF_OUTPUT(event2);\nBPF_PERF_OUTPUT(event3);\nBPF_PERF_OUTPUT(event4);\nBPF_PERF_OUTPUT(event5);\n\nint do_trace1(struct pt_regs *ctx) {\n struct probe_result_t1 result = {};\n bpf_usdt_readarg(1, ctx, &result.v1);\n bpf_usdt_readarg(2, ctx, &result.v2);\n event1.perf_submit(ctx, &result, sizeof(result));\n return 0;\n};\nint do_trace2(struct pt_regs *ctx) {\n struct probe_result_t2 result = {};\n bpf_usdt_readarg(1, ctx, &result.v1);\n bpf_usdt_readarg(2, ctx, &result.v2);\n event2.perf_submit(ctx, &result, sizeof(result));\n return 0;\n}\nint do_trace3(struct pt_regs *ctx) {\n struct probe_result_t3 result = {};\n bpf_usdt_readarg(1, ctx, &result.v1);\n bpf_usdt_readarg(2, ctx, &result.v2);\n event3.perf_submit(ctx, &result, sizeof(result));\n return 0;\n}\nint do_trace4(struct pt_regs *ctx) {\n struct probe_result_t4 result = {};\n bpf_usdt_readarg(1, ctx, &result.v1);\n bpf_usdt_readarg_p(2, ctx, &result.v2, sizeof(result.v2));\n event4.perf_submit(ctx, &result, sizeof(result));\n return 0;\n}\nint do_trace5(struct pt_regs *ctx) {\n struct probe_result_t5 result = {};\n bpf_usdt_readarg_p(1, ctx, &result.v1, sizeof(result.v1));\n bpf_usdt_readarg(2, ctx, &result.v2);\n event5.perf_submit(ctx, &result, sizeof(result));\n return 0;\n}\n'
33: text = _assert_is_bytes(text)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: '/proc/12913/root/tmp/tmp16kh84pd'
33: name = _assert_is_bytes(name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'do_trace1'
33: fn_name = _assert_is_bytes(fn_name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'do_trace3'
33: fn_name = _assert_is_bytes(fn_name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'do_trace2'
33: fn_name = _assert_is_bytes(fn_name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'do_trace4'
33: fn_name = _assert_is_bytes(fn_name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'do_trace5'
33: fn_name = _assert_is_bytes(fn_name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event1'
33: name = _assert_is_bytes(name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event2'
33: name = _assert_is_bytes(name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event3'
33: name = _assert_is_bytes(name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event4'
33: name = _assert_is_bytes(name)
33: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event5'
33: name = _assert_is_bytes(name)
33: .
33: ----------------------------------------------------------------------
33: Ran 1 test in 5.057s
33:
33: OK
33: b'str6'
33: b'str7'
33: b'str8'
33: b'str9'
33: b'str10'
33: b'str11'
33: Running from kernel directory at: /lib/modules/4.17.12-200.fc28.x86_64/source
33/47 Test #33: py_test_usdt ..................... Passed 5.33 sec
test 34
Start 34: py_test_usdt2
34: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_usdt2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_usdt2.py"
34: Test timeout computed to be: 10000000
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\n\nBPF_PERF_OUTPUT(event1);\nBPF_PERF_OUTPUT(event2);\nBPF_PERF_OUTPUT(event3);\nBPF_PERF_OUTPUT(event4);\nBPF_PERF_OUTPUT(event5);\nBPF_PERF_OUTPUT(event6);\n\nint do_trace1(struct pt_regs *ctx) {\n u32 pid = bpf_get_current_pid_tgid();\n int result = 0;\n bpf_usdt_readarg(1, ctx, &result);\n if (pid == 12924)\n event1.perf_submit(ctx, &result, sizeof(result));\n else\n event4.perf_submit(ctx, &result, sizeof(result));\n return 0;\n};\nint do_trace2(struct pt_regs *ctx) {\n u32 pid = bpf_get_current_pid_tgid();\n int result = 0;\n bpf_usdt_readarg(1, ctx, &result);\n if (pid == 12924)\n event2.perf_submit(ctx, &result, sizeof(result));\n else\n event5.perf_submit(ctx, &result, sizeof(result));\n return 0;\n}\nint do_trace3(struct pt_regs *ctx) {\n u32 pid = bpf_get_current_pid_tgid();\n int result = 0;\n bpf_usdt_readarg(1, ctx, &result);\n if (pid == 12924)\n event3.perf_submit(ctx, &result, sizeof(result));\n else\n event6.perf_submit(ctx, &result, sizeof(result));\n return 0;\n}\n'
34: text = _assert_is_bytes(text)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: '/proc/12924/root/tmp/tmpgs7qri0g'
34: name = _assert_is_bytes(name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'do_trace1'
34: fn_name = _assert_is_bytes(fn_name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'do_trace2'
34: fn_name = _assert_is_bytes(fn_name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: '/proc/12925/root/tmp/tmpgs7qri0g'
34: name = _assert_is_bytes(name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'do_trace3'
34: fn_name = _assert_is_bytes(fn_name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event1'
34: name = _assert_is_bytes(name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event2'
34: name = _assert_is_bytes(name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event3'
34: name = _assert_is_bytes(name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event4'
34: name = _assert_is_bytes(name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event5'
34: name = _assert_is_bytes(name)
34: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event6'
34: name = _assert_is_bytes(name)
34: .
34: ----------------------------------------------------------------------
34: Ran 1 test in 2.059s
34:
34: OK
34/47 Test #34: py_test_usdt2 .................... Passed 2.29 sec
test 35
Start 35: py_test_usdt3
35: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_usdt3" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_usdt3.py"
35: Test timeout computed to be: 10000000
35: test:probe [sema 0x0]
35: location #1 /proc/12948/root/tmp/tmpmzj1drfe/liba.so 0x5d0
35: argument #1 4 signed bytes @ *(bp - 4)
35: location #2 /proc/12948/root/tmp/tmpmzj1drfe/libb.so 0x5d0
35: argument #1 4 signed bytes @ *(bp - 4)
35: location #3 /proc/12948/root/tmp/tmpmzj1drfe/a.out 0x40065d
35: argument #1 4 signed bytes @ *(bp - 4)
35: test_dup_name:probe [sema 0x0]
35: location #1 /proc/12948/root/tmp/tmpmzj1drfe/liba.so 0x5d1
35: argument #1 4 signed bytes @ *(bp - 4)
35: location #2 /proc/12948/root/tmp/tmpmzj1drfe/libb.so 0x5d1
35: argument #1 4 signed bytes @ *(bp - 4)
35: location #3 /proc/12948/root/tmp/tmpmzj1drfe/a.out 0x40065e
35: argument #1 4 signed bytes @ *(bp - 4)
35: libc:setjmp [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x36cc1
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ ax
35: libc:longjmp [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x36da3
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ dx
35: location #2 /proc/12948/root/usr/lib64/libc-2.27.so 0x10b493
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ dx
35: libc:longjmp_target [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x36dbf
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ ax
35: argument #3 8 unsigned bytes @ dx
35: location #2 /proc/12948/root/usr/lib64/libc-2.27.so 0x10b4af
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ ax
35: argument #3 8 unsigned bytes @ dx
35: libc:memory_mallopt_arena_max [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7f783
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ *(&mp_ + 32)
35: location #2 /proc/12948/root/usr/lib64/libc-2.27.so 0x85dc9
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 32)
35: libc:memory_mallopt_arena_test [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7f793
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ *(&mp_ + 24)
35: location #2 /proc/12948/root/usr/lib64/libc-2.27.so 0x85de1
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 24)
35: libc:memory_tunable_tcache_max_bytes [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7f7ab
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ *(&mp_ + 88)
35: libc:memory_tunable_tcache_count [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7f7e3
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ *(&mp_ + 96)
35: libc:memory_tunable_tcache_unsorted_limit [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7f7f3
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ *(&mp_ + 104)
35: libc:memory_mallopt_trim_threshold [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7fc03
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ *(&mp_ + 0)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: location #2 /proc/12948/root/usr/lib64/libc-2.27.so 0x85d60
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 0)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: libc:memory_mallopt_top_pad [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7fc23
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ *(&mp_ + 8)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: location #2 /proc/12948/root/usr/lib64/libc-2.27.so 0x85e90
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 8)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: libc:memory_mallopt_mmap_threshold [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7fc50
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ *(&mp_ + 16)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: location #2 /proc/12948/root/usr/lib64/libc-2.27.so 0x85e6f
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 16)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: libc:memory_mallopt_mmap_max [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7fc73
35: argument #1 4 signed bytes @ ax
35: argument #2 4 signed bytes @ *(&mp_ + 44)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: location #2 /proc/12948/root/usr/lib64/libc-2.27.so 0x85e40
35: argument #1 4 signed bytes @ bx
35: argument #2 4 signed bytes @ *(&mp_ + 44)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: libc:memory_mallopt_perturb [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7fc93
35: argument #1 4 signed bytes @ ax
35: argument #2 4 signed bytes @ *(&perturb_byte + 0)
35: location #2 /proc/12948/root/usr/lib64/libc-2.27.so 0x85df0
35: argument #1 4 signed bytes @ bx
35: argument #2 4 signed bytes @ *(&perturb_byte + 0)
35: libc:memory_arena_reuse_free_list [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x7fe27
35: argument #1 8 unsigned bytes @ bx
35: libc:memory_heap_new [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x802b9
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ bp
35: libc:memory_arena_reuse [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x808a1
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ bp
35: libc:memory_arena_reuse_wait [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x8091d
35: argument #1 8 unsigned bytes @ dx
35: argument #2 8 unsigned bytes @ dx
35: argument #3 8 unsigned bytes @ bp
35: libc:memory_arena_new [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x80a84
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ r12
35: libc:memory_arena_retry [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x80c29
35: argument #1 8 unsigned bytes @ si
35: argument #2 8 unsigned bytes @ di
35: libc:memory_sbrk_less [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x8128f
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 signed bytes @ bp
35: libc:memory_heap_free [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x81ab9
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ ax
35: libc:memory_heap_less [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x81d41
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ r15
35: libc:memory_heap_more [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x81f96
35: argument #1 8 unsigned bytes @ r9
35: argument #2 8 unsigned bytes @ r8
35: libc:memory_sbrk_more [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x8230a
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 signed bytes @ r12
35: libc:memory_malloc_retry [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x84890
35: argument #1 8 unsigned bytes @ bp
35: libc:memory_memalign_retry [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x84b85
35: argument #1 8 unsigned bytes @ bp
35: argument #2 8 unsigned bytes @ bx
35: libc:memory_mallopt_free_dyn_thresholds [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x84cd8
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ dx
35: libc:memory_realloc_retry [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x850e5
35: argument #1 8 unsigned bytes @ bp
35: argument #2 8 unsigned bytes @ bx
35: libc:memory_calloc_retry [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x85548
35: argument #1 8 unsigned bytes @ bp
35: libc:memory_mallopt [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x85d24
35: argument #1 4 signed bytes @ bp
35: argument #2 4 signed bytes @ bx
35: libc:memory_mallopt_mxfast [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x85e16
35: argument #1 4 signed bytes @ bx
35: argument #2 8 unsigned bytes @ *(&global_max_fast + 0)
35: libc:lll_lock_wait_private [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/libc-2.27.so 0x107504
35: argument #1 8 unsigned bytes @ di
35: rtld:init_start [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x388f
35: argument #1 4 signed bytes @ 0
35: argument #2 8 unsigned bytes @ bx
35: rtld:init_complete [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x3fe7
35: argument #1 4 signed bytes @ 0
35: argument #2 8 unsigned bytes @ bx
35: rtld:map_failed [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x5bd6
35: argument #1 8 signed bytes @ *(sp + 72)
35: argument #2 8 unsigned bytes @ bp
35: rtld:map_start [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x6002
35: argument #1 8 signed bytes @ *(bp + 40)
35: argument #2 8 unsigned bytes @ bx
35: rtld:map_complete [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x1354c
35: argument #1 8 signed bytes @ *(r15 + 40)
35: argument #2 8 unsigned bytes @ r14
35: argument #3 8 unsigned bytes @ bx
35: rtld:reloc_start [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x13644
35: argument #1 8 signed bytes @ *(r15 + 40)
35: argument #2 8 unsigned bytes @ *(bp - 64)
35: rtld:reloc_complete [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x139a8
35: argument #1 8 signed bytes @ *(r15 + 40)
35: argument #2 8 unsigned bytes @ *(bp - 64)
35: argument #3 8 unsigned bytes @ bx
35: rtld:unmap_start [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x144d7
35: argument #1 8 signed bytes @ r13
35: argument #2 8 unsigned bytes @ r14
35: rtld:unmap_complete [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x14721
35: argument #1 8 signed bytes @ *(bp - 128)
35: argument #2 8 unsigned bytes @ bx
35: rtld:setjmp [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x1ad9d
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ ax
35: rtld:longjmp [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x1addd
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ dx
35: rtld:longjmp_target [sema 0x0]
35: location #1 /proc/12948/root/usr/lib64/ld-2.27.so 0x1adf9
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ ax
35: argument #3 8 unsigned bytes @ dx
35: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_PERF_OUTPUT(event);\nint do_trace(struct pt_regs *ctx) {\n int result = 0;\n bpf_usdt_readarg(1, ctx, &result);\n event.perf_submit(ctx, &result, sizeof(result));\n return 0;\n};\n'
35: text = _assert_is_bytes(text)
35: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: '/proc/12948/root/tmp/tmpmzj1drfe/liba.so'
35: name = _assert_is_bytes(name)
35: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1341: DeprecationWarning: not a bytes object: 'do_trace'
35: fn_name = _assert_is_bytes(fn_name)
35: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: '/proc/12948/root/tmp/tmpmzj1drfe/libb.so'
35: name = _assert_is_bytes(name)
35: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:1338: DeprecationWarning: not a bytes object: '/proc/12948/root/tmp/tmpmzj1drfe/a.out'
35: name = _assert_is_bytes(name)
35: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'event'
35: name = _assert_is_bytes(name)
35: .
35: ----------------------------------------------------------------------
35: Ran 1 test in 1.145s
35:
35: OK
35: temp directory: /tmp/tmpmzj1drfe
35/47 Test #35: py_test_usdt3 .................... Passed 1.35 sec
test 36
Start 36: py_test_license
36: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_license" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_license.py"
36: Test timeout computed to be: 10000000
36: /virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
36: #error BPF_LICENSE cannot be specified through cflags
36: ^
36: 1 error generated.
36: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct gpl_s {\n u64 ts;\n};\nBPF_PERF_OUTPUT(events);\nint license_program(struct pt_regs *ctx) {\n struct gpl_s data = {};\n data.ts = bpf_ktime_get_ns();\n events.perf_submit(ctx, &data, sizeof(data));\n return 0;\n}\n'
36: text = _assert_is_bytes(text)
36: x/virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
36: #error BPF_LICENSE cannot be specified through cflags
36: ^
36: 1 error generated.
36: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct gpl_s {\n u64 ts;\n};\nBPF_PERF_OUTPUT(events);\nint license_program(struct pt_regs *ctx) {\n struct gpl_s data = {};\n data.ts = bpf_ktime_get_ns();\n events.perf_submit(ctx, &data, sizeof(data));\n return 0;\n}\n\n#define BPF_LICENSE GPL\n'
36: text = _assert_is_bytes(text)
36: x/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'read'
36: name = _assert_is_bytes(name)
36: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'license_program'
36: fn_name = _assert_is_bytes(fn_name)
36: .bpf: Failed to load program: Invalid argument
36: 0: (bf) r6 = r1
36: 1: (85) call bpf_ktime_get_ns#5
36: cannot call GPL only function from proprietary program
36:
36: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct gpl_s {\n u64 ts;\n};\nBPF_PERF_OUTPUT(events);\nint license_program(struct pt_regs *ctx) {\n struct gpl_s data = {};\n data.ts = bpf_ktime_get_ns();\n events.perf_submit(ctx, &data, sizeof(data));\n return 0;\n}\n\n#define BPF_LICENSE \n'
36: text = _assert_is_bytes(text)
36: x/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct gpl_s {\n u64 ts;\n};\nBPF_PERF_OUTPUT(events);\nint license_program(struct pt_regs *ctx) {\n struct gpl_s data = {};\n data.ts = bpf_ktime_get_ns();\n events.perf_submit(ctx, &data, sizeof(data));\n return 0;\n}\n\n#define BPF_LICENSE Dual BSD/GPL\n'
36: text = _assert_is_bytes(text)
36: ../virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
36: #error BPF_LICENSE cannot be specified through cflags
36: ^
36: 1 error generated.
36: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct key_t {\n u64 ip;\n u32 pid;\n u32 uid;\n char comm[16];\n};\n\nBPF_HASH(counts, struct key_t);\n\nint license_program(struct pt_regs *ctx) {\n struct key_t key = {};\n u64 zero = 0 , *val;\n u64 pid = bpf_get_current_pid_tgid();\n u32 uid = bpf_get_current_uid_gid();\n\n key.ip = PT_REGS_IP(ctx);\n key.pid = pid & 0xFFFFFFFF;\n key.uid = uid & 0xFFFFFFFF;\n bpf_get_current_comm(&(key.comm), 16);\n\n val = counts.lookup_or_try_init(&key, &zero); // update counter\n if (val) {\n (*val)++;\n }\n return 0;\n}\n'
36: text = _assert_is_bytes(text)
36: xbpf: Failed to load program: Invalid argument
36: 0: (bf) r6 = r1
36: 1: (85) call bpf_ktime_get_ns#5
36: cannot call GPL only function from proprietary program
36:
36: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct gpl_s {\n u64 ts;\n};\nBPF_PERF_OUTPUT(events);\nint license_program(struct pt_regs *ctx) {\n struct gpl_s data = {};\n data.ts = bpf_ktime_get_ns();\n events.perf_submit(ctx, &data, sizeof(data));\n return 0;\n}\n\n#define BPF_LICENSE Proprietary license\n'
36: text = _assert_is_bytes(text)
36: x/home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct key_t {\n u64 ip;\n u32 pid;\n u32 uid;\n char comm[16];\n};\n\nBPF_HASH(counts, struct key_t);\n\nint license_program(struct pt_regs *ctx) {\n struct key_t key = {};\n u64 zero = 0 , *val;\n u64 pid = bpf_get_current_pid_tgid();\n u32 uid = bpf_get_current_uid_gid();\n\n key.ip = PT_REGS_IP(ctx);\n key.pid = pid & 0xFFFFFFFF;\n key.uid = uid & 0xFFFFFFFF;\n bpf_get_current_comm(&(key.comm), 16);\n\n val = counts.lookup_or_try_init(&key, &zero); // update counter\n if (val) {\n (*val)++;\n }\n return 0;\n}\n\n#define BPF_LICENSE Proprietary\n'
36: text = _assert_is_bytes(text)
36: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n#include <uapi/linux/ptrace.h>\nstruct key_t {\n u64 ip;\n u32 pid;\n u32 uid;\n char comm[16];\n};\n\nBPF_HASH(counts, struct key_t);\n\nint license_program(struct pt_regs *ctx) {\n struct key_t key = {};\n u64 zero = 0 , *val;\n u64 pid = bpf_get_current_pid_tgid();\n u32 uid = bpf_get_current_uid_gid();\n\n key.ip = PT_REGS_IP(ctx);\n key.pid = pid & 0xFFFFFFFF;\n key.uid = uid & 0xFFFFFFFF;\n bpf_get_current_comm(&(key.comm), 16);\n\n val = counts.lookup_or_try_init(&key, &zero); // update counter\n if (val) {\n (*val)++;\n }\n return 0;\n}\n\n#define BPF_LICENSE Proprietary license\n'
36: text = _assert_is_bytes(text)
36: .
36: ----------------------------------------------------------------------
36: Ran 10 tests in 3.124s
36:
36: OK (expected failures=5)
36/47 Test #36: py_test_license .................. Passed 3.27 sec
test 37
Start 37: py_test_free_bcc_memory
37: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_free_bcc_memory" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_free_bcc_memory.py"
37: Test timeout computed to be: 10000000
37: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: 'int test() { return 0; }'
37: text = _assert_is_bytes(text)
37: /usr/lib64/python3.6/subprocess.py:766: ResourceWarning: subprocess 12965 is still running
37: ResourceWarning, source=self)
37: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_free_bcc_memory.py:35: ResourceWarning: unclosed file <_io.BufferedReader name=3>
37: [rss1, unit1] = self.getRssFile()
37: /usr/lib64/python3.6/subprocess.py:766: ResourceWarning: subprocess 12966 is still running
37: ResourceWarning, source=self)
37: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_free_bcc_memory.py:42: ResourceWarning: unclosed file <_io.BufferedReader name=3>
37: [rss2, unit2] = self.getRssFile()
37: .
37: ----------------------------------------------------------------------
37: Ran 1 test in 0.307s
37:
37: OK
37: Before freeing llvm memory: RssFile: b'56504' b'kB'
37: After freeing llvm memory: RssFile: b'55592' b'kB'
37/47 Test #37: py_test_free_bcc_memory .......... Passed 0.54 sec
test 38
Start 38: py_test_rlimit
38: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_rlimit" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_rlimit.py"
38: Test timeout computed to be: 10000000
38: could not open bpf map: unused, error: Operation not permitted
38: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\nBPF_HASH(unused, u64, u64, 65536);\nint test() { return 0; }\n'
38: text = _assert_is_bytes(text)
38: .
38: ----------------------------------------------------------------------
38: Ran 1 test in 0.521s
38:
38: OK
38/47 Test #38: py_test_rlimit ................... Passed 0.68 sec
test 39
Start 39: py_test_lpm_trie
39: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_lpm_trie" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_lpm_trie.py"
39: Test timeout computed to be: 10000000
39: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n struct key_v4 {\n u32 prefixlen;\n u32 data[4];\n };\n BPF_LPM_TRIE(trie, struct key_v4, int, 16);\n '
39: text = _assert_is_bytes(text)
39: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'trie'
39: name = _assert_is_bytes(name)
39: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n struct key_v6 {\n u32 prefixlen;\n u32 data[4];\n };\n BPF_LPM_TRIE(trie, struct key_v6, int, 16);\n '
39: text = _assert_is_bytes(text)
39: .
39: ----------------------------------------------------------------------
39: Ran 2 tests in 0.520s
39:
39: OK
39/47 Test #39: py_test_lpm_trie ................. Passed 0.77 sec
test 40
Start 40: py_ringbuf
40: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_ringbuf" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_ringbuf.py"
40: Test timeout computed to be: 10000000
40: ssss
40: ----------------------------------------------------------------------
40: Ran 4 tests in 0.000s
40:
40: OK (skipped=4)
40/47 Test #40: py_ringbuf ....................... Passed 0.23 sec
test 41
Start 41: py_queuestack
41: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_queuestack" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_queuestack.py"
41: Test timeout computed to be: 10000000
41: ss
41: ----------------------------------------------------------------------
41: Ran 2 tests in 0.000s
41:
41: OK (skipped=2)
41/47 Test #41: py_queuestack .................... Passed 0.23 sec
test 42
Start 42: py_test_map_batch_ops
42: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_map_batch_ops" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_map_batch_ops.py"
42: Test timeout computed to be: 10000000
42: ssssss
42: ----------------------------------------------------------------------
42: Ran 6 tests in 0.000s
42:
42: OK (skipped=6)
42/47 Test #42: py_test_map_batch_ops ............ Passed 0.23 sec
test 43
Start 43: py_test_map_in_map
43: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "py_test_map_in_map" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/python/test_map_in_map.py"
43: Test timeout computed to be: 10000000
43: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n BPF_ARRAY(cntl, int, 1);\n BPF_ARRAY(ex1, int, 1024);\n BPF_ARRAY(ex2, int, 1024);\n BPF_ARRAY_OF_MAPS(maps_array, "ex1", 10);\n\n int syscall__getuid(void *ctx) {\n int key = 0, data, *val, cntl_val;\n void *inner_map;\n\n val = cntl.lookup(&key);\n if (!val || *val == 0)\n return 0;\n\n cntl_val = *val;\n inner_map = maps_array.lookup(&cntl_val);\n if (!inner_map)\n return 0;\n\n val = bpf_map_lookup_elem(inner_map, &key);\n if (val) {\n data = 1 + *val;\n bpf_map_update_elem(inner_map, &key, &data, 0);\n }\n\n return 0;\n }\n'
43: text = _assert_is_bytes(text)
43: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'cntl'
43: name = _assert_is_bytes(name)
43: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'ex1'
43: name = _assert_is_bytes(name)
43: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'ex2'
43: name = _assert_is_bytes(name)
43: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'maps_array'
43: name = _assert_is_bytes(name)
43: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:793: DeprecationWarning: not a bytes object: 'getuid'
43: name = _assert_is_bytes(name)
43: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:808: DeprecationWarning: not a bytes object: 'syscall__getuid'
43: fn_name = _assert_is_bytes(fn_name)
43: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n BPF_ARRAY(cntl, int, 1);\n BPF_TABLE("hash", int, int, ex1, 1024);\n BPF_TABLE("hash", int, int, ex2, 1024);\n BPF_HASH_OF_MAPS(maps_hash, int, "ex1", 10);\n\n int syscall__getuid(void *ctx) {\n int key = 0, data, *val, cntl_val;\n void *inner_map;\n\n val = cntl.lookup(&key);\n if (!val || *val == 0)\n return 0;\n\n cntl_val = *val;\n inner_map = maps_hash.lookup(&cntl_val);\n if (!inner_map)\n return 0;\n\n val = bpf_map_lookup_elem(inner_map, &key);\n if (!val) {\n data = 1;\n bpf_map_update_elem(inner_map, &key, &data, 0);\n } else {\n data = 1 + *val;\n bpf_map_update_elem(inner_map, &key, &data, 0);\n }\n\n return 0;\n }\n'
43: text = _assert_is_bytes(text)
43: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:620: DeprecationWarning: not a bytes object: 'maps_hash'
43: name = _assert_is_bytes(name)
43: ./home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/src/python/bcc-python/bcc/__init__.py:425: DeprecationWarning: not a bytes object: '\n struct custom_key {\n int value_1;\n int value_2;\n };\n\n BPF_ARRAY(cntl, int, 1);\n BPF_TABLE("hash", int, int, ex1, 1024);\n BPF_TABLE("hash", int, int, ex2, 1024);\n BPF_HASH_OF_MAPS(maps_hash, struct custom_key, "ex1", 10);\n\n int syscall__getuid(void *ctx) {\n struct custom_key hash_key = {1, 0};\n int key = 0, data, *val, cntl_val;\n void *inner_map;\n\n val = cntl.lookup(&key);\n if (!val || *val == 0)\n return 0;\n\n hash_key.value_2 = *val;\n inner_map = maps_hash.lookup(&hash_key);\n if (!inner_map)\n return 0;\n\n val = bpf_map_lookup_elem(inner_map, &key);\n if (!val) {\n data = 1;\n bpf_map_update_elem(inner_map, &key, &data, 0);\n } else {\n data = 1 + *val;\n bpf_map_update_elem(inner_map, &key, &data, 0);\n }\n\n return 0;\n }\n'
43: text = _assert_is_bytes(text)
43: .
43: ----------------------------------------------------------------------
43: Ran 3 tests in 1.013s
43:
43: OK
43/47 Test #43: py_test_map_in_map ............... Passed 1.25 sec
test 44
Start 44: lua_test_clang
44: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "lua_test_clang" "sudo" "/usr/bin/luajit" "test_clang.lua"
44: Test timeout computed to be: 10000000
44: /virtual/main.c:1:30: error: expected expression
44: int failure(void *ctx) { if (); return 0; }
44: ^
44: 1 error generated.
44: ....................
44: Ran 20 tests in 19.029 seconds, 20 successes, 0 failures
44: OK
44/47 Test #44: lua_test_clang ................... Passed 19.30 sec
test 45
Start 45: lua_test_uprobes
45: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "lua_test_uprobes" "sudo" "/usr/bin/luajit" "test_uprobes.lua"
45: Test timeout computed to be: 10000000
45: Python 2.7.15
45: Arena 0:
45: system bytes = 25616384
45: in use bytes = 1178976
45: Total (incl. mmap):
45: system bytes = 25616384
45: in use bytes = 1178976
45: max mmap regions = 7
45: max mmap bytes = 8556544
45: ..
45: Ran 2 tests in 0.592 seconds, 2 successes, 0 failures
45: OK
45/47 Test #45: lua_test_uprobes ................. Passed 0.71 sec
test 46
Start 46: lua_test_dump
46: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/build/tests/wrapper.sh "lua_test_dump" "sudo" "/usr/bin/luajit" "test_dump.lua"
46: Test timeout computed to be: 10000000
46: .
46: Ran 1 tests in 0.261 seconds, 1 successes, 0 failures
46: OK
46/47 Test #46: lua_test_dump .................... Passed 0.32 sec
test 47
Start 47: lua_test_standalone
47: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc28/tests/lua/test_standalone.sh
47: Test timeout computed to be: 10000000
47: + cd src/lua
47: + [[ ! -x bcc-lua ]]
47: + echo 'bcc-lua not built --- skipping'
47: bcc-lua not built --- skipping
47: + exit 0
47/47 Test #47: lua_test_standalone .............. Passed 0.00 sec
100% tests passed, 0 tests failed out of 47
Total Test time (real) = 550.16 sec
++ head -n 1 Testing/TAG
+ cp Testing/20210906-0307/Test.xml ./CTestResults.xml
Taking single-use agent fedora28-slave-328 offline.
Finished: SUCCESS