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 fedora25-slave-7b6 (fc25) in workspace /home/fedora/jenkins/workspace/bcc-pr/label/fc25 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/fc25 # timeout=10 Fetching upstream changes from https://github.com/iovisor/bcc.git > git --version # timeout=10 > git --version # 'git version 2.9.5' > 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] [fc25] $ /bin/sh -xe /tmp/CommandInterpreterCondition5939383519235613217.sh + grep -q '^ID=fedora' /etc/os-release Run condition [Execute Shell] enabling perform for step [Execute shell] [fc25] $ /bin/sh -xe /tmp/jenkins6992006805639747657.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.qGD9VT + trap cleanup EXIT + '[' -f os-release ']' + [[ '' -lt 30 ]] + PKGS='python3-cachetools python-cachetools' + sudo dnf install -y python3-cachetools python-cachetools Last metadata expiration check: 0:00:07 ago on Mon Sep 6 02:59:55 2021. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: python-cachetools noarch 1.1.6-2.fc25 fedora 31 k python3-cachetools noarch 1.1.6-2.fc25 fedora 31 k Transaction Summary ================================================================================ Install 2 Packages Total download size: 62 k Installed size: 173 k Downloading Packages: -------------------------------------------------------------------------------- Total 39 kB/s | 62 kB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Installing : python-cachetools-1.1.6-2.fc25.noarch 1/2 Installing : python3-cachetools-1.1.6-2.fc25.noarch 2/2 Verifying : python3-cachetools-1.1.6-2.fc25.noarch 1/2 Verifying : python-cachetools-1.1.6-2.fc25.noarch 2/2 Installed: python-cachetools.noarch 1.1.6-2.fc25 python3-cachetools.noarch 1.1.6-2.fc25 Complete! + mkdir /tmp/rpmbuild.qGD9VT/BUILD /tmp/rpmbuild.qGD9VT/RPMS /tmp/rpmbuild.qGD9VT/SOURCES /tmp/rpmbuild.qGD9VT/SPECS /tmp/rpmbuild.qGD9VT/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/fc25/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.d7b26be ++ revision=0.21.0 + git archive HEAD --prefix=bcc/ --format=tar -o /tmp/rpmbuild.qGD9VT/SOURCES/bcc.tar + pushd src/cc/libbpf ~/jenkins/workspace/bcc-pr/label/fc25/src/cc/libbpf ~/jenkins/workspace/bcc-pr/label/fc25 + git archive HEAD --prefix=bcc/src/cc/libbpf/ --format=tar -o /tmp/rpmbuild.qGD9VT/SOURCES/bcc_libbpf.tar + popd ~/jenkins/workspace/bcc-pr/label/fc25 + pushd /tmp/rpmbuild.qGD9VT/SOURCES /tmp/rpmbuild.qGD9VT/SOURCES ~/jenkins/workspace/bcc-pr/label/fc25 + tar -A -f bcc.tar bcc_libbpf.tar + gzip bcc.tar + popd ~/jenkins/workspace/bcc-pr/label/fc25 + sed -e 's/^\(Version:\s*\)@REVISION@/\10.21.0/' -e 's/^\(Release:\s*\)@GIT_REV_COUNT@/\137.git.d7b26be/' SPECS/bcc.spec + pushd /tmp/rpmbuild.qGD9VT /tmp/rpmbuild.qGD9VT ~/jenkins/workspace/bcc-pr/label/fc25 ++ pwd + rpmbuild --define '_topdir /tmp/rpmbuild.qGD9VT' -ba SPECS/bcc.spec Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.atVF4N + umask 022 + cd /tmp/rpmbuild.qGD9VT/BUILD + cd /tmp/rpmbuild.qGD9VT/BUILD + rm -rf bcc + /usr/bin/gzip -dc /tmp/rpmbuild.qGD9VT/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.yLy1eH + umask 022 + cd /tmp/rpmbuild.qGD9VT/BUILD + cd bcc + mkdir build + pushd build /tmp/rpmbuild.qGD9VT/BUILD/bcc/build /tmp/rpmbuild.qGD9VT/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.0 -DLUAJIT_LIBRARIES=/usr/lib64/libluajit-5.1.so -DPYTHON_CMD=python2 -- The C compiler identification is GNU 6.4.1 -- The CXX compiler identification is GNU 6.4.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 - Failed -- Found LLVM: /usr/include 3.9.1 -- Found BISON: /usr/bin/bison (found version "3.0.4") -- Found FLEX: /usr/bin/flex (found version "2.6.0") -- 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.qGD9VT/BUILD/bcc/build + make -j2 Scanning dependencies of target bcc-loader-static Scanning dependencies of target clang_frontend [ 0%] Building CXX object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_syms.cc.o [ 1%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/loader.cc.o [ 1%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_elf.c.o [ 1%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_perf_map.c.o [ 2%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_proc.c.o [ 2%] Building CXX object src/cc/CMakeFiles/bcc-loader-static.dir/common.cc.o [ 2%] Linking CXX static library libbcc-loader-static.a [ 2%] Built target bcc-loader-static Scanning dependencies of target bpf-static [ 3%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf.c.o [ 3%] Building C object src/cc/CMakeFiles/bpf-static.dir/perf_reader.c.o [ 3%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/bpf.c.o [ 3%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/bpf_prog_linfo.c.o [ 4%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/btf.c.o [ 4%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/btf_dump.c.o [ 4%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/gen_loader.c.o [ 5%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/hashmap.c.o [ 5%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf.c.o [ 5%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/b_frontend_action.cc.o [ 5%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf_errno.c.o [ 6%] 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 [ 7%] 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 [ 8%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/str_error.c.o [ 8%] 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 [ 9%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/bcc_syms.cc.o [ 9%] 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 [ 10%] Building C object src/cc/CMakeFiles/bpf-static.dir/bcc_proc.c.o [ 10%] 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 [ 11%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/usdt/usdt_args.cc.o [ 11%] Linking CXX static library libbcc_bpf.a [ 11%] Built target bpf-static [ 11%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/tp_frontend_action.cc.o [ 12%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/kbuild_helper.cc.o /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/frontends/clang/kbuild_helper.cc:80:3: warning: multi-line comment [-Wcomment] // USERINCLUDE := \ ^ /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/frontends/clang/kbuild_helper.cc:89:3: warning: multi-line comment [-Wcomment] // LINUXINCLUDE := \ ^ [ 12%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/__/__/common.cc.o Scanning dependencies of target api-static [ 12%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPF.cc.o [ 13%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPFTable.cc.o [ 13%] Linking CXX static library libclang_frontend.a [ 13%] Built target clang_frontend Scanning dependencies of target usdt-static [ 13%] Building CXX object src/cc/usdt/CMakeFiles/usdt-static.dir/usdt_args.cc.o [ 13%] Linking CXX static library libapi-static.a [ 13%] Built target api-static [ 14%] [FLEX][Lexer] Building scanner with flex 2.6.0 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 [ 15%] Building CXX object src/cc/usdt/CMakeFiles/usdt-static.dir/usdt.cc.o [ 15%] Linking CXX static library libusdt-static.a [ 15%] Built target usdt-static Scanning dependencies of target bpf-shared [ 15%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf.c.o [ 16%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/node.cc.o [ 16%] 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 [ 17%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/bpf_prog_linfo.c.o [ 17%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/btf.c.o [ 17%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.cc.o [ 17%] 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 [ 18%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/hashmap.c.o [ 18%] Building C object src/cc/CMakeFiles/bpf-shared.dir/libbpf/src/libbpf.c.o [ 18%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/printer.cc.o [ 19%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/type_check.cc.o [ 20%] 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 [ 21%] 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 [ 22%] 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 [ 23%] 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 CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.yy.cc.o [ 23%] Building C object src/cc/CMakeFiles/bpf-shared.dir/bcc_elf.c.o [ 24%] 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/frontends/b/CMakeFiles/b_frontend.dir/lexer.ll.cc.o [ 25%] Building CXX object src/cc/CMakeFiles/bpf-shared.dir/usdt/usdt.cc.o /tmp/rpmbuild.qGD9VT/BUILD/bcc/build/src/cc/frontends/b/lexer.ll.cc: In member function 'virtual int ebpf::cc::Lexer::yylex()': /tmp/rpmbuild.qGD9VT/BUILD/bcc/build/src/cc/frontends/b/lexer.ll.cc:764:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for ( yyl = 0; yyl < yyleng; ++yyl ) ~~~~^~~~~~~~ [ 26%] Linking CXX static library libb_frontend.a [ 26%] Built target b_frontend Scanning dependencies of target bcc_py_python2 [ 27%] 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) [ 27%] Built target bcc_py_python2 [ 27%] Generating bcc.lua Writing bcc.lua... OK! [ 28%] Generating bcc.o Scanning dependencies of target bcc-lua [ 28%] Building C object src/lua/CMakeFiles/bcc-lua.dir/src/main.c.o [ 29%] Linking C executable bcc-lua [ 29%] Built target bcc-lua [ 29%] Building CXX object src/cc/CMakeFiles/bpf-shared.dir/usdt/usdt_args.cc.o Scanning dependencies of target bps [ 29%] Building C object introspection/CMakeFiles/bps.dir/bps.c.o [ 29%] Linking CXX executable bps [ 29%] Built target bps Scanning dependencies of target man [ 30%] Generating argdist.8.gz [ 30%] Generating bashreadline.8.gz [ 30%] Generating bindsnoop.8.gz [ 31%] Generating biolatency.8.gz [ 31%] Generating biolatpcts.8.gz [ 31%] Generating biosnoop.8.gz [ 32%] Generating biotop.8.gz [ 32%] Generating bitesize.8.gz [ 32%] Generating bpflist.8.gz [ 33%] Generating bps.8.gz [ 33%] Generating btrfsdist.8.gz [ 33%] Generating btrfsslower.8.gz [ 34%] Generating cachestat.8.gz [ 34%] Generating cachetop.8.gz [ 34%] Generating capable.8.gz [ 34%] Generating cobjnew.8.gz [ 35%] Generating compactsnoop.8.gz [ 35%] Generating cpudist.8.gz [ 35%] Generating cpuunclaimed.8.gz [ 36%] Generating criticalstat.8.gz [ 36%] Generating cthreads.8.gz [ 36%] Generating dbslower.8.gz [ 37%] Generating dbstat.8.gz [ 37%] Generating dcsnoop.8.gz [ 37%] Generating dcstat.8.gz [ 38%] Generating deadlock.8.gz [ 38%] Generating dirtop.8.gz [ 38%] Generating drsnoop.8.gz [ 39%] Generating execsnoop.8.gz [ 39%] Generating exitsnoop.8.gz [ 39%] Generating ext4dist.8.gz [ 40%] Generating ext4slower.8.gz [ 40%] Generating filelife.8.gz [ 40%] Generating fileslower.8.gz [ 41%] Generating filetop.8.gz [ 41%] Generating funccount.8.gz [ 41%] Generating funcinterval.8.gz [ 42%] Generating funclatency.8.gz [ 42%] Generating funcslower.8.gz [ 42%] Generating gethostlatency.8.gz [ 42%] Generating hardirqs.8.gz [ 43%] Generating inject.8.gz [ 43%] Generating javacalls.8.gz [ 43%] Generating javaflow.8.gz [ 44%] Generating javagc.8.gz [ 44%] Generating javaobjnew.8.gz [ 44%] Generating javastat.8.gz [ 45%] Generating javathreads.8.gz [ 45%] Generating killsnoop.8.gz [ 45%] Generating klockstat.8.gz [ 46%] Generating ksnoop.8.gz [ 46%] Generating kvmexit.8.gz [ 46%] Generating llcstat.8.gz [ 47%] Generating mdflush.8.gz [ 47%] Generating memleak.8.gz [ 47%] Generating mountsnoop.8.gz [ 48%] Generating mysqld_qslower.8.gz [ 48%] Generating netqtop.8.gz [ 48%] Generating nfsdist.8.gz [ 49%] Generating nfsslower.8.gz [ 49%] Generating nodegc.8.gz [ 49%] Generating nodestat.8.gz [ 50%] Generating offcputime.8.gz [ 50%] Generating offwaketime.8.gz [ 50%] Generating oomkill.8.gz [ 50%] Generating opensnoop.8.gz [ 51%] Generating perlcalls.8.gz [ 51%] Generating perlflow.8.gz [ 51%] Generating perlstat.8.gz [ 52%] Generating phpcalls.8.gz [ 52%] Generating phpflow.8.gz [ 52%] Generating phpstat.8.gz [ 53%] Generating pidpersec.8.gz [ 53%] Generating profile.8.gz [ 53%] Generating pythoncalls.8.gz [ 54%] Generating pythonflow.8.gz [ 54%] Generating pythongc.8.gz [ 54%] Generating pythonstat.8.gz [ 55%] Generating readahead.8.gz [ 55%] Generating reset-trace.8.gz [ 55%] Generating rubycalls.8.gz [ 56%] Generating rubyflow.8.gz [ 56%] Generating rubygc.8.gz [ 56%] Generating rubyobjnew.8.gz [ 57%] Generating rubystat.8.gz [ 57%] Generating runqlat.8.gz [ 57%] Generating runqlen.8.gz [ 57%] Generating runqslower.8.gz [ 58%] Generating shmsnoop.8.gz [ 58%] Generating slabratetop.8.gz [ 58%] Generating sofdsnoop.8.gz [ 59%] Generating softirqs.8.gz [ 59%] Generating solisten.8.gz [ 59%] Generating spfdsnoop.8.gz [ 60%] Generating sslsniff.8.gz [ 60%] Generating stackcount.8.gz [ 60%] Generating statsnoop.8.gz [ 61%] Generating swapin.8.gz [ 61%] Generating syncsnoop.8.gz [ 61%] Generating syscount.8.gz [ 62%] Generating tclcalls.8.gz [ 62%] Generating tclflow.8.gz [ 62%] Generating tclobjnew.8.gz [ 63%] Generating tclstat.8.gz [ 63%] Generating tcpaccept.8.gz [ 63%] Generating tcpconnect.8.gz [ 64%] Generating tcpconnlat.8.gz [ 64%] Generating tcpdrop.8.gz [ 64%] Generating tcplife.8.gz [ 65%] Generating tcpretrans.8.gz [ 65%] Generating tcprtt.8.gz [ 65%] Generating tcpstates.8.gz [ 65%] Generating tcpsubnet.8.gz [ 66%] Generating tcpsynbl.8.gz [ 66%] Generating tcptop.8.gz [ 66%] Generating tcptracer.8.gz [ 67%] Generating threadsnoop.8.gz [ 67%] Generating tplist.8.gz [ 67%] 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 usdt_test_lib [ 72%] Building CXX object tests/cc/CMakeFiles/usdt_test_lib.dir/usdt_test_lib.cc.o [ 73%] Linking CXX shared library libusdt_test_lib.so [ 73%] Built target usdt_test_lib Scanning dependencies of target bcc-shared [ 73%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/link_all.cc.o [ 73%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_common.cc.o [ 74%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpf_module.cc.o [ 74%] Linking CXX shared library libbcc_bpf.so [ 74%] Built target bpf-shared [ 74%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_btf.cc.o /tmp/rpmbuild.qGD9VT/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.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:315:9: 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] ret = btf_ext__reloc_func_info(btf_, btf_ext_, fname, 0, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9:0, from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:22: /tmp/rpmbuild.qGD9VT/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.qGD9VT/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.qGD9VT/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9:0, from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:22: /tmp/rpmbuild.qGD9VT/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.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:322:9: 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] ret = btf_ext__reloc_line_info(btf_, btf_ext_, fname, 0, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9:0, from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:22: /tmp/rpmbuild.qGD9VT/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.qGD9VT/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.qGD9VT/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9:0, from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:22: /tmp/rpmbuild.qGD9VT/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 [ 75%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpf_module_rw_engine.cc.o [ 75%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/table_storage.cc.o [ 75%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/shared_table.cc.o [ 76%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpffs_table.cc.o [ 76%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/json_map_decl_visitor.cc.o Scanning dependencies of target bcc-static [ 76%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_common.cc.o [ 76%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpf_module.cc.o [ 76%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_syms.cc.o [ 77%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_btf.cc.o /tmp/rpmbuild.qGD9VT/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.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:315:9: 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] ret = btf_ext__reloc_func_info(btf_, btf_ext_, fname, 0, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9:0, from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:22: /tmp/rpmbuild.qGD9VT/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.qGD9VT/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.qGD9VT/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9:0, from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:22: /tmp/rpmbuild.qGD9VT/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.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:322:9: 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] ret = btf_ext__reloc_line_info(btf_, btf_ext_, fname, 0, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9:0, from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:22: /tmp/rpmbuild.qGD9VT/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.qGD9VT/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.qGD9VT/BUILD/bcc/src/cc/bcc_libbpf_inc.h:9:0, from /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/bcc_btf.cc:22: /tmp/rpmbuild.qGD9VT/BUILD/bcc/src/cc/libbpf/src/btf.h:93:5: note: declared here int btf_ext__reloc_line_info(const struct btf *btf, ^~~~~~~~~~~~~~~~~~~~~~~~ [ 77%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/exported_files.cc.o [ 77%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpf_module_rw_engine.cc.o [ 78%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_elf.c.o [ 78%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_perf_map.c.o [ 78%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_proc.c.o [ 79%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/common.cc.o [ 79%] Linking CXX shared library libbcc.so [ 80%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/table_storage.cc.o [ 80%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/shared_table.cc.o [ 80%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpffs_table.cc.o [ 81%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/json_map_decl_visitor.cc.o [ 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 tests/cc/CMakeFiles/test_libbcc.dir/test_c_api.cc.o [ 82%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/common.cc.o [ 82%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/usdt/usdt.cc.o [ 82%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_array_table.cc.o [ 83%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/usdt/usdt_args.cc.o [ 83%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_bpf_table.cc.o [ 84%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_cg_storage.cc.o [ 84%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_hash_table.cc.o [ 84%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_syms.cc.o [ 84%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_map_in_map.cc.o [ 84%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_elf.c.o [ 85%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_perf_map.c.o [ 85%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_proc.c.o [ 85%] Linking CXX static library libbcc.a [ 85%] Built target bcc-static [ 86%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_perf_event.cc.o [ 86%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_pinned_table.cc.o [ 86%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_prog_table.cc.o [ 87%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_queuestack_table.cc.o [ 87%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_shared_table.cc.o [ 87%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_sk_storage.cc.o [ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_sock_table.cc.o [ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_usdt_args.cc.o [ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_usdt_probes.cc.o [ 89%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/utils.cc.o [ 89%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_parse_tracepoint.cc.o Scanning dependencies of target UseExternalMap [ 90%] Building CXX object examples/cpp/CMakeFiles/UseExternalMap.dir/UseExternalMap.cc.o [ 90%] Linking CXX executable test_libbcc [ 90%] Linking CXX executable UseExternalMap [ 90%] Built target test_libbcc Scanning dependencies of target TaskIterator [ 90%] Building CXX object examples/cpp/CMakeFiles/TaskIterator.dir/TaskIterator.cc.o [ 90%] Linking CXX executable TaskIterator [ 90%] Built target UseExternalMap Scanning dependencies of target TCPSendStack [ 90%] Building CXX object examples/cpp/CMakeFiles/TCPSendStack.dir/TCPSendStack.cc.o [ 90%] Built target TaskIterator Scanning dependencies of target FollyRequestContextSwitch [ 90%] Building CXX object examples/cpp/CMakeFiles/FollyRequestContextSwitch.dir/FollyRequestContextSwitch.cc.o [ 91%] Linking CXX executable TCPSendStack [ 91%] Linking CXX executable FollyRequestContextSwitch [ 91%] Built target TCPSendStack Scanning dependencies of target CPUDistribution [ 91%] Building CXX object examples/cpp/CMakeFiles/CPUDistribution.dir/CPUDistribution.cc.o [ 91%] Built target FollyRequestContextSwitch Scanning dependencies of target CGroupTest [ 91%] Building CXX object examples/cpp/CMakeFiles/CGroupTest.dir/CGroupTest.cc.o [ 92%] Linking CXX executable CPUDistribution [ 92%] Linking CXX executable CGroupTest [ 92%] Built target CPUDistribution Scanning dependencies of target KFuncExample [ 92%] Building CXX object examples/cpp/CMakeFiles/KFuncExample.dir/KFuncExample.cc.o [ 92%] Built target CGroupTest Scanning dependencies of target KModRetExample [ 92%] Building CXX object examples/cpp/CMakeFiles/KModRetExample.dir/KModRetExample.cc.o [ 93%] Linking CXX executable KFuncExample [ 93%] Linking CXX executable KModRetExample [ 93%] Built target KFuncExample Scanning dependencies of target LLCStat [ 94%] Building CXX object examples/cpp/CMakeFiles/LLCStat.dir/LLCStat.cc.o [ 94%] Built target KModRetExample Scanning dependencies of target HelloWorld [ 95%] Building CXX object examples/cpp/CMakeFiles/HelloWorld.dir/HelloWorld.cc.o [ 95%] Linking CXX executable LLCStat [ 95%] Linking CXX executable HelloWorld [ 95%] Built target LLCStat Scanning dependencies of target RecordMySQLQuery [ 95%] Building CXX object examples/cpp/CMakeFiles/RecordMySQLQuery.dir/RecordMySQLQuery.cc.o [ 95%] Built target HelloWorld Scanning dependencies of target RandomRead [ 96%] Building CXX object examples/cpp/CMakeFiles/RandomRead.dir/RandomRead.cc.o [ 96%] Linking CXX executable RandomRead [ 96%] Linking CXX executable RecordMySQLQuery [ 96%] Built target RandomRead Scanning dependencies of target SkLocalStorageIterator [ 97%] Building CXX object examples/cpp/CMakeFiles/SkLocalStorageIterator.dir/SkLocalStorageIterator.cc.o [ 97%] Built target RecordMySQLQuery Scanning dependencies of target PyPerf [ 97%] Building CXX object examples/cpp/pyperf/CMakeFiles/PyPerf.dir/PyPerf.cc.o [ 97%] Linking CXX executable SkLocalStorageIterator [ 98%] Building CXX object examples/cpp/pyperf/CMakeFiles/PyPerf.dir/PyPerfUtil.cc.o [ 98%] Built target SkLocalStorageIterator 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%] 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 test_static [100%] Built target PyPerf + popd /tmp/rpmbuild.qGD9VT/BUILD/bcc + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.HMURsS + umask 022 + cd /tmp/rpmbuild.qGD9VT/BUILD + '[' /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64 '!=' / ']' + rm -rf /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64 ++ dirname /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64 + mkdir -p /tmp/rpmbuild.qGD9VT/BUILDROOT + mkdir /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64 + cd bcc + pushd build /tmp/rpmbuild.qGD9VT/BUILD/bcc/build /tmp/rpmbuild.qGD9VT/BUILD/bcc + make install/strip DESTDIR=/tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64 [ 1%] Built target bcc-loader-static [ 3%] Built target clang_frontend [ 12%] Built target bpf-static [ 13%] Built target api-static [ 14%] Built target usdt-static [ 18%] Built target b_frontend [ 23%] Built target bcc-shared [ 31%] Built target bpf-shared [ 36%] Built target bcc-static [ 37%] Built target bcc_py_python2 [ 39%] Built target bcc-lua [ 39%] Built target bps [ 40%] Built target UseExternalMap [ 40%] Built target TaskIterator [ 41%] Built target TCPSendStack [ 41%] Built target FollyRequestContextSwitch [ 42%] Built target CPUDistribution [ 42%] Built target CGroupTest [ 43%] Built target KFuncExample [ 43%] Built target KModRetExample [ 44%] Built target LLCStat [ 45%] Built target HelloWorld [ 45%] Built target RecordMySQLQuery [ 46%] Built target RandomRead [ 47%] Built target SkLocalStorageIterator [ 49%] Built target PyPerf [ 92%] Built target man [ 93%] Built target test_static [ 94%] Built target usdt_test_lib [100%] Built target test_libbcc Installing the project stripped... -- Install configuration: "Release" -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/libbcc.so.0.21.0 -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/libbcc.so.0 -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/libbcc.so -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/libbcc.a -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/libbcc-loader-static.a -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/libbcc_bpf.a -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/file_desc.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/table_desc.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/table_storage.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/bcc_common.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/bpf_module.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/bcc_exception.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/bcc_syms.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/bcc_proc.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/bcc_elf.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/bcc_usdt.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/compat/linux -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/compat/linux/pkt_sched.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/compat/linux/netlink.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/compat/linux/if_xdp.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/compat/linux/btf.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/compat/linux/if_link.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/compat/linux/bpf_common.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/compat/linux/pkt_cls.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/compat/linux/bpf.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/pkgconfig/libbcc.pc -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/libbpf.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/perf_reader.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/bcc_version.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/libbcc_bpf.so.0.21.0 -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/libbcc_bpf.so.0 -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib64/libbcc_bpf.so -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/include/bcc/BPF.h -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.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/version.py -> build/lib/bcc copying bcc/libbcc.py -> build/lib/bcc copying bcc/table.py -> build/lib/bcc copying bcc/containers.py -> build/lib/bcc copying bcc/utils.py -> build/lib/bcc copying bcc/__init__.py -> build/lib/bcc copying bcc/perf.py -> build/lib/bcc copying bcc/disassembler.py -> build/lib/bcc copying bcc/usdt.py -> build/lib/bcc copying bcc/syscall.py -> build/lib/bcc copying bcc/tcp.py -> build/lib/bcc running install_lib creating /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib creating /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7 creating /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages creating /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/version.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/libbcc.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/table.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/containers.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/utils.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/__init__.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/perf.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/disassembler.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/usdt.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/syscall.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc copying build/lib/bcc/tcp.py -> /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/version.py to version.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/libbcc.py to libbcc.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/table.py to table.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/containers.py to containers.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/utils.py to utils.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/__init__.py to __init__.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/perf.py to perf.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/disassembler.py to disassembler.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/usdt.py to usdt.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/syscall.py to syscall.pyc byte-compiling /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc/tcp.py to tcp.pyc running install_egg_info Writing /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7/site-packages/bcc-0.21.0-py2.7.egg-info -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/bin/bcc-lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/introspection/bps -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/hello_world.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/bashreadline.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/bashreadline.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/kprobe-latency.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/kprobe-write.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/memleak.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/offcputime.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/sock-parse-dns.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/sock-parse-http.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/sock-proto.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/sock-protolen.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/strlen_count.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/task_switch.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/tracepoint-offcputime.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/uprobe-readline-perf.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/uprobe-readline.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/uprobe-tailkt.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/lua/usdt_ruby.lua -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/simulation.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/simple_tc.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tc_perf_event.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/distributed_bridge/simulation.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel_mesh.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/distributed_bridge/main.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel_mesh.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/distributed_bridge/tunnel.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/neighbor_sharing/README.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/neighbor_sharing/simulation.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/neighbor_sharing/tc_neighbor_sharing.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/neighbor_sharing/tc_neighbor_sharing.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/vlan_learning/README.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/vlan_learning/simulation.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/vlan_learning/vlan_learning.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/vlan_learning/vlan_learning.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/README.md -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/chord.png -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/monitor.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/simulation.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/vxlan.jpg -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/main.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/monitor.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/setup.sh -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/tunnel_monitor/traffic.sh -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-complete.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-simple.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/http_filter/README.md -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-complete.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/http_filter/http-parse-simple.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/xdp/xdp_drop_count.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/xdp/xdp_macswap_count.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/xdp/xdp_redirect_cpu.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/networking/xdp/xdp_redirect_map.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/biolatpcts.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/bitehist.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/dddos.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/disksnoop.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/hello_fields.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/hello_perf_output.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/hello_perf_output_using_ns.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/kvm_hypercall.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/mallocstacks.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/mysqld_query.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/nflatency.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/nodejs_http_server.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/stack_buildid_example.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/stacksnoop.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/strlen_count.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/strlen_hist.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/strlen_hist_ifunc.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/strlen_snoop.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/sync_timing.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/task_switch.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/tcpv4connect.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/trace_fields.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/trace_perf_output.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/urandomread-explicit.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/urandomread.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/vfsreadlat.py -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/task_switch.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/vfsreadlat.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/CMakeLists.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/biolatpcts_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/bitehist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/dddos_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/disksnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/kvm_hypercall.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/mysqld_query_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/nodejs_http_server_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/stacksnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/tcpv4connect_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/urandomread_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples/tracing/vfsreadlat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/argdist.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/bashreadline.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/bindsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/biolatency.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/biolatpcts.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/biosnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/biotop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/bitesize.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/bpflist.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/bps.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/btrfsdist.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/btrfsslower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/cachestat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/cachetop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/capable.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/cobjnew.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/compactsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/cpudist.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/cpuunclaimed.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/criticalstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/cthreads.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/dbslower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/dbstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/dcsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/dcstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/deadlock.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/dirtop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/drsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/execsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/exitsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/ext4dist.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/ext4slower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/filelife.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/fileslower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/filetop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/funccount.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/funcinterval.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/funclatency.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/funcslower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/gethostlatency.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/hardirqs.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/inject.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/javacalls.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/javaflow.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/javagc.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/javaobjnew.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/javastat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/javathreads.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/killsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/klockstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/ksnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/kvmexit.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/llcstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/mdflush.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/memleak.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/mountsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/mysqld_qslower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/netqtop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/nfsdist.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/nfsslower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/nodegc.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/nodestat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/offcputime.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/offwaketime.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/oomkill.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/opensnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/perlcalls.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/perlflow.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/perlstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/phpcalls.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/phpflow.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/phpstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/pidpersec.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/profile.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/pythoncalls.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/pythonflow.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/pythongc.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/pythonstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/readahead.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/reset-trace.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/rubycalls.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/rubyflow.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/rubygc.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/rubyobjnew.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/rubystat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/runqlat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/runqlen.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/runqslower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/shmsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/slabratetop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/sofdsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/softirqs.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/solisten.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/spfdsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/sslsniff.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/stackcount.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/statsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/swapin.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/syncsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/syscount.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tclcalls.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tclflow.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tclobjnew.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tclstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcpaccept.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcpconnect.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcpconnlat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcpdrop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcplife.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcpretrans.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcprtt.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcpstates.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcpsubnet.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcpsynbl.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcptop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tcptracer.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/threadsnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/tplist.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/trace.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/ttysnoop.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/ucalls.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/uflow.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/ugc.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/uobjnew.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/ustat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/uthreads.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/vfscount.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/vfsstat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/virtiostat.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/wakeuptime.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/xfsdist.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/xfsslower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/zfsdist.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/man/man8/zfsslower.8.gz -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/argdist -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/bashreadline -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/bindsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/biolatency -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/biolatpcts -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/biosnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/biotop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/bitesize -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/bpflist -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/btrfsdist -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/btrfsslower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/cachestat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/cachetop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/capable -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/compactsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/cpudist -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/cpuunclaimed -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/criticalstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/dbslower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/dbstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/dcsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/dcstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/deadlock -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/dirtop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/drsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/execsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/exitsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/ext4dist -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/ext4slower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/filelife -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/fileslower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/filetop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/funccount -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/funcinterval -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/funclatency -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/funcslower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/gethostlatency -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/hardirqs -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/inject -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/killsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/klockstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/kvmexit -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/llcstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/mdflush -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/memleak -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/mountsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/mysqld_qslower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/netqtop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/nfsdist -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/nfsslower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/offcputime -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/offwaketime -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/oomkill -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/opensnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/pidpersec -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/profile -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/readahead -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/runqlat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/runqlen -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/runqslower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/shmsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/slabratetop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/sofdsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/softirqs -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/solisten -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/sslsniff -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/stackcount -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/statsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/swapin -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/syncsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/syscount -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcpaccept -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcpconnect -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcpconnlat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcpdrop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcplife -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcpretrans -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcprtt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcpstates -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcpsubnet -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcpsynbl -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcptop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tcptracer -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/threadsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tplist -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/trace -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/ttysnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/vfscount -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/vfsstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/virtiostat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/wakeuptime -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/xfsdist -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/xfsslower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/zfsdist -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/zfsslower -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/cobjnew -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/javacalls -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/javaflow -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/javagc -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/javaobjnew -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/javastat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/javathreads -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/nodegc -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/nodestat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/perlcalls -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/perlflow -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/perlstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/phpcalls -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/phpflow -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/phpstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/pythoncalls -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/pythonflow -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/pythongc -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/pythonstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/reset-trace -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/rubycalls -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/rubyflow -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/rubygc -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/rubyobjnew -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/rubystat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tclcalls -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tclflow -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tclobjnew -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/tclstat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/deadlock.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/netqtop.c -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/argdist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/bashreadline_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/bindsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/biolatency_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/biolatpcts_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/biosnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/biotop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/bitesize_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/bpflist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/btrfsdist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/btrfsslower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/cachestat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/cachetop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/capable_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/cobjnew_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/compactsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/cpudist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/cpuunclaimed_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/criticalstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/cthreads_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/dbslower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/dbstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/dcsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/dcstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/deadlock_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/dirtop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/drsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/execsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/exitsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/ext4dist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/ext4slower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/filelife_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/fileslower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/filetop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/funccount_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/funcinterval_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/funclatency_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/funcslower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/gethostlatency_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/hardirqs_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/inject_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/javacalls_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/javaflow_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/javagc_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/javaobjnew_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/javastat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/javathreads_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/killsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/klockstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/kvmexit_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/llcstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/mdflush_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/memleak_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/mountsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/mysqld_qslower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/netqtop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/nfsdist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/nfsslower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/nodegc_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/nodestat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/offcputime_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/offwaketime_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/oomkill_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/opensnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/perlcalls_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/perlflow_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/perlstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/phpcalls_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/phpflow_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/phpstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/pidpersec_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/profile_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/pythoncalls_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/pythonflow_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/pythongc_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/pythonstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/readahead_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/reset-trace_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/rubycalls_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/rubyflow_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/rubygc_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/rubyobjnew_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/rubystat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/runqlat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/runqlen_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/runqslower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/shmsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/slabratetop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/sofdsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/softirqs_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/solisten_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/sslsniff_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/stackcount_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/statsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/swapin_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/syncsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/syscount_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tclcalls_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tclflow_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tclobjnew_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tclstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcpaccept_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcpconnect_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcpconnlat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcpdrop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcplife_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcpretrans_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcprtt_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcpstates_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcpsubnet_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcpsynbl_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcptop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tcptracer_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/threadsnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/tplist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/trace_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/ttysnoop_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/vfscount_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/vfsstat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/virtiostat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/wakeuptime_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/xfsdist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/xfsslower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/zfsdist_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/zfsslower_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/lib/ucalls -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/lib/uflow -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/lib/ugc -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/lib/uobjnew -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/lib/ustat -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/lib/uthreads -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/lib/ucalls_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/lib/uflow_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/lib/ugc_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/lib/uobjnew_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/lib/ustat_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/doc/lib/uthreads_example.txt -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/bashreadline -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/biosnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/compactsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/filelife -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/gethostlatency -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/hardirqs -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/killsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/memleak -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/offcputime -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/offwaketime -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/oomkill -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/opensnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/profile -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/softirqs -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/stackcount -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/stacksnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/statsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/syncsnoop -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/tcpaccept -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/tcpconnect -- Installing: /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools/old/wakeuptime + find /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/tools /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/share/bcc/examples -type f -exec sed -i -e '1 s|^#!/usr/bin/python$|#!/usr/bin/python2|' -e '1 s|^#!/usr/bin/env python$|#!/usr/bin/python2|' '{}' ';' + /usr/lib/rpm/check-buildroot + /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/python2 1 Bytecompiling .py files below /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64/usr/lib/python2.7 using /usr/bin/python2.7 + /usr/lib/rpm/brp-python-hardlink + /usr/lib/rpm/redhat/brp-java-repack-jars Processing files: libbcc-0.21.0-37.git.d7b26be.x86_64 Provides: libbcc = 0.21.0-37.git.d7b26be libbcc(x86-64) = 0.21.0-37.git.d7b26be 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 ld-linux-x86-64.so.2()(64bit) ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) libbcc.so.0()(64bit) libbcc_bpf.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.11)(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.15)(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.4)(64bit) libc.so.6(GLIBC_2.6)(64bit) libc.so.6(GLIBC_2.7)(64bit) libc.so.6(GLIBC_2.9)(64bit) libclangAST.so()(64bit) libclangAnalysis.so()(64bit) libclangBasic.so()(64bit) libclangCodeGen.so()(64bit) libclangDriver.so()(64bit) libclangEdit.so()(64bit) libclangFrontend.so()(64bit) libclangLex.so()(64bit) libclangParse.so()(64bit) libclangRewrite.so()(64bit) libclangSema.so()(64bit) libclangSerialization.so()(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.2.5)(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) libgcc_s.so.1(GCC_3.3)(64bit) libgcc_s.so.1(GCC_3.4)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) librt.so.1()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.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.17)(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.22)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libtinfo.so.6()(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) rtld(GNU_HASH) Processing files: python2-bcc-0.21.0-37.git.d7b26be.x86_64 Provides: python-bcc = 0.21.0-37.git.d7b26be python-bcc(x86-64) = 0.21.0-37.git.d7b26be python2-bcc = 0.21.0-37.git.d7b26be python2-bcc(x86-64) = 0.21.0-37.git.d7b26be 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.d7b26be Processing files: bcc-lua-0.21.0-37.git.d7b26be.x86_64 Provides: bcc-lua = 0.21.0-37.git.d7b26be bcc-lua(x86-64) = 0.21.0-37.git.d7b26be 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.d7b26be.x86_64 Provides: libbcc-examples = 0.21.0-37.git.d7b26be libbcc-examples(x86-64) = 0.21.0-37.git.d7b26be 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/env /usr/bin/python2 Processing files: bcc-tools-0.21.0-37.git.d7b26be.x86_64 Provides: bcc-tools = 0.21.0-37.git.d7b26be bcc-tools(x86-64) = 0.21.0-37.git.d7b26be Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: /bin/bash /usr/bin/python2 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.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64 Wrote: /tmp/rpmbuild.qGD9VT/SRPMS/bcc-0.21.0-37.git.d7b26be.src.rpm Wrote: /tmp/rpmbuild.qGD9VT/RPMS/x86_64/libbcc-0.21.0-37.git.d7b26be.x86_64.rpm Wrote: /tmp/rpmbuild.qGD9VT/RPMS/x86_64/python2-bcc-0.21.0-37.git.d7b26be.x86_64.rpm Wrote: /tmp/rpmbuild.qGD9VT/RPMS/x86_64/bcc-lua-0.21.0-37.git.d7b26be.x86_64.rpm Wrote: /tmp/rpmbuild.qGD9VT/RPMS/x86_64/libbcc-examples-0.21.0-37.git.d7b26be.x86_64.rpm Wrote: /tmp/rpmbuild.qGD9VT/RPMS/x86_64/bcc-tools-0.21.0-37.git.d7b26be.x86_64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.HeZctG + umask 022 + cd /tmp/rpmbuild.qGD9VT/BUILD + cd bcc + /usr/bin/rm -rf /tmp/rpmbuild.qGD9VT/BUILDROOT/bcc-0.21.0-37.git.d7b26be.x86_64 + exit 0 + popd ~/jenkins/workspace/bcc-pr/label/fc25 + cp /tmp/rpmbuild.qGD9VT/RPMS/x86_64/bcc-lua-0.21.0-37.git.d7b26be.x86_64.rpm /tmp/rpmbuild.qGD9VT/RPMS/x86_64/bcc-tools-0.21.0-37.git.d7b26be.x86_64.rpm /tmp/rpmbuild.qGD9VT/RPMS/x86_64/libbcc-0.21.0-37.git.d7b26be.x86_64.rpm /tmp/rpmbuild.qGD9VT/RPMS/x86_64/libbcc-examples-0.21.0-37.git.d7b26be.x86_64.rpm /tmp/rpmbuild.qGD9VT/RPMS/x86_64/python2-bcc-0.21.0-37.git.d7b26be.x86_64.rpm . + cp /tmp/rpmbuild.qGD9VT/SRPMS/bcc-0.21.0-37.git.d7b26be.src.rpm . + cleanup + [[ -d /tmp/rpmbuild.qGD9VT ]] + rm -rf /tmp/rpmbuild.qGD9VT + sudo rpm -ivh bcc-lua-0.21.0-37.git.d7b26be.x86_64.rpm bcc-tools-0.21.0-37.git.d7b26be.x86_64.rpm libbcc-0.21.0-37.git.d7b26be.x86_64.rpm libbcc-examples-0.21.0-37.git.d7b26be.x86_64.rpm python2-bcc-0.21.0-37.git.d7b26be.x86_64.rpm Preparing... ######################################## Updating / installing... libbcc-0.21.0-37.git.d7b26be ######################################## python2-bcc-0.21.0-37.git.d7b26be ######################################## bcc-lua-0.21.0-37.git.d7b26be ######################################## libbcc-examples-0.21.0-37.git.d7b26be ######################################## bcc-tools-0.21.0-37.git.d7b26be ######################################## + mkdir upload + mv bcc-0.21.0-37.git.d7b26be.src.rpm bcc-lua-0.21.0-37.git.d7b26be.x86_64.rpm bcc-tools-0.21.0-37.git.d7b26be.x86_64.rpm libbcc-0.21.0-37.git.d7b26be.x86_64.rpm libbcc-examples-0.21.0-37.git.d7b26be.x86_64.rpm python2-bcc-0.21.0-37.git.d7b26be.x86_64.rpm upload [fc25] $ /bin/sh -xe /tmp/CommandInterpreterCondition1328055582308578155.sh + grep -q '^ID=ubuntu' /etc/os-release Run condition [Execute Shell] preventing perform for step [Execute shell] [fc25] $ /bin/sh -xe /tmp/jenkins1624035023741143977.sh + mkdir build + cd build + [[ fc25 fedora25-slave-7b6 = *\f\c\2\8* ]] + cmake .. -- The C compiler identification is GNU 6.4.1 -- The CXX compiler identification is GNU 6.4.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 - Failed -- Found LLVM: /usr/include 3.9.1 -- Found BISON: /usr/bin/bison (found version "3.0.4") -- Found FLEX: /usr/bin/flex (found version "2.6.0") -- 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/fc25/build + make -j2 -C tests/cc make: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc' make[1]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target bcc-loader-static make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target clang_frontend make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 0%] Building CXX object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_syms.cc.o [ 2%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/loader.cc.o [ 2%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_elf.c.o [ 2%] 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 make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 5%] Built target bcc-loader-static [ 5%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/b_frontend_action.cc.o [ 5%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/tp_frontend_action.cc.o [ 8%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/kbuild_helper.cc.o /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/frontends/clang/kbuild_helper.cc:80:3: warning: multi-line comment [-Wcomment] // USERINCLUDE := \ ^ /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/frontends/clang/kbuild_helper.cc:89:3: warning: multi-line comment [-Wcomment] // LINUXINCLUDE := \ ^ [ 8%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/__/__/common.cc.o make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target bpf-static make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 11%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf.c.o [ 11%] 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 [ 13%] 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 [ 16%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/hashmap.c.o [ 16%] 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 [ 19%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf_probes.c.o [ 19%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/linker.c.o [ 19%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/netlink.c.o [ 22%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/nlattr.c.o [ 22%] 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 [ 25%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/str_error.c.o [ 25%] 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 [ 27%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/bcc_syms.cc.o [ 27%] 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 [ 30%] Building C object src/cc/CMakeFiles/bpf-static.dir/bcc_proc.c.o [ 30%] 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 [ 33%] Building CXX object src/cc/CMakeFiles/bpf-static.dir/usdt/usdt_args.cc.o [ 33%] Linking CXX static library libclang_frontend.a make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 33%] Built target clang_frontend make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target api-static make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 33%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPF.cc.o [ 36%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPFTable.cc.o [ 36%] Linking CXX static library libbcc_bpf.a make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 36%] Built target bpf-static make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target usdt-static make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 36%] Building CXX object src/cc/usdt/CMakeFiles/usdt-static.dir/usdt_args.cc.o [ 36%] Linking CXX static library libapi-static.a make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 36%] Built target api-static make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 38%] [FLEX][Lexer] Building scanner with flex 2.6.0 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/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/usdt/CMakeFiles/usdt-static.dir/usdt.cc.o [ 44%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/node.cc.o [ 44%] Linking CXX static library libusdt-static.a make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 44%] Built target usdt-static [ 44%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.cc.o make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target usdt_test_lib make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 44%] Building CXX object tests/cc/CMakeFiles/usdt_test_lib.dir/usdt_test_lib.cc.o [ 47%] Linking CXX shared library libusdt_test_lib.so make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 47%] Built target usdt_test_lib [ 47%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/printer.cc.o [ 50%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/type_check.cc.o [ 50%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.yy.cc.o [ 50%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/lexer.ll.cc.o /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/src/cc/frontends/b/lexer.ll.cc: In member function ‘virtual int ebpf::cc::Lexer::yylex()’: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/src/cc/frontends/b/lexer.ll.cc:764:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for ( yyl = 0; yyl < yyleng; ++yyl ) ~~~~^~~~~~~~ [ 52%] Linking CXX static library libb_frontend.a make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 52%] Built target b_frontend make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target bcc-shared make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target bcc-static make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 52%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/link_all.cc.o [ 52%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_common.cc.o [ 52%] 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 [ 58%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_btf.cc.o [ 58%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_btf.cc.o /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/fc25/src/cc/bcc_btf.cc:315:9: 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] ret = btf_ext__reloc_func_info(btf_, btf_ext_, fname, 0, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_libbpf_inc.h:9:0, from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_btf.cc:22: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/fc25/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/fc25/src/cc/bcc_libbpf_inc.h:9:0, from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_btf.cc:22: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/fc25/src/cc/bcc_btf.cc:322:9: 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] ret = btf_ext__reloc_line_info(btf_, btf_ext_, fname, 0, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_libbpf_inc.h:9:0, from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_btf.cc:22: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/fc25/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/fc25/src/cc/bcc_libbpf_inc.h:9:0, from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_btf.cc:22: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/fc25/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/fc25/src/cc/bcc_btf.cc:315:9: 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] ret = btf_ext__reloc_func_info(btf_, btf_ext_, fname, 0, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_libbpf_inc.h:9:0, from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_btf.cc:22: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/fc25/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/fc25/src/cc/bcc_libbpf_inc.h:9:0, from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_btf.cc:22: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/fc25/src/cc/bcc_btf.cc:322:9: 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] ret = btf_ext__reloc_line_info(btf_, btf_ext_, fname, 0, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_libbpf_inc.h:9:0, from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_btf.cc:22: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/fc25/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/fc25/src/cc/bcc_libbpf_inc.h:9:0, from /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/bcc_btf.cc:22: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/src/cc/libbpf/src/btf.h:93:5: note: declared here int btf_ext__reloc_line_info(const struct btf *btf, ^~~~~~~~~~~~~~~~~~~~~~~~ [ 58%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/exported_files.cc.o [ 58%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/exported_files.cc.o [ 58%] 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 [ 63%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/table_storage.cc.o [ 63%] 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 [ 69%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/json_map_decl_visitor.cc.o [ 69%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/json_map_decl_visitor.cc.o [ 69%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/common.cc.o [ 69%] 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 [ 77%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/usdt/usdt_args.cc.o [ 77%] Linking CXX shared library libbcc.so make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 77%] Built target bcc-shared make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target test_libbcc make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 80%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_libbcc.cc.o [ 80%] 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 [ 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 [ 83%] Linking CXX static library libbcc.a make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 83%] Built target bcc-static [ 83%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_c_api.cc.o [ 83%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_array_table.cc.o [ 83%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_bpf_table.cc.o [ 86%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_cg_storage.cc.o [ 86%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_hash_table.cc.o [ 86%] 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 [ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_queuestack_table.cc.o [ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_shared_table.cc.o make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' Scanning dependencies of target test_static make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make[2]: Entering directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 94%] Building C object tests/cc/CMakeFiles/test_static.dir/test_static.c.o [ 94%] Linking CXX executable test_static [ 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 make[2]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' [ 97%] Built target test_static [ 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/fc25/build' [100%] Built target test_libbcc make[1]: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build' make: Leaving directory '/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc' + ctest -V -D ExperimentalTest --no-compress-output UpdateCTestConfiguration from :/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/DartConfiguration.tcl Cannot find file: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/DartConfiguration.tcl Site: Build name: (empty) Create new tag: 20210906-0306 - Experimental UpdateCTestConfiguration from :/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/DartConfiguration.tcl Cannot find file: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/DartConfiguration.tcl Test project /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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/fc25/scripts/c-style-check.sh 1: Test timeout computed to be: 9.99988e+06 1: diff --git a/libbpf-tools/ksnoop.bpf.c b/libbpf-tools/ksnoop.bpf.c 1: index 13342e5..ac72a83 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 f6d4d8e..0435472 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 6c55b0e..64f77d4 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 1.40 sec test 2 Start 2: c_test_static 2: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "c_test_static" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc/test_static" 2: Test timeout computed to be: 9.99988e+06 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 -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -coverage-file /usr/src/kernels/4.13.16-100.fc25.x86_64/main.c -nostdsysteminc -nobuiltininc -resource-dir ../lib64/clang/3.9.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/fc25/build/tests/cc -D __BPF_TRACING__ -I arch/x86/include/ -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated -I include -I /lib/modules/4.13.16-100.fc25.x86_64/build/include -I arch/x86/include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated/uapi -I include/uapi -I /lib/modules/4.13.16-100.fc25.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.13.16-100.fc25.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.13.16-100.fc25.x86_64/source 2/47 Test #2: c_test_static .................... Passed 1.15 sec test 3 Start 3: test_libbcc 3: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "c_test_all" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc/test_libbcc" 3: Test timeout computed to be: 9.99988e+06 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/fc25/tests/cc/test_usdt_probes.cc:352 3: ............................................................................... 3: 3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/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 6627 for probe 3: on_event" 3: == 3: "" 3: 3: unshare: unrecognized option '--kill-child' 3: 3: Usage: 3: unshare [options] <program> [<argument>...] 3: 3: Run a program with some namespaces unshared from the parent. 3: 3: Options: 3: -m, --mount[=<file>] unshare mounts namespace 3: -u, --uts[=<file>] unshare UTS namespace (hostname etc) 3: -i, --ipc[=<file>] unshare System V IPC namespace 3: -n, --net[=<file>] unshare network namespace 3: -p, --pid[=<file>] unshare pid namespace 3: -U, --user[=<file>] unshare user namespace 3: -C, --cgroup[=<file>] unshare cgroup namespace 3: -f, --fork fork before launching <program> 3: --mount-proc[=<dir>] mount proc filesystem first (implies --mount) 3: -r, --map-root-user map current user to root (implies --user) 3: --propagation slave|shared|private|unchanged 3: modify mount propagation in mount namespace 3: -s, --setgroups allow|deny control the setgroups syscall in user namespaces 3: 3: -h, --help display this help and exit 3: -V, --version output version information and exit 3: 3: For more details see unshare(1). 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/fc25/tests/cc/test_usdt_probes.cc:352 3: ............................................................................... 3: 3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/cc/test_usdt_probes.cc:393: FAILED: 3: REQUIRE( res.msg() == "" ) 3: with expansion: 3: "Unable to load USDT ruby:gc__mark__begin from binary PID 32754 for probe 3: on_event" 3: == 3: "" 3: 3: =============================================================================== 3: test cases: 41 | 40 passed | 1 failed as expected 3: assertions: 665 | 663 passed | 2 failed as expected 3: 3/47 Test #3: test_libbcc ...................... Passed 14.55 sec test 4 Start 4: py_test_stat1_b 4: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_stat1_b" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_stat1.py" "test_stat1.b" "proto.b" 4: Test timeout computed to be: 9.99988e+06 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: udp-fragmentation-offload: off [requested on] 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 1ms 4: rtt min/avg/max/mdev = 0.005/0.007/0.118/0.011 ms, ipg/ewma 0.018/0.006 ms 4: . 4: ---------------------------------------------------------------------- 4: Ran 2 tests in 0.467s 4: 4: OK 4/47 Test #4: py_test_stat1_b .................. Passed 1.10 sec test 5 Start 5: py_test_bpf_log 5: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_bpf_prog" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_bpf_log.py" 5: Test timeout computed to be: 9.99988e+06 5/47 Test #5: py_test_bpf_log .................. Passed 0.93 sec test 6 Start 6: py_test_stat1_c 6: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_stat1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_stat1.py" "test_stat1.c" 6: Test timeout computed to be: 9.99988e+06 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: udp-fragmentation-offload: off [requested on] 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.004/0.006/0.114/0.011 ms, ipg/ewma 0.016/0.006 ms 6: . 6: ---------------------------------------------------------------------- 6: Ran 2 tests in 0.441s 6: 6: OK 6/47 Test #6: py_test_stat1_c .................. Passed 0.72 sec test 7 Start 7: py_test_xlate1_c 7: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_xlate1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_xlate1.py" "test_xlate1.c" 7: Test timeout computed to be: 9.99988e+06 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: udp-fragmentation-offload: 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.042 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.042/0.042/0.042/0.000 ms 7: . 7: ---------------------------------------------------------------------- 7: Ran 1 test in 0.425s 7: 7: OK 7/47 Test #7: py_test_xlate1_c ................. Passed 1.00 sec test 8 Start 8: py_test_call1 8: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_call1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_call1.py" "test_call1.c" 8: Test timeout computed to be: 9.99988e+06 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: udp-fragmentation-offload: off [requested on] 8: . 8: ---------------------------------------------------------------------- 8: Ran 1 test in 0.259s 8: 8: OK 8/47 Test #8: py_test_call1 .................... Passed 0.82 sec test 9 Start 9: py_test_trace1 9: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace1" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace1.py" "test_trace1.b" "kprobe.b" 9: Test timeout computed to be: 9.99988e+06 9: . 9: ---------------------------------------------------------------------- 9: Ran 1 test in 0.308s 9: 9: OK 9: ('fd 8:', 'stat1 1', 'stat2 1') 9: ('fd ffff970ad366a800:', 'stat1 2', 'stat2 0') 9: ('fd 9:', 'stat1 200', 'stat2 100') 9: ('fd 7:', 'stat1 0', 'stat2 1') 9/47 Test #9: py_test_trace1 ................... Passed 0.45 sec test 10 Start 10: py_test_trace2 10: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace2.py" 10: Test timeout computed to be: 9.99988e+06 10: . 10: ---------------------------------------------------------------------- 10: Ran 1 test in 3.511s 10: 10: OK 10: ('ptr ffff970ad6a20000:', 'stat1 (0 1)') 10: ('ptr ffff970ad42dcc80:', 'stat1 (0 21)') 10: ('ptr ffff970ad6a4a640:', 'stat1 (0 1)') 10: ('ptr ffff970ad6a1cc80:', 'stat1 (0 3)') 10: ('ptr ffff970ad42da640:', 'stat1 (0 5)') 10: ('ptr ffff970ad3174c80:', 'stat1 (0 1)') 10: ('ptr ffffffffa6e10480:', 'stat1 (0 43)') 10: ('ptr ffff970ad41f2640:', 'stat1 (0 10)') 10: ('ptr ffff970ab7064c80:', 'stat1 (0 1)') 10: ('ptr ffff970ad3878000:', 'stat1 (0 101)') 10: ('ptr ffff970ad6442640:', 'stat1 (0 2)') 10: ('ptr ffff970ad6a24c80:', 'stat1 (0 101)') 10/47 Test #10: py_test_trace2 ................... Passed 3.61 sec test 11 Start 11: py_test_trace3_c 11: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace3_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace3.py" "test_trace3.c" 11: Test timeout computed to be: 9.99988e+06 11: 1024+0 records in 11: 1024+0 records out 11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.00324179 s, 1.3 GB/s 11: 1024+0 records in 11: 1024+0 records out 11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.00381327 s, 1.1 GB/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 1') 11: ('latency 46:', 'count 1') 11: ('latency 47:', 'count 0') 11: ('latency 48:', 'count 2') 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 13') 11: ('latency 58:', 'count 2') 11: ('latency 59:', 'count 11') 11: ('latency 60:', 'count 3') 11: ('latency 61:', 'count 3') 11: ('latency 62:', 'count 11') 11: ('latency 63:', 'count 8') 11: ('latency 64:', 'count 3') 11: ('latency 65:', 'count 28') 11: ('latency 66:', 'count 31') 11: ('latency 67:', 'count 34') 11: ('latency 68:', 'count 50') 11: ('latency 69:', 'count 11') 11: ('latency 70:', 'count 35') 11: ('latency 71:', 'count 37') 11: ('latency 72:', 'count 20') 11: ('latency 73:', 'count 35') 11: ('latency 74:', 'count 12') 11: ('latency 75:', 'count 11') 11: ('latency 76:', 'count 10') 11: ('latency 77:', 'count 40') 11: ('latency 78:', 'count 21') 11: ('latency 79:', 'count 90') 11: ('latency 80:', 'count 13') 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: . 11: ---------------------------------------------------------------------- 11: Ran 1 test in 2.102s 11: 11: OK 11/47 Test #11: py_test_trace3_c ................. Passed 2.24 sec test 12 Start 12: py_test_trace4 12: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace4" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace4.py" 12: Test timeout computed to be: 9.99988e+06 12: .. 12: ---------------------------------------------------------------------- 12: Ran 2 tests in 1.336s 12: 12: OK 12/47 Test #12: py_test_trace4 ................... Passed 1.50 sec test 13 Start 13: py_test_trace_maxactive 13: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace_maxactive" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace_maxactive.py" 13: Test timeout computed to be: 9.99988e+06 13: . 13: ---------------------------------------------------------------------- 13: Ran 1 test in 0.845s 13: 13: OK 13/47 Test #13: py_test_trace_maxactive .......... Passed 0.97 sec test 14 Start 14: py_test_probe_count 14: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_probe_count" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_probe_count.py" 14: Test timeout computed to be: 9.99988e+06 14: ...cannot attach kprobe, probe entry may not exist 14: ... 14: ---------------------------------------------------------------------- 14: Ran 6 tests in 3.622s 14: 14: OK 14/47 Test #14: py_test_probe_count .............. Passed 3.69 sec test 15 Start 15: py_test_debuginfo 15: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_debuginfo" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_debuginfo.py" 15: Test timeout computed to be: 9.99988e+06 15: ...... 15: ---------------------------------------------------------------------- 15: Ran 6 tests in 0.533s 15: 15: OK 15/47 Test #15: py_test_debuginfo ................ Passed 0.62 sec test 16 Start 16: py_test_brb 16: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_brb_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_brb.py" "test_brb.c" 16: Test timeout computed to be: 9.99988e+06 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 [4E:AB:43:59:32:D8] 0.725ms 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 [E6:D2:78:C8:12:B3] 1.099ms 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.105 ms 16: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.085 ms 16: 16: --- 200.1.1.1 ping statistics --- 16: 2 packets transmitted, 2 received, 0% packet loss, time 1039ms 16: rtt min/avg/max/mdev = 0.085/0.095/0.105/0.010 ms 16: [ ID] Interval Transfer Bandwidth 16: [ 9] 0.0- 1.0 sec 2.47 GBytes 21.2 Gbits/sec 16: [ ID] Interval Transfer Bandwidth 16: [ 10] 0.0- 1.0 sec 2.47 GBytes 21.1 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 24562.58 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 27127.13 16: 16384 87380 16: . 16: ---------------------------------------------------------------------- 16: Ran 1 test in 7.217s 16: 16: OK 16/47 Test #16: py_test_brb ...................... Passed 7.43 sec test 17 Start 17: py_test_brb2 17: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_brb2_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_brb2.py" "test_brb2.c" 17: Test timeout computed to be: 9.99988e+06 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.311 ms 17: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.089 ms 17: 17: --- 200.1.1.1 ping statistics --- 17: 2 packets transmitted, 2 received, 0% packet loss, time 1001ms 17: rtt min/avg/max/mdev = 0.089/0.200/0.311/0.111 ms 17: [ ID] Interval Transfer Bandwidth 17: [ 9] 0.0- 1.0 sec 2.33 GBytes 20.0 Gbits/sec 17: [ ID] Interval Transfer Bandwidth 17: [ 10] 0.0- 1.0 sec 2.33 GBytes 19.9 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 23944.49 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 26297.00 17: 16384 87380 17: . 17: ---------------------------------------------------------------------- 17: Ran 1 test in 7.347s 17: 17: OK 17/47 Test #17: py_test_brb2 ..................... Passed 7.48 sec test 18 Start 18: py_test_clang 18: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_clang" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_clang.py" 18: Test timeout computed to be: 9.99988e+06 18: .............In file included from /virtual/main.c:3: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:3: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:3: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:3: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 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: ../virtual/main.c:6:12: error: cannot call non-static helper function 18: return bar(); 18: ^ 18: 1 error generated. 18: ..ss....In file included from /virtual/main.c:3: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: ...In file included from /virtual/main.c:2: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .........In file included from /virtual/main.c:2: 18: In file included from include/net/tcp.h:24: 18: In file included from include/linux/tcp.h:23: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:2: 18: In file included from include/net/tcp.h:24: 18: In file included from include/linux/tcp.h:23: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .......In file included from /virtual/main.c:2: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: ..In file included from /virtual/main.c:3: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: ...In file included from /virtual/main.c:3: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:3: 18: In file included from include/linux/tcp.h:23: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:2: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:2: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:2: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:2: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:2: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:2: 18: In file included from include/net/inet_sock.h:27: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 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: .In file included from /virtual/main.c:3: 18: In file included from include/linux/tcp.h:23: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:3: 18: In file included from include/linux/tcp.h:23: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:3: 18: In file included from include/linux/tcp.h:23: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: ...In file included from /virtual/main.c:2: 18: In file included from include/net/tcp.h:24: 18: In file included from include/linux/tcp.h:23: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: .In file included from /virtual/main.c:2: 18: In file included from include/net/tcp.h:24: 18: In file included from include/linux/tcp.h:23: 18: In file included from include/net/sock.h:58: 18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(pn->memcg, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: __mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 18: mod_memcg_state(page->mem_cgroup, idx, val); 18: ~~~~~~~~~~~~~~~ ^~~ 18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 18: count_memcg_events(page->mem_cgroup, idx, 1); 18: ~~~~~~~~~~~~~~~~~~ ^~~ 18: 5 warnings generated. 18: ........./virtual/main.c:1:30: error: expected expression 18: int failure(void *ctx) { if (); return 0; } 18: ^ 18: 1 error generated. 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: .... 18: ---------------------------------------------------------------------- 18: Ran 83 tests in 93.219s 18: 18: OK (skipped=2) 18: 0 18/47 Test #18: py_test_clang .................... Passed 93.50 sec test 19 Start 19: py_test_histogram 19: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_histogram" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_histogram.py" 19: Test timeout computed to be: 9.99988e+06 19: .... 19: ---------------------------------------------------------------------- 19: Ran 4 tests in 3.673s 19: 19: OK 19: 19: Bucket ptr = 'java' 19: value : count distribution 19: 0 -> 1 : 0 | | 19: 2 -> 3 : 52 |****************************************| 19: 19: Bucket ptr = 'python' 19: value : count distribution 19: 0 -> 1 : 0 | | 19: 2 -> 3 : 200 |****************************************| 19: 19: Bucket ptr = 'rcu_sched' 19: value : count distribution 19: 0 -> 1 : 0 | | 19: 2 -> 3 : 6 |****************************************| 19: 19: Bucket ptr = 'swapper/0' 19: value : count distribution 19: 0 -> 1 : 80 |****************************************| 19: 19: Bucket ptr = 'kworker/0:9' 19: value : count distribution 19: 0 -> 1 : 0 | | 19: 2 -> 3 : 2 |****************************************| 19: 19: Bucket ptr = 'kworker/1:6' 19: value : count distribution 19: 0 -> 1 : 0 | | 19: 2 -> 3 : 2 |****************************************| 19: 19: Bucket ptr = 'ctest' 19: value : count distribution 19: 0 -> 1 : 0 | | 19: 2 -> 3 : 20 |****************************************| 19: 19: Bucket ptr = 'swapper/1' 19: value : count distribution 19: 0 -> 1 : 202 |****************************************| 19/47 Test #19: py_test_histogram ................ Passed 3.75 sec test 20 Start 20: py_array 20: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_array" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_array.py" 20: Test timeout computed to be: 9.99988e+06 20: .... 20: ---------------------------------------------------------------------- 20: Ran 4 tests in 1.342s 20: 20: OK 20/47 Test #20: py_array ......................... Passed 1.42 sec test 21 Start 21: py_uprobes 21: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_uprobes" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_uprobes.py" 21: Test timeout computed to be: 9.99988e+06 21: .Python 2.7.13 21: .Arena 0: 21: system bytes = 24768512 21: in use bytes = 3044832 21: Total (incl. mmap): 21: system bytes = 25559040 21: in use bytes = 3835360 21: max mmap regions = 7 21: max mmap bytes = 9203712 21: . 21: ---------------------------------------------------------------------- 21: Ran 3 tests in 8.594s 21: 21: OK 21/47 Test #21: py_uprobes ....................... Passed 8.67 sec test 22 Start 22: py_uprobes_2 22: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_uprobes2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_uprobes2.py" 22: Test timeout computed to be: 9.99988e+06 22: . 22: ---------------------------------------------------------------------- 22: Ran 1 test in 0.253s 22: 22: OK 22/47 Test #22: py_uprobes_2 ..................... Passed 0.34 sec test 23 Start 23: py_test_stackid 23: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_stackid" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_stackid.py" 23: Test timeout computed to be: 9.99988e+06 23: s. 23: ---------------------------------------------------------------------- 23: Ran 2 tests in 0.306s 23: 23: OK (skipped=1) 23/47 Test #23: py_test_stackid .................. Passed 0.42 sec test 24 Start 24: py_test_tracepoint 24: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_tracepoint" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_tracepoint.py" 24: Test timeout computed to be: 9.99988e+06 24: .. 24: ---------------------------------------------------------------------- 24: Ran 2 tests in 2.440s 24: 24: OK 24/47 Test #24: py_test_tracepoint ............... Passed 2.54 sec test 25 Start 25: py_test_perf_event 25: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_perf_event" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_perf_event.py" 25: Test timeout computed to be: 9.99988e+06 25: perf_event_open: No such file or directory 25: s 25: ---------------------------------------------------------------------- 25: Ran 1 test in 0.298s 25: 25: OK (skipped=1) 25/47 Test #25: py_test_perf_event ............... Passed 0.42 sec test 26 Start 26: py_test_attach_perf_event 26: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_attach_perf_event" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_attach_perf_event.py" 26: Test timeout computed to be: 9.99988e+06 26: perf_event_open failed: No such file or directory 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/fc25/tests/python/utils.py", line 36, in wrapper 26: res = func(*args, **kwargs) 26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_attach_perf_event.py", line 62, in test_attach_raw_event_powerpc 26: exit() 26: File "/usr/lib64/python2.7/site.py", line 355, in __call__ 26: raise SystemExit(code) 26: SystemExit: None 26: " 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: "bpf_perf_event_data->addr requires kernel >= 4.17" 26: CRITICAL:root: Stacktrace: "Traceback (most recent call last): 26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/utils.py", line 36, in wrapper 26: res = func(*args, **kwargs) 26: File "/usr/lib64/python2.7/unittest/case.py", line 63, in skip_wrapper 26: raise SkipTest(reason) 26: SkipTest: bpf_perf_event_data->addr requires kernel >= 4.17 26: " 26: .s 26: ---------------------------------------------------------------------- 26: Ran 3 tests in 1.796s 26: 26: OK (skipped=1) 26: Failed to attach to a raw event. Please check the event attr used 26/47 Test #26: py_test_attach_perf_event ........ Passed 1.88 sec test 27 Start 27: py_test_utils 27: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_utils" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_utils.py" 27: Test timeout computed to be: 9.99988e+06 27: .. 27: ---------------------------------------------------------------------- 27: Ran 2 tests in 0.001s 27: 27: OK 27/47 Test #27: py_test_utils .................... Passed 0.07 sec test 28 Start 28: py_test_percpu 28: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_percpu" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_percpu.py" 28: Test timeout computed to be: 9.99988e+06 28: .... 28: ---------------------------------------------------------------------- 28: Ran 4 tests in 2.560s 28: 28: OK 28/47 Test #28: py_test_percpu ................... Passed 2.64 sec test 29 Start 29: py_test_dump_func 29: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_dump_func" "simple" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_dump_func.py" 29: Test timeout computed to be: 9.99988e+06 29: . 29: ---------------------------------------------------------------------- 29: Ran 1 test in 0.143s 29: 29: OK 29/47 Test #29: py_test_dump_func ................ Passed 0.21 sec test 30 Start 30: py_test_disassembler 30: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_disassembler" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_disassembler.py" 30: Test timeout computed to be: 9.99988e+06 30: .. 30: ---------------------------------------------------------------------- 30: Ran 2 tests in 0.216s 30: 30: OK 30/47 Test #30: py_test_disassembler ............. Passed 0.29 sec test 31 Start 31: py_test_tools_smoke 31: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_tools_smoke" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_tools_smoke.py" 31: Test timeout computed to be: 9.99988e+06 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: ..In file included from /virtual/main.c:17: 31: In file included from include/net/sock.h:58: 31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 31: count_memcg_events(page->mem_cgroup, idx, 1); 31: ~~~~~~~~~~~~~~~~~~ ^~~ 31: 5 warnings generated. 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: .......s.............'unknown': unknown terminal type. 31: ....../bin/sh: line 1: 7328 Killed timeout -s KILL -k 5s 5s ../../tools/killsnoop.py > /dev/null 31: .s..........libbpf: failed to find valid kernel BTF 31: libbpf: vmlinux BTF is not found 31: ......'unknown': unknown terminal type. 31: .In file included from /virtual/main.c:6: 31: In file included from include/net/sock.h:58: 31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 31: count_memcg_events(page->mem_cgroup, idx, 1); 31: ~~~~~~~~~~~~~~~~~~ ^~~ 31: 5 warnings generated. 31: ........In file included from /virtual/main.c:15: 31: In file included from include/net/sock.h:58: 31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 31: count_memcg_events(page->mem_cgroup, idx, 1); 31: ~~~~~~~~~~~~~~~~~~ ^~~ 31: 5 warnings generated. 31: .In file included from /virtual/main.c:15: 31: In file included from include/net/sock.h:58: 31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 31: count_memcg_events(page->mem_cgroup, idx, 1); 31: ~~~~~~~~~~~~~~~~~~ ^~~ 31: 5 warnings generated. 31: .In file included from /virtual/main.c:3: 31: In file included from include/net/sock.h:58: 31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 31: count_memcg_events(page->mem_cgroup, idx, 1); 31: ~~~~~~~~~~~~~~~~~~ ^~~ 31: 5 warnings generated. 31: .In file included from /virtual/main.c:5: 31: In file included from include/net/sock.h:58: 31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 31: count_memcg_events(page->mem_cgroup, idx, 1); 31: ~~~~~~~~~~~~~~~~~~ ^~~ 31: 5 warnings generated. 31: .In file included from /virtual/main.c:3: 31: In file included from include/linux/tcp.h:23: 31: In file included from include/net/sock.h:58: 31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 31: count_memcg_events(page->mem_cgroup, idx, 1); 31: ~~~~~~~~~~~~~~~~~~ ^~~ 31: 5 warnings generated. 31: .In file included from /virtual/main.c:3: 31: In file included from include/net/sock.h:58: 31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 31: count_memcg_events(page->mem_cgroup, idx, 1); 31: ~~~~~~~~~~~~~~~~~~ ^~~ 31: 5 warnings generated. 31: .In file included from /virtual/main.c:15: 31: In file included from include/net/sock.h:58: 31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(pn->memcg, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: __mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion] 31: mod_memcg_state(page->mem_cgroup, idx, val); 31: ~~~~~~~~~~~~~~~ ^~~ 31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion] 31: count_memcg_events(page->mem_cgroup, idx, 1); 31: ~~~~~~~~~~~~~~~~~~ ^~~ 31: 5 warnings generated. 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 268.496s 31: 31: OK (skipped=2) 31/47 Test #31: py_test_tools_smoke .............. Passed 268.55 sec test 32 Start 32: py_test_tools_memleak 32: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_tools_memleak" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_tools_memleak.py" 32: Test timeout computed to be: 9.99988e+06 32: cannot attach uprobe, Device or resource busy 32: .cannot attach uprobe, Device or resource busy 32: .cannot attach uprobe, Device or resource busy 32: .cannot attach uprobe, Device or resource busy 32: .cannot attach uprobe, Device or resource busy 32: .cannot attach uprobe, Device or resource busy 32: .cannot attach uprobe, Device or resource busy 32: .cannot attach uprobe, Device or resource busy 32: . 32: ---------------------------------------------------------------------- 32: Ran 8 tests in 21.988s 32: 32: OK 32/47 Test #32: py_test_tools_memleak ............ Passed 22.05 sec test 33 Start 33: py_test_usdt 33: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_usdt" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_usdt.py" 33: Test timeout computed to be: 9.99988e+06 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 -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -coverage-file /usr/src/kernels/4.13.16-100.fc25.x86_64/main.c -nostdsysteminc -nobuiltininc -resource-dir ../lib64/clang/3.9.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/fc25/tests/python -D __BPF_TRACING__ -I arch/x86/include/ -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated -I include -I /lib/modules/4.13.16-100.fc25.x86_64/build/include -I arch/x86/include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated/uapi -I include/uapi -I /lib/modules/4.13.16-100.fc25.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.13.16-100.fc25.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 0x400697ULL: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0; 33: case 0x4006a0ULL: *((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 0x400697ULL: { 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 0x4006a0ULL: { 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 0x400698ULL: { 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 0x4006b7ULL: *((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 0x400698ULL: { 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 0x4006b7ULL: *((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: . 33: ---------------------------------------------------------------------- 33: Ran 1 test in 3.053s 33: 33: OK 33: Running from kernel directory at: /lib/modules/4.13.16-100.fc25.x86_64/source 33: str4 33: str5 33: str7 33: str6 33/47 Test #33: py_test_usdt ..................... Passed 3.29 sec test 34 Start 34: py_test_usdt2 34: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_usdt2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_usdt2.py" 34: Test timeout computed to be: 9.99988e+06 34: . 34: ---------------------------------------------------------------------- 34: Ran 1 test in 3.050s 34: 34: OK 34/47 Test #34: py_test_usdt2 .................... Passed 3.20 sec test 35 Start 35: py_test_usdt3 35: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_usdt3" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_usdt3.py" 35: Test timeout computed to be: 9.99988e+06 35: test:probe [sema 0x0] 35: location #1 /proc/7563/root/tmp/tmp0oXfkS/liba.so 0x657 35: argument #1 4 signed bytes @ *(bp - 4) 35: location #2 /proc/7563/root/tmp/tmp0oXfkS/libb.so 0x657 35: argument #1 4 signed bytes @ *(bp - 4) 35: location #3 /proc/7563/root/tmp/tmp0oXfkS/a.out 0x40070d 35: argument #1 4 signed bytes @ *(bp - 4) 35: test_dup_name:probe [sema 0x0] 35: location #1 /proc/7563/root/tmp/tmp0oXfkS/liba.so 0x658 35: argument #1 4 signed bytes @ *(bp - 4) 35: location #2 /proc/7563/root/tmp/tmp0oXfkS/libb.so 0x658 35: argument #1 4 signed bytes @ *(bp - 4) 35: location #3 /proc/7563/root/tmp/tmp0oXfkS/a.out 0x40070e 35: argument #1 4 signed bytes @ *(bp - 4) 35: libc:setjmp [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x35651 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/7563/root/usr/lib64/libc-2.24.so 0x35733 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/7563/root/usr/lib64/libc-2.24.so 0x119fd3 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/7563/root/usr/lib64/libc-2.24.so 0x3574f 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/7563/root/usr/lib64/libc-2.24.so 0x119fef 35: argument #1 8 unsigned bytes @ di 35: argument #2 4 signed bytes @ ax 35: argument #3 8 unsigned bytes @ dx 35: libc:memory_heap_new [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x7fde8 35: argument #1 8 unsigned bytes @ bx 35: argument #2 8 unsigned bytes @ bp 35: libc:memory_arena_reuse_free_list [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8013c 35: argument #1 8 unsigned bytes @ dx 35: libc:memory_sbrk_less [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8033e 35: argument #1 8 unsigned bytes @ ax 35: argument #2 8 signed bytes @ r12 35: libc:memory_arena_reuse_wait [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8042c 35: argument #1 8 unsigned bytes @ r8 35: argument #2 8 unsigned bytes @ r8 35: argument #3 8 unsigned bytes @ bx 35: libc:memory_arena_reuse [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8055c 35: argument #1 8 unsigned bytes @ dx 35: argument #2 8 unsigned bytes @ bx 35: libc:memory_arena_new [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x807d8 35: argument #1 8 unsigned bytes @ dx 35: argument #2 8 unsigned bytes @ bp 35: libc:memory_arena_retry [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x809d9 35: argument #1 8 unsigned bytes @ si 35: argument #2 8 unsigned bytes @ di 35: libc:memory_heap_free [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8272c 35: argument #1 8 unsigned bytes @ di 35: argument #2 8 unsigned bytes @ ax 35: libc:memory_heap_less [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x82902 35: argument #1 8 unsigned bytes @ r15 35: argument #2 8 unsigned bytes @ r10 35: libc:memory_heap_more [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x834c5 35: argument #1 8 unsigned bytes @ r8 35: argument #2 8 unsigned bytes @ cx 35: libc:memory_sbrk_more [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x837a7 35: argument #1 8 unsigned bytes @ ax 35: argument #2 8 signed bytes @ dx 35: libc:memory_malloc_retry [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x85fb8 35: argument #1 8 unsigned bytes @ bp 35: location #2 /proc/7563/root/usr/lib64/libc-2.24.so 0x87748 35: argument #1 8 unsigned bytes @ bp 35: libc:memory_mallopt_free_dyn_thresholds [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x862e1 35: argument #1 8 unsigned bytes @ ax 35: argument #2 8 unsigned bytes @ cx 35: libc:memory_realloc_retry [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x86740 35: argument #1 8 unsigned bytes @ r12 35: argument #2 8 unsigned bytes @ bp 35: location #2 /proc/7563/root/usr/lib64/libc-2.24.so 0x87ae0 35: argument #1 8 unsigned bytes @ r12 35: argument #2 8 unsigned bytes @ bp 35: libc:memory_memalign_retry [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x869e8 35: argument #1 8 unsigned bytes @ r12 35: argument #2 8 unsigned bytes @ bx 35: location #2 /proc/7563/root/usr/lib64/libc-2.24.so 0x87da8 35: argument #1 8 unsigned bytes @ r12 35: argument #2 8 unsigned bytes @ bx 35: location #3 /proc/7563/root/usr/lib64/libc-2.24.so 0x88060 35: argument #1 8 unsigned bytes @ r12 35: argument #2 8 unsigned bytes @ bx 35: location #4 /proc/7563/root/usr/lib64/libc-2.24.so 0x88330 35: argument #1 8 unsigned bytes @ r12 35: argument #2 8 unsigned bytes @ bx 35: location #5 /proc/7563/root/usr/lib64/libc-2.24.so 0x890c8 35: argument #1 8 unsigned bytes @ bx 35: argument #2 8 unsigned bytes @ r12 35: libc:memory_calloc_retry [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x86cf0 35: argument #1 8 unsigned bytes @ r12 35: libc:memory_mallopt [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x870a4 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/7563/root/usr/lib64/libc-2.24.so 0x870d2 35: argument #1 4 signed bytes @ bx 35: argument #2 8 unsigned bytes @ *(&global_max_fast + 0) 35: libc:memory_mallopt_arena_max [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x87100 35: argument #1 4 signed bytes @ bx 35: argument #2 8 unsigned bytes @ *(&mp_ + 32) 35: libc:memory_mallopt_arena_test [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x87159 35: argument #1 4 signed bytes @ bx 35: argument #2 8 unsigned bytes @ *(&mp_ + 24) 35: libc:memory_mallopt_mmap_max [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x87168 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_mmap_threshold [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8718a 35: argument #1 4 signed bytes @ bx 35: argument #2 8 unsigned bytes @ *(&mp_ + 16) 35: argument #3 4 signed bytes @ *(&mp_ + 52) 35: libc:memory_mallopt_top_pad [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x871b0 35: argument #1 4 signed bytes @ bx 35: argument #2 8 unsigned bytes @ *(&mp_ + 8) 35: argument #3 4 signed bytes @ *(&mp_ + 52) 35: libc:memory_mallopt_trim_threshold [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x871d0 35: argument #1 4 signed bytes @ bx 35: argument #2 8 unsigned bytes @ *(&mp_ + 0) 35: argument #3 4 signed bytes @ *(&mp_ + 52) 35: libc:memory_mallopt_perturb [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x871f0 35: argument #1 4 signed bytes @ bx 35: argument #2 4 signed bytes @ *(&perturb_byte + 0) 35: libc:memory_mallopt_check_action [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x87208 35: argument #1 4 signed bytes @ bx 35: argument #2 4 signed bytes @ *(&check_action + 0) 35: libc:lll_lock_wait_private [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x115e44 35: argument #1 8 unsigned bytes @ di 35: rtld:init_start [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x38b7 35: argument #1 4 signed bytes @ 0 35: argument #2 8 unsigned bytes @ bx 35: rtld:init_complete [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x40e9 35: argument #1 4 signed bytes @ 0 35: argument #2 8 unsigned bytes @ bx 35: rtld:map_failed [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x5836 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/7563/root/usr/lib64/ld-2.24.so 0x67aa 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/7563/root/usr/lib64/ld-2.24.so 0x15c67 35: argument #1 8 signed bytes @ *(r15 + 40) 35: argument #2 8 unsigned bytes @ bx 35: argument #3 8 unsigned bytes @ *(bp - 104) 35: rtld:reloc_complete [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x15e31 35: argument #1 8 signed bytes @ *(ax + 40) 35: argument #2 8 unsigned bytes @ *(bp - 120) 35: argument #3 8 unsigned bytes @ *(bp - 104) 35: rtld:reloc_start [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x15fe6 35: argument #1 8 signed bytes @ *(cx + 40) 35: argument #2 8 unsigned bytes @ *(bp - 120) 35: rtld:unmap_start [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x16c2a 35: argument #1 8 signed bytes @ r15 35: argument #2 8 unsigned bytes @ r14 35: rtld:unmap_complete [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x16eb1 35: argument #1 8 signed bytes @ *(bp - 112) 35: argument #2 8 unsigned bytes @ bx 35: rtld:setjmp [sema 0x0] 35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x1be6d 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/7563/root/usr/lib64/ld-2.24.so 0x1bead 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/7563/root/usr/lib64/ld-2.24.so 0x1bec9 35: argument #1 8 unsigned bytes @ di 35: argument #2 4 signed bytes @ ax 35: argument #3 8 unsigned bytes @ dx 35: . 35: ---------------------------------------------------------------------- 35: Ran 1 test in 1.144s 35: 35: OK 35: temp directory: /tmp/tmp0oXfkS 35/47 Test #35: py_test_usdt3 .................... Passed 1.28 sec test 36 Start 36: py_test_license 36: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_license" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_license.py" 36: Test timeout computed to be: 9.99988e+06 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: 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: x.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: 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: 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: x.. 36: ---------------------------------------------------------------------- 36: Ran 10 tests in 2.580s 36: 36: OK (expected failures=5) 36/47 Test #36: py_test_license .................. Passed 2.65 sec test 37 Start 37: py_test_free_bcc_memory 37: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_free_bcc_memory" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_free_bcc_memory.py" 37: Test timeout computed to be: 9.99988e+06 37: . 37: ---------------------------------------------------------------------- 37: Ran 1 test in 0.233s 37: 37: OK 37: Before freeing llvm memory: RssFile: 61220 kB 37: After freeing llvm memory: RssFile: 45476 kB 37/47 Test #37: py_test_free_bcc_memory .......... Passed 0.32 sec test 38 Start 38: py_test_rlimit 38: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_rlimit" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_rlimit.py" 38: Test timeout computed to be: 9.99988e+06 38: could not open bpf map: unused, error: Operation not permitted 38: . 38: ---------------------------------------------------------------------- 38: Ran 1 test in 0.422s 38: 38: OK 38/47 Test #38: py_test_rlimit ................... Passed 0.49 sec test 39 Start 39: py_test_lpm_trie 39: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_lpm_trie" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_lpm_trie.py" 39: Test timeout computed to be: 9.99988e+06 39: .. 39: ---------------------------------------------------------------------- 39: Ran 2 tests in 0.426s 39: 39: OK 39/47 Test #39: py_test_lpm_trie ................. Passed 0.52 sec test 40 Start 40: py_ringbuf 40: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_ringbuf" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_ringbuf.py" 40: Test timeout computed to be: 9.99988e+06 40: ssss 40: ---------------------------------------------------------------------- 40: Ran 4 tests in 0.000s 40: 40: OK (skipped=4) 40/47 Test #40: py_ringbuf ....................... Passed 0.09 sec test 41 Start 41: py_queuestack 41: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_queuestack" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_queuestack.py" 41: Test timeout computed to be: 9.99988e+06 41: ss 41: ---------------------------------------------------------------------- 41: Ran 2 tests in 0.000s 41: 41: OK (skipped=2) 41/47 Test #41: py_queuestack .................... Passed 0.08 sec test 42 Start 42: py_test_map_batch_ops 42: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_map_batch_ops" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_map_batch_ops.py" 42: Test timeout computed to be: 9.99988e+06 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.08 sec test 43 Start 43: py_test_map_in_map 43: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_map_in_map" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_map_in_map.py" 43: Test timeout computed to be: 9.99988e+06 43: ... 43: ---------------------------------------------------------------------- 43: Ran 3 tests in 0.813s 43: 43: OK 43/47 Test #43: py_test_map_in_map ............... Passed 0.90 sec test 44 Start 44: lua_test_clang 44: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "lua_test_clang" "sudo" "/usr/bin/luajit" "test_clang.lua" 44: Test timeout computed to be: 9.99988e+06 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 15.500 seconds, 20 successes, 0 failures 44: OK 44/47 Test #44: lua_test_clang ................... Passed 15.72 sec test 45 Start 45: lua_test_uprobes 45: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "lua_test_uprobes" "sudo" "/usr/bin/luajit" "test_uprobes.lua" 45: Test timeout computed to be: 9.99988e+06 45: Python 2.7.13 45: Arena 0: 45: system bytes = 21630976 45: in use bytes = 1134208 45: Total (incl. mmap): 45: system bytes = 21630976 45: in use bytes = 1134208 45: max mmap regions = 6 45: max mmap bytes = 8413184 45: .. 45: Ran 2 tests in 0.468 seconds, 2 successes, 0 failures 45: OK 45/47 Test #45: lua_test_uprobes ................. Passed 0.56 sec test 46 Start 46: lua_test_dump 46: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "lua_test_dump" "sudo" "/usr/bin/luajit" "test_dump.lua" 46: Test timeout computed to be: 9.99988e+06 46: . 46: Ran 1 tests in 0.204 seconds, 1 successes, 0 failures 46: OK 46/47 Test #46: lua_test_dump .................... Passed 0.24 sec test 47 Start 47: lua_test_standalone 47: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/lua/test_standalone.sh 47: Test timeout computed to be: 9.99988e+06 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) = 485.88 sec ++ head -n 1 Testing/TAG + cp Testing/20210906-0306/Test.xml ./CTestResults.xml Taking single-use agent fedora25-slave-7b6 offline. Finished: SUCCESS