Console Output
Skipping 405 KB..
Full LogE: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/tplist #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/trace #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/ttysnoop #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/vfscount #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/vfsstat #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/virtiostat #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/wakeuptime #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/xfsdist #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/xfsslower #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/zfsdist #!/usr/bin/python
E: bcc-tools: python-script-but-no-python-dep usr/share/bcc/tools/zfsslower #!/usr/bin/python
E: libbcc-examples: extended-description-is-empty
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/hello_world.py #!/usr/bin/python
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/bashreadline.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/kprobe-latency.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/kprobe-write.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/memleak.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/offcputime.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/sock-parse-dns.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/sock-parse-http.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/sock-proto.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/sock-protolen.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/strlen_count.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/task_switch.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/tracepoint-offcputime.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/uprobe-readline-perf.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/uprobe-readline.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/uprobe-tailkt.lua #!bcc-lua
W: libbcc-examples: unusual-interpreter usr/share/bcc/examples/lua/usdt_ruby.lua #!bcc-lua
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/distributed_bridge/main.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/distributed_bridge/tunnel.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/distributed_bridge/tunnel_mesh.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/http_filter/http-parse-complete.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/http_filter/http-parse-simple.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/neighbor_sharing/tc_neighbor_sharing.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/simple_tc.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/tc_perf_event.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/tunnel_monitor/main.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/tunnel_monitor/monitor.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/vlan_learning/vlan_learning.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/xdp/xdp_drop_count.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/xdp/xdp_macswap_count.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/xdp/xdp_redirect_cpu.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/networking/xdp/xdp_redirect_map.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/biolatpcts.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/bitehist.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/dddos.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/disksnoop.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/hello_fields.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/hello_perf_output.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/hello_perf_output_using_ns.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/kvm_hypercall.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/mallocstacks.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/mysqld_query.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/nflatency.py #!/usr/bin/python3
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/nodejs_http_server.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/stack_buildid_example.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/stacksnoop.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/strlen_count.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/strlen_hist.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/strlen_hist_ifunc.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/strlen_snoop.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/sync_timing.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/task_switch.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/tcpv4connect.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/trace_fields.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/trace_perf_output.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/urandomread-explicit.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/urandomread.py #!/usr/bin/python
E: libbcc-examples: python-script-but-no-python-dep usr/share/bcc/examples/tracing/vfsreadlat.py #!/usr/bin/python
Finished running lintian.
+ popd
~/jenkins/workspace/bcc-pr/label/ubuntu1804
+ cp /tmp/debuild.SZpg13/bcc-lua_0.18.0-48.git.6da92dd4_all.deb /tmp/debuild.SZpg13/bcc-tools_0.18.0-48.git.6da92dd4_all.deb /tmp/debuild.SZpg13/libbcc-examples_0.18.0-48.git.6da92dd4_amd64.deb /tmp/debuild.SZpg13/libbcc_0.18.0-48.git.6da92dd4_amd64.deb /tmp/debuild.SZpg13/python-bcc_0.18.0-48.git.6da92dd4_all.deb /tmp/debuild.SZpg13/python3-bcc_0.18.0-48.git.6da92dd4_all.deb .
+ cleanup
+ [[ -d /tmp/debuild.SZpg13 ]]
+ rm -rf /tmp/debuild.SZpg13
+ sudo dpkg -i bcc-lua_0.18.0-48.git.6da92dd4_all.deb bcc-tools_0.18.0-48.git.6da92dd4_all.deb libbcc-examples_0.18.0-48.git.6da92dd4_amd64.deb libbcc_0.18.0-48.git.6da92dd4_amd64.deb python-bcc_0.18.0-48.git.6da92dd4_all.deb python3-bcc_0.18.0-48.git.6da92dd4_all.deb
Selecting previously unselected package bcc-lua.
(Reading database ... 79280 files and directories currently installed.)
Preparing to unpack bcc-lua_0.18.0-48.git.6da92dd4_all.deb ...
Unpacking bcc-lua (0.18.0-48.git.6da92dd4) ...
Selecting previously unselected package bcc-tools.
Preparing to unpack bcc-tools_0.18.0-48.git.6da92dd4_all.deb ...
Unpacking bcc-tools (0.18.0-48.git.6da92dd4) ...
Selecting previously unselected package libbcc-examples.
Preparing to unpack libbcc-examples_0.18.0-48.git.6da92dd4_amd64.deb ...
Unpacking libbcc-examples (0.18.0-48.git.6da92dd4) ...
Selecting previously unselected package libbcc.
Preparing to unpack libbcc_0.18.0-48.git.6da92dd4_amd64.deb ...
Unpacking libbcc (0.18.0-48.git.6da92dd4) ...
Selecting previously unselected package python-bcc.
Preparing to unpack python-bcc_0.18.0-48.git.6da92dd4_all.deb ...
Unpacking python-bcc (0.18.0-48.git.6da92dd4) ...
Selecting previously unselected package python3-bcc.
Preparing to unpack python3-bcc_0.18.0-48.git.6da92dd4_all.deb ...
Unpacking python3-bcc (0.18.0-48.git.6da92dd4) ...
Setting up libbcc (0.18.0-48.git.6da92dd4) ...
Setting up python-bcc (0.18.0-48.git.6da92dd4) ...
Setting up python3-bcc (0.18.0-48.git.6da92dd4) ...
Setting up bcc-lua (0.18.0-48.git.6da92dd4) ...
Setting up bcc-tools (0.18.0-48.git.6da92dd4) ...
Setting up libbcc-examples (0.18.0-48.git.6da92dd4) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
+ mkdir upload
+ mv bcc-lua_0.18.0-48.git.6da92dd4_all.deb bcc-tools_0.18.0-48.git.6da92dd4_all.deb libbcc-examples_0.18.0-48.git.6da92dd4_amd64.deb libbcc_0.18.0-48.git.6da92dd4_amd64.deb python-bcc_0.18.0-48.git.6da92dd4_all.deb python3-bcc_0.18.0-48.git.6da92dd4_all.deb upload
[ubuntu1804] $ /bin/sh -xe /tmp/jenkins3155233016561810643.sh
+ mkdir build
+ cd build
+ [[ ubuntu1804 ubuntu1804-slave-e1b = *fc28* ]]
/tmp/jenkins3155233016561810643.sh: 4: /tmp/jenkins3155233016561810643.sh: [[: not found
+ cmake ..
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- 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.18.0
-- Git HEAD is 6da92dd4ddc3b30b9f10d8200614c8d95df38b73
-- Revision is 0.18.0-6da92dd4
-- Performing Test HAVE_NO_PIE_FLAG
-- Performing Test HAVE_NO_PIE_FLAG - Success
-- Performing Test HAVE_REALLOCARRAY_SUPPORT
-- Performing Test HAVE_REALLOCARRAY_SUPPORT - Success
-- Found LLVM: /usr/lib/llvm-6.0/include 6.0.0
-- Found BISON: /usr/bin/bison (found version "3.0.4")
-- Found FLEX: /usr/bin/flex (found version "2.6.4")
-- Found LibElf: /usr/lib/x86_64-linux-gnu/libelf.so
-- Performing Test ELF_GETSHDRSTRNDX
-- Performing Test ELF_GETSHDRSTRNDX - Success
-- Using static-libstdc++
-- Found LuaJIT: /usr/lib/x86_64-linux-gnu/libluajit-5.1.a;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build
+ make -j2 -C tests/cc
make: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/cc'
make[1]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
Scanning dependencies of target usdt_test_lib
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 0%] Building CXX object tests/cc/CMakeFiles/usdt_test_lib.dir/usdt_test_lib.cc.o
[ 2%] Linking CXX shared library libusdt_test_lib.so
Scanning dependencies of target clang_frontend
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 2%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/loader.cc.o
[ 2%] Built target usdt_test_lib
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
Scanning dependencies of target bpf-static
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 2%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf.c.o
In file included from /usr/lib/llvm-6.0/include/clang/AST/RecursiveASTVisitor.h:24:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/b_frontend_action.h:23,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/loader.cc:57:
/usr/lib/llvm-6.0/include/clang/AST/DeclOpenMP.h:97:1: warning: multi-line comment [-Wcomment]
/// #pragma omp declare reduction (foo : int,float : omp_out += omp_in) \
^
[ 5%] Building C object src/cc/CMakeFiles/bpf-static.dir/perf_reader.c.o
[ 5%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/bpf.c.o
[ 5%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/bpf_prog_linfo.c.o
[ 8%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/btf.c.o
[ 8%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/btf_dump.c.o
[ 8%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/hashmap.c.o
[ 11%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf.c.o
[ 11%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf_errno.c.o
[ 11%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/libbpf_probes.c.o
[ 14%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/netlink.c.o
[ 14%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/nlattr.c.o
[ 14%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/ringbuf.c.o
[ 17%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/str_error.c.o
[ 17%] Building C object src/cc/CMakeFiles/bpf-static.dir/libbpf/src/xsk.c.o
[ 17%] Linking C static library libbcc_bpf.a
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 17%] Built target bpf-static
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
Scanning dependencies of target bcc-loader-static
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 17%] Building CXX object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_syms.cc.o
[ 17%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_elf.c.o
[ 20%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_perf_map.c.o
[ 20%] Building C object src/cc/CMakeFiles/bcc-loader-static.dir/bcc_proc.c.o
[ 20%] Building CXX object src/cc/CMakeFiles/bcc-loader-static.dir/common.cc.o
[ 22%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/b_frontend_action.cc.o
In file included from /usr/lib/llvm-6.0/include/clang/AST/RecursiveASTVisitor.h:24:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/b_frontend_action.h:23,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/b_frontend_action.cc:31:
/usr/lib/llvm-6.0/include/clang/AST/DeclOpenMP.h:97:1: warning: multi-line comment [-Wcomment]
/// #pragma omp declare reduction (foo : int,float : omp_out += omp_in) \
^
[ 25%] Linking CXX static library libbcc-loader-static.a
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 25%] Built target bcc-loader-static
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
Scanning dependencies of target api-static
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 25%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPF.cc.o
In file included from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/api/BPF.cc:32:0:
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_exception.h: In member function ‘ebpf::StatusTuple ebpf::BPF::detach_raw_tracepoint_event(const string&, ebpf::open_probe_t&)’:
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_exception.h:24:7: warning: ‘__stp.ebpf::StatusTuple::code_’ may be used uninitialized in this function [-Wmaybe-uninitialized]
class StatusTuple {
^~~~~~~~~~~
[ 28%] Building CXX object src/cc/api/CMakeFiles/api-static.dir/BPFTable.cc.o
[ 28%] Linking CXX static library libapi-static.a
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 28%] Built target api-static
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
Scanning dependencies of target usdt-static
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 28%] Building CXX object src/cc/usdt/CMakeFiles/usdt-static.dir/usdt_args.cc.o
[ 28%] Building CXX object src/cc/usdt/CMakeFiles/usdt-static.dir/usdt.cc.o
[ 31%] Linking CXX static library libusdt-static.a
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 31%] Built target usdt-static
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 34%] [FLEX][Lexer] Building scanner with flex 2.6.4
lexer.ll:110: warning, -s option given but default rule can be matched
[ 34%] [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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 34%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/loader.cc.o
[ 34%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/codegen_llvm.cc.o
[ 37%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/node.cc.o
[ 37%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.cc.o
[ 37%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/printer.cc.o
[ 40%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/type_check.cc.o
[ 40%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/parser.yy.cc.o
[ 40%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/lexer.ll.cc.o
[ 40%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/tp_frontend_action.cc.o
In file included from /usr/lib/llvm-6.0/include/clang/AST/RecursiveASTVisitor.h:24:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/tp_frontend_action.h:23,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/tp_frontend_action.cc:32:
/usr/lib/llvm-6.0/include/clang/AST/DeclOpenMP.h:97:1: warning: multi-line comment [-Wcomment]
/// #pragma omp declare reduction (foo : int,float : omp_out += omp_in) \
^
[ 42%] Linking CXX static library libb_frontend.a
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 42%] Built target b_frontend
[ 45%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/kbuild_helper.cc.o
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/kbuild_helper.cc:80:3: warning: multi-line comment [-Wcomment]
// USERINCLUDE := \
^
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/kbuild_helper.cc:89:3: warning: multi-line comment [-Wcomment]
// LINUXINCLUDE := \
^
[ 45%] Building CXX object src/cc/frontends/clang/CMakeFiles/clang_frontend.dir/__/__/common.cc.o
[ 45%] Linking CXX static library libclang_frontend.a
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 45%] Built target clang_frontend
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
Scanning dependencies of target bcc-shared
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
Scanning dependencies of target bcc-static
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 45%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_common.cc.o
[ 45%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/link_all.cc.o
[ 48%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_common.cc.o
[ 51%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpf_module.cc.o
[ 51%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpf_module.cc.o
In file included from /usr/lib/llvm-6.0/include/clang/AST/RecursiveASTVisitor.h:24:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/b_frontend_action.h:23,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bpf_module.cc:43:
/usr/lib/llvm-6.0/include/clang/AST/DeclOpenMP.h:97:1: warning: multi-line comment [-Wcomment]
/// #pragma omp declare reduction (foo : int,float : omp_out += omp_in) \
^
In file included from /usr/lib/llvm-6.0/include/clang/AST/RecursiveASTVisitor.h:24:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/frontends/clang/b_frontend_action.h:23,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bpf_module.cc:43:
/usr/lib/llvm-6.0/include/clang/AST/DeclOpenMP.h:97:1: warning: multi-line comment [-Wcomment]
/// #pragma omp declare reduction (foo : int,float : omp_out += omp_in) \
^
[ 51%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_btf.cc.o
[ 51%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_btf.cc.o
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_libbpf_inc.h:9:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_btf.cc:22:
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/libbpf/src/btf.h:80:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_libbpf_inc.h:9:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_btf.cc:22:
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/libbpf/src/btf.h:85:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_libbpf_inc.h:9:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_btf.cc:22:
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/libbpf/src/btf.h:80:5: note: declared here
int btf_ext__reloc_func_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_libbpf_inc.h:9:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/bcc_btf.cc:22:
/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/libbpf/src/btf.h:85:5: note: declared here
int btf_ext__reloc_line_info(const struct btf *btf,
^~~~~~~~~~~~~~~~~~~~~~~~
[ 51%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/exported_files.cc.o
[ 54%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/exported_files.cc.o
[ 57%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_debug.cc.o
[ 57%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_debug.cc.o
[ 57%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpf_module_rw_engine.cc.o
[ 57%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpf_module_rw_engine.cc.o
[ 57%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/table_storage.cc.o
[ 60%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/table_storage.cc.o
[ 62%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/shared_table.cc.o
[ 62%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/shared_table.cc.o
[ 62%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bpffs_table.cc.o
[ 65%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bpffs_table.cc.o
[ 65%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/json_map_decl_visitor.cc.o
In file included from /usr/lib/llvm-6.0/include/clang/AST/RecursiveASTVisitor.h:24:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/json_map_decl_visitor.cc:22:
/usr/lib/llvm-6.0/include/clang/AST/DeclOpenMP.h:97:1: warning: multi-line comment [-Wcomment]
/// #pragma omp declare reduction (foo : int,float : omp_out += omp_in) \
^
[ 65%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/json_map_decl_visitor.cc.o
In file included from /usr/lib/llvm-6.0/include/clang/AST/RecursiveASTVisitor.h:24:0,
from /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/src/cc/json_map_decl_visitor.cc:22:
/usr/lib/llvm-6.0/include/clang/AST/DeclOpenMP.h:97:1: warning: multi-line comment [-Wcomment]
/// #pragma omp declare reduction (foo : int,float : omp_out += omp_in) \
^
[ 68%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/common.cc.o
[ 68%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/bcc_syms.cc.o
[ 68%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/usdt/usdt.cc.o
[ 71%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_elf.c.o
[ 71%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_perf_map.c.o
[ 71%] Building C object src/cc/CMakeFiles/bcc-shared.dir/bcc_proc.c.o
[ 71%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/usdt/usdt_args.cc.o
[ 74%] Building CXX object src/cc/CMakeFiles/bcc-shared.dir/common.cc.o
[ 74%] Linking CXX shared library libbcc.so
[ 77%] Building CXX object src/cc/CMakeFiles/bcc-static.dir/bcc_syms.cc.o
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 77%] Built target bcc-shared
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
Scanning dependencies of target test_libbcc
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 77%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_libbcc.cc.o
[ 77%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_elf.c.o
[ 77%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_perf_map.c.o
[ 80%] Building C object src/cc/CMakeFiles/bcc-static.dir/bcc_proc.c.o
[ 80%] Linking CXX static library libbcc.a
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 80%] Built target bcc-static
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
Scanning dependencies of target test_static
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make[2]: Entering directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 80%] Building C object tests/cc/CMakeFiles/test_static.dir/test_static.c.o
[ 82%] Linking CXX executable test_static
make[2]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[ 82%] Built target test_static
[ 82%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_c_api.cc.o
[ 85%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_array_table.cc.o
[ 85%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_bpf_table.cc.o
[ 85%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_cg_storage.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_hash_table.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_map_in_map.cc.o
[ 88%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_perf_event.cc.o
[ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_pinned_table.cc.o
[ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_prog_table.cc.o
[ 91%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_queuestack_table.cc.o
[ 94%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_shared_table.cc.o
[ 94%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_sk_storage.cc.o
[ 94%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_sock_table.cc.o
[ 97%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_usdt_args.cc.o
[ 97%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_usdt_probes.cc.o
[ 97%] 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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
[100%] Built target test_libbcc
make[1]: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build'
make: Leaving directory '/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/cc'
+ ctest -V -D ExperimentalTest --no-compress-output
UpdateCTestConfiguration from :/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/DartConfiguration.tcl
Cannot find file: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/DartConfiguration.tcl
Site:
Build name: (empty)
Create new tag: 20210305-2237 - Experimental
UpdateCTestConfiguration from :/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/DartConfiguration.tcl
Cannot find file: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/DartConfiguration.tcl
Test project /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/scripts/c-style-check.sh
1: Test timeout computed to be: 9.99988e+06
1: diff --git a/libbpf-tools/funclatency.bpf.c b/libbpf-tools/funclatency.bpf.c
1: index c2f9fdd2..a60a17b5 100644
1: --- a/libbpf-tools/funclatency.bpf.c
1: +++ b/libbpf-tools/funclatency.bpf.c
1: @@ -1,71 +1,69 @@
1: // SPDX-License-Identifier: GPL-2.0
1: /* Copyright (c) 2021 Google LLC. */
1: -#include "vmlinux.h"
1: #include <bpf/bpf_core_read.h>
1: #include <bpf/bpf_helpers.h>
1: #include <bpf/bpf_tracing.h>
1: -#include "funclatency.h"
1: #include "bits.bpf.h"
1: +#include "funclatency.h"
1: +#include "vmlinux.h"
1:
1: const volatile pid_t targ_tgid;
1: const volatile int units;
1:
1: /* key: pid. value: start time */
1: struct {
1: - __uint(type, BPF_MAP_TYPE_HASH);
1: - __uint(max_entries, MAX_PIDS);
1: - __type(key, u32);
1: - __type(value, u64);
1: + __uint(type, BPF_MAP_TYPE_HASH);
1: + __uint(max_entries, MAX_PIDS);
1: + __type(key, u32);
1: + __type(value, u64);
1: } starts SEC(".maps");
1:
1: __u32 hist[MAX_SLOTS];
1:
1: SEC("kprobe/dummy_kprobe")
1: -int BPF_KPROBE(dummy_kprobe)
1: -{
1: - u64 id = bpf_get_current_pid_tgid();
1: - u32 tgid = id >> 32;
1: - u32 pid = id;
1: - u64 nsec;
1: +int BPF_KPROBE(dummy_kprobe) {
1: + u64 id = bpf_get_current_pid_tgid();
1: + u32 tgid = id >> 32;
1: + u32 pid = id;
1: + u64 nsec;
1:
1: - if (targ_tgid && targ_tgid != tgid)
1: - return 0;
1: - nsec = bpf_ktime_get_ns();
1: - bpf_map_update_elem(&starts, &pid, &nsec, BPF_ANY);
1: + if (targ_tgid && targ_tgid != tgid)
1: + return 0;
1: + nsec = bpf_ktime_get_ns();
1: + bpf_map_update_elem(&starts, &pid, &nsec, BPF_ANY);
1:
1: - return 0;
1: + return 0;
1: }
1:
1: SEC("kretprobe/dummy_kretprobe")
1: -int BPF_KRETPROBE(dummy_kretprobe)
1: -{
1: - u64 *start;
1: - u64 nsec = bpf_ktime_get_ns();
1: - u64 id = bpf_get_current_pid_tgid();
1: - u32 pid = id;
1: - u64 slot, delta;
1: +int BPF_KRETPROBE(dummy_kretprobe) {
1: + u64 *start;
1: + u64 nsec = bpf_ktime_get_ns();
1: + u64 id = bpf_get_current_pid_tgid();
1: + u32 pid = id;
1: + u64 slot, delta;
1:
1: - start = bpf_map_lookup_elem(&starts, &pid);
1: - if (!start)
1: - return 0;
1: + start = bpf_map_lookup_elem(&starts, &pid);
1: + if (!start)
1: + return 0;
1:
1: - delta = nsec - *start;
1: + delta = nsec - *start;
1:
1: - switch (units) {
1: - case USEC:
1: - delta /= 1000;
1: - break;
1: - case MSEC:
1: - delta /= 1000000;
1: - break;
1: - }
1: + switch (units) {
1: + case USEC:
1: + delta /= 1000;
1: + break;
1: + case MSEC:
1: + delta /= 1000000;
1: + break;
1: + }
1:
1: - slot = log2l(delta);
1: - if (slot >= MAX_SLOTS)
1: - slot = MAX_SLOTS - 1;
1: - __sync_fetch_and_add(&hist[slot], 1);
1: + slot = log2l(delta);
1: + if (slot >= MAX_SLOTS)
1: + slot = MAX_SLOTS - 1;
1: + __sync_fetch_and_add(&hist[slot], 1);
1:
1: - return 0;
1: + return 0;
1: }
1:
1: char LICENSE[] SEC("license") = "GPL";
1: diff --git a/libbpf-tools/funclatency.c b/libbpf-tools/funclatency.c
1: index b225e7a4..6423f251 100644
1: --- a/libbpf-tools/funclatency.c
1: +++ b/libbpf-tools/funclatency.c
1: @@ -17,319 +17,312 @@
1: #include <time.h>
1: #include <unistd.h>
1:
1: -#include <bpf/libbpf.h>
1: #include <bpf/bpf.h>
1: +#include <bpf/libbpf.h>
1: #include "funclatency.h"
1: #include "funclatency.skel.h"
1: -#include "trace_helpers.h"
1: #include "map_helpers.h"
1: +#include "trace_helpers.h"
1: #include "uprobe_helpers.h"
1:
1: #define warn(...) fprintf(stderr, __VA_ARGS__)
1:
1: static struct prog_env {
1: - int units;
1: - pid_t pid;
1: - unsigned int duration;
1: - unsigned int interval;
1: - unsigned int iterations;
1: - bool timestamp;
1: - char *funcname;
1: + int units;
1: + pid_t pid;
1: + unsigned int duration;
1: + unsigned int interval;
1: + unsigned int iterations;
1: + bool timestamp;
1: + char *funcname;
1: } env = {
1: - .interval = 99999999,
1: - .iterations = 99999999,
1: + .interval = 99999999,
1: + .iterations = 99999999,
1: };
1:
1: const char *argp_program_version = "funclatency 0.1";
1: const char *argp_program_bug_address = "<bpf@vger.kernel.org>";
1: static const char args_doc[] = "FUNCTION";
1: static const char program_doc[] =
1: -"Time functions and print latency as a histogram\n"
1: -"\n"
1: -"Usage: funclatency [-h] [-m|-u] [-p PID] [-d DURATION] [ -i INTERVAL ]\n"
1: -" [-T] FUNCTION\n"
1: -" Choices for FUNCTION: FUNCTION (kprobe)\n"
1: -" LIBRARY:FUNCTION (uprobe a library in -p PID)\n"
1: -" :FUNCTION (uprobe the binary of -p PID)\n"
1: -" PROGRAM:FUNCTION (uprobe the binary PROGRAM)\n"
1: -"\v"
1: -"Examples:\n"
1: -" ./funclatency do_sys_open # time the do_sys_open() kernel function\n"
1: -" ./funclatency -m do_nanosleep # time do_nanosleep(), in milliseconds\n"
1: -" ./funclatency -u vfs_read # time vfs_read(), in microseconds\n"
1: -" ./funclatency -p 181 vfs_read # time process 181 only\n"
1: -" ./funclatency -p 181 c:read # time the read() C library function\n"
1: -" ./funclatency -p 181 :foo # time foo() from pid 181's userspace\n"
1: -" ./funclatency -i 2 -d 10 vfs_read # output every 2 seconds, for 10s\n"
1: -" ./funclatency -mTi 5 vfs_read # output every 5 seconds, with timestamps\n"
1: -;
1: + "Time functions and print latency as a histogram\n"
1: + "\n"
1: + "Usage: funclatency [-h] [-m|-u] [-p PID] [-d DURATION] [ -i INTERVAL ]\n"
1: + " [-T] FUNCTION\n"
1: + " Choices for FUNCTION: FUNCTION (kprobe)\n"
1: + " LIBRARY:FUNCTION (uprobe a library in -p "
1: + "PID)\n"
1: + " :FUNCTION (uprobe the binary of -p "
1: + "PID)\n"
1: + " PROGRAM:FUNCTION (uprobe the binary "
1: + "PROGRAM)\n"
1: + "\v"
1: + "Examples:\n"
1: + " ./funclatency do_sys_open # time the do_sys_open() kernel "
1: + "function\n"
1: + " ./funclatency -m do_nanosleep # time do_nanosleep(), in "
1: + "milliseconds\n"
1: + " ./funclatency -u vfs_read # time vfs_read(), in microseconds\n"
1: + " ./funclatency -p 181 vfs_read # time process 181 only\n"
1: + " ./funclatency -p 181 c:read # time the read() C library function\n"
1: + " ./funclatency -p 181 :foo # time foo() from pid 181's "
1: + "userspace\n"
1: + " ./funclatency -i 2 -d 10 vfs_read # output every 2 seconds, for 10s\n"
1: + " ./funclatency -mTi 5 vfs_read # output every 5 seconds, with "
1: + "timestamps\n";
1:
1: static const struct argp_option opts[] = {
1: - { "milliseconds", 'm', NULL, 0, "Output in milliseconds"},
1: - { "microseconds", 'u', NULL, 0, "Output in microseconds"},
1: - {0, 0, 0, 0, ""},
1: - { "pid", 'p', "PID", 0, "Process ID to trace"},
1: - {0, 0, 0, 0, ""},
1: - { "interval", 'i', "INTERVAL", 0, "Summary interval in seconds"},
1: - { "duration", 'd', "DURATION", 0, "Duration to trace"},
1: - { "timestamp", 'T', NULL, 0, "Print timestamp"},
1: - { NULL, 'h', NULL, OPTION_HIDDEN, "Show the full help"},
1: - {},
1: + {"milliseconds", 'm', NULL, 0, "Output in milliseconds"},
1: + {"microseconds", 'u', NULL, 0, "Output in microseconds"},
1: + {0, 0, 0, 0, ""},
1: + {"pid", 'p', "PID", 0, "Process ID to trace"},
1: + {0, 0, 0, 0, ""},
1: + {"interval", 'i', "INTERVAL", 0, "Summary interval in seconds"},
1: + {"duration", 'd', "DURATION", 0, "Duration to trace"},
1: + {"timestamp", 'T', NULL, 0, "Print timestamp"},
1: + {NULL, 'h', NULL, OPTION_HIDDEN, "Show the full help"},
1: + {},
1: };
1:
1: -static error_t parse_arg(int key, char *arg, struct argp_state *state)
1: -{
1: - struct prog_env *env = state->input;
1: - long duration, interval, pid;
1: -
1: - switch (key) {
1: - case 'p':
1: - errno = 0;
1: - pid = strtol(arg, NULL, 10);
1: - if (errno || pid <= 0) {
1: - warn("Invalid PID: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - env->pid = pid;
1: - break;
1: - case 'm':
1: - if (env->units != NSEC) {
1: - warn("only set one of -m or -u\n");
1: - argp_usage(state);
1: - }
1: - env->units = MSEC;
1: - break;
1: - case 'u':
1: - if (env->units != NSEC) {
1: - warn("only set one of -m or -u\n");
1: - argp_usage(state);
1: - }
1: - env->units = USEC;
1: - break;
1: - case 'd':
1: - errno = 0;
1: - duration = strtol(arg, NULL, 10);
1: - if (errno || duration <= 0) {
1: - warn("Invalid duration: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - env->duration = duration;
1: - break;
1: - case 'i':
1: - errno = 0;
1: - interval = strtol(arg, NULL, 10);
1: - if (errno || interval <= 0) {
1: - warn("Invalid interval: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - env->interval = interval;
1: - break;
1: - case 'T':
1: - env->timestamp = true;
1: - break;
1: - case 'h':
1: - argp_state_help(state, stderr, ARGP_HELP_STD_HELP);
1: - break;
1: - case ARGP_KEY_ARG:
1: - if (env->funcname) {
1: - warn("Too many function names: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - env->funcname = arg;
1: - break;
1: - case ARGP_KEY_END:
1: - if (!env->funcname) {
1: - warn("Need a function to trace\n");
1: - argp_usage(state);
1: - }
1: - if (env->duration) {
1: - if (env->interval > env->duration)
1: - env->interval = env->duration;
1: - env->iterations = env->duration / env->interval;
1: - }
1: - break;
1: - default:
1: - return ARGP_ERR_UNKNOWN;
1: - }
1: - return 0;
1: +static error_t parse_arg(int key, char *arg, struct argp_state *state) {
1: + struct prog_env *env = state->input;
1: + long duration, interval, pid;
1: +
1: + switch (key) {
1: + case 'p':
1: + errno = 0;
1: + pid = strtol(arg, NULL, 10);
1: + if (errno || pid <= 0) {
1: + warn("Invalid PID: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + env->pid = pid;
1: + break;
1: + case 'm':
1: + if (env->units != NSEC) {
1: + warn("only set one of -m or -u\n");
1: + argp_usage(state);
1: + }
1: + env->units = MSEC;
1: + break;
1: + case 'u':
1: + if (env->units != NSEC) {
1: + warn("only set one of -m or -u\n");
1: + argp_usage(state);
1: + }
1: + env->units = USEC;
1: + break;
1: + case 'd':
1: + errno = 0;
1: + duration = strtol(arg, NULL, 10);
1: + if (errno || duration <= 0) {
1: + warn("Invalid duration: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + env->duration = duration;
1: + break;
1: + case 'i':
1: + errno = 0;
1: + interval = strtol(arg, NULL, 10);
1: + if (errno || interval <= 0) {
1: + warn("Invalid interval: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + env->interval = interval;
1: + break;
1: + case 'T':
1: + env->timestamp = true;
1: + break;
1: + case 'h':
1: + argp_state_help(state, stderr, ARGP_HELP_STD_HELP);
1: + break;
1: + case ARGP_KEY_ARG:
1: + if (env->funcname) {
1: + warn("Too many function names: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + env->funcname = arg;
1: + break;
1: + case ARGP_KEY_END:
1: + if (!env->funcname) {
1: + warn("Need a function to trace\n");
1: + argp_usage(state);
1: + }
1: + if (env->duration) {
1: + if (env->interval > env->duration)
1: + env->interval = env->duration;
1: + env->iterations = env->duration / env->interval;
1: + }
1: + break;
1: + default:
1: + return ARGP_ERR_UNKNOWN;
1: + }
1: + return 0;
1: }
1:
1: -static const char *unit_str(void)
1: -{
1: - switch (env.units) {
1: - case NSEC:
1: - return "nsec";
1: - case USEC:
1: - return "usec";
1: - case MSEC:
1: - return "msec";
1: - };
1: -
1: - return "bad units";
1: +static const char *unit_str(void) {
1: + switch (env.units) {
1: + case NSEC:
1: + return "nsec";
1: + case USEC:
1: + return "usec";
1: + case MSEC:
1: + return "msec";
1: + };
1: +
1: + return "bad units";
1: }
1:
1: -static int attach_kprobes(struct funclatency_bpf *obj)
1: -{
1: - long err;
1: -
1: - obj->links.dummy_kprobe =
1: - bpf_program__attach_kprobe(obj->progs.dummy_kprobe, false,
1: - env.funcname);
1: - err = libbpf_get_error(obj->links.dummy_kprobe);
1: - if (err) {
1: - warn("failed to attach kprobe: %ld\n", err);
1: - return -1;
1: - }
1: -
1: - obj->links.dummy_kretprobe =
1: - bpf_program__attach_kprobe(obj->progs.dummy_kretprobe, true,
1: - env.funcname);
1: - err = libbpf_get_error(obj->links.dummy_kretprobe);
1: - if (err) {
1: - warn("failed to attach kretprobe: %ld\n", err);
1: - return -1;
1: - }
1: -
1: - return 0;
1: +static int attach_kprobes(struct funclatency_bpf *obj) {
1: + long err;
1: +
1: + obj->links.dummy_kprobe =
1: + bpf_program__attach_kprobe(obj->progs.dummy_kprobe, false, env.funcname);
1: + err = libbpf_get_error(obj->links.dummy_kprobe);
1: + if (err) {
1: + warn("failed to attach kprobe: %ld\n", err);
1: + return -1;
1: + }
1: +
1: + obj->links.dummy_kretprobe = bpf_program__attach_kprobe(
1: + obj->progs.dummy_kretprobe, true, env.funcname);
1: + err = libbpf_get_error(obj->links.dummy_kretprobe);
1: + if (err) {
1: + warn("failed to attach kretprobe: %ld\n", err);
1: + return -1;
1: + }
1: +
1: + return 0;
1: }
1:
1: -static int attach_uprobes(struct funclatency_bpf *obj)
1: -{
1: - char *binary, *function;
1: - char bin_path[PATH_MAX];
1: - off_t func_off;
1: - int ret = -1;
1: - long err;
1: -
1: - binary = strdup(env.funcname);
1: - if (!binary) {
1: - warn("strdup failed");
1: - return -1;
1: - }
1: - function = strchr(binary, ':');
1: - if (!function) {
1: - warn("Binary should have contained ':' (internal bug!)\n");
1: - return -1;
1: - }
1: - *function = '\0';
1: - function++;
1: -
1: - if (resolve_binary_path(binary, env.pid, bin_path, sizeof(bin_path)))
1: - goto out_binary;
1: -
1: - func_off = get_elf_func_offset(bin_path, function);
1: - if (func_off < 0) {
1: - warn("Could not find %s in %s\n", function, bin_path);
1: - goto out_binary;
1: - }
1: -
1: - obj->links.dummy_kprobe =
1: - bpf_program__attach_uprobe(obj->progs.dummy_kprobe, false,
1: - env.pid ?: -1, bin_path, func_off);
1: - err = libbpf_get_error(obj->links.dummy_kprobe);
1: - if (err) {
1: - warn("Failed to attach uprobe: %ld\n", err);
1: - goto out_binary;
1: - }
1: -
1: - obj->links.dummy_kretprobe =
1: - bpf_program__attach_uprobe(obj->progs.dummy_kretprobe, true,
1: - env.pid ?: -1, bin_path, func_off);
1: - err = libbpf_get_error(obj->links.dummy_kretprobe);
1: - if (err) {
1: - warn("Failed to attach uretprobe: %ld\n", err);
1: - goto out_binary;
1: - }
1: -
1: - ret = 0;
1: +static int attach_uprobes(struct funclatency_bpf *obj) {
1: + char *binary, *function;
1: + char bin_path[PATH_MAX];
1: + off_t func_off;
1: + int ret = -1;
1: + long err;
1: +
1: + binary = strdup(env.funcname);
1: + if (!binary) {
1: + warn("strdup failed");
1: + return -1;
1: + }
1: + function = strchr(binary, ':');
1: + if (!function) {
1: + warn("Binary should have contained ':' (internal bug!)\n");
1: + return -1;
1: + }
1: + *function = '\0';
1: + function++;
1: +
1: + if (resolve_binary_path(binary, env.pid, bin_path, sizeof(bin_path)))
1: + goto out_binary;
1: +
1: + func_off = get_elf_func_offset(bin_path, function);
1: + if (func_off < 0) {
1: + warn("Could not find %s in %s\n", function, bin_path);
1: + goto out_binary;
1: + }
1: +
1: + obj->links.dummy_kprobe = bpf_program__attach_uprobe(
1: + obj->progs.dummy_kprobe, false, env.pid ?: -1, bin_path, func_off);
1: + err = libbpf_get_error(obj->links.dummy_kprobe);
1: + if (err) {
1: + warn("Failed to attach uprobe: %ld\n", err);
1: + goto out_binary;
1: + }
1: +
1: + obj->links.dummy_kretprobe = bpf_program__attach_uprobe(
1: + obj->progs.dummy_kretprobe, true, env.pid ?: -1, bin_path, func_off);
1: + err = libbpf_get_error(obj->links.dummy_kretprobe);
1: + if (err) {
1: + warn("Failed to attach uretprobe: %ld\n", err);
1: + goto out_binary;
1: + }
1: +
1: + ret = 0;
1:
1: out_binary:
1: - free(binary);
1: + free(binary);
1:
1: - return ret;
1: + return ret;
1: }
1:
1: -static int attach_probes(struct funclatency_bpf *obj)
1: -{
1: - if (strchr(env.funcname, ':'))
1: - return attach_uprobes(obj);
1: - return attach_kprobes(obj);
1: +static int attach_probes(struct funclatency_bpf *obj) {
1: + if (strchr(env.funcname, ':'))
1: + return attach_uprobes(obj);
1: + return attach_kprobes(obj);
1: }
1:
1: static volatile bool exiting;
1:
1: -static void sig_hand(int signr)
1: -{
1: - exiting = true;
1: -}
1: +static void sig_hand(int signr) { exiting = true; }
1:
1: static struct sigaction sigact = {.sa_handler = sig_hand};
1:
1: -int main(int argc, char **argv)
1: -{
1: - static const struct argp argp = {
1: - .options = opts,
1: - .parser = parse_arg,
1: - .args_doc = args_doc,
1: - .doc = program_doc,
1: - };
1: - struct funclatency_bpf *obj;
1: - int err;
1: - struct tm *tm;
1: - char ts[32];
1: - time_t t;
1: -
1: - err = argp_parse(&argp, argc, argv, 0, NULL, &env);
1: - if (err)
1: - return err;
1: -
1: - sigaction(SIGINT, &sigact, 0);
1: -
1: - err = bump_memlock_rlimit();
1: - if (err) {
1: - warn("failed to increase rlimit: %d\n", err);
1: - return 1;
1: - }
1: -
1: - obj = funclatency_bpf__open();
1: - if (!obj) {
1: - warn("failed to open BPF object\n");
1: - return 1;
1: - }
1: -
1: - obj->rodata->units = env.units;
1: - obj->rodata->targ_tgid = env.pid;
1: -
1: - err = funclatency_bpf__load(obj);
1: - if (err) {
1: - warn("failed to load BPF object\n");
1: - return 1;
1: - }
1: -
1: - err = attach_probes(obj);
1: - if (err)
1: - goto cleanup;
1: -
1: - printf("Tracing %s. Hit Ctrl-C to exit\n", env.funcname);
1: -
1: - for (int i = 0; i < env.iterations && !exiting; i++) {
1: - sleep(env.interval);
1: -
1: - printf("\n");
1: - if (env.timestamp) {
1: - time(&t);
1: - tm = localtime(&t);
1: - strftime(ts, sizeof(ts), "%H:%M:%S", tm);
1: - printf("%-8s\n", ts);
1: - }
1: -
1: - print_log2_hist(obj->bss->hist, MAX_SLOTS, unit_str());
1: - }
1: -
1: - printf("Exiting trace of %s\n", env.funcname);
1: +int main(int argc, char **argv) {
1: + static const struct argp argp = {
1: + .options = opts,
1: + .parser = parse_arg,
1: + .args_doc = args_doc,
1: + .doc = program_doc,
1: + };
1: + struct funclatency_bpf *obj;
1: + int err;
1: + struct tm *tm;
1: + char ts[32];
1: + time_t t;
1: +
1: + err = argp_parse(&argp, argc, argv, 0, NULL, &env);
1: + if (err)
1: + return err;
1: +
1: + sigaction(SIGINT, &sigact, 0);
1: +
1: + err = bump_memlock_rlimit();
1: + if (err) {
1: + warn("failed to increase rlimit: %d\n", err);
1: + return 1;
1: + }
1: +
1: + obj = funclatency_bpf__open();
1: + if (!obj) {
1: + warn("failed to open BPF object\n");
1: + return 1;
1: + }
1: +
1: + obj->rodata->units = env.units;
1: + obj->rodata->targ_tgid = env.pid;
1: +
1: + err = funclatency_bpf__load(obj);
1: + if (err) {
1: + warn("failed to load BPF object\n");
1: + return 1;
1: + }
1: +
1: + err = attach_probes(obj);
1: + if (err)
1: + goto cleanup;
1: +
1: + printf("Tracing %s. Hit Ctrl-C to exit\n", env.funcname);
1: +
1: + for (int i = 0; i < env.iterations && !exiting; i++) {
1: + sleep(env.interval);
1: +
1: + printf("\n");
1: + if (env.timestamp) {
1: + time(&t);
1: + tm = localtime(&t);
1: + strftime(ts, sizeof(ts), "%H:%M:%S", tm);
1: + printf("%-8s\n", ts);
1: + }
1: +
1: + print_log2_hist(obj->bss->hist, MAX_SLOTS, unit_str());
1: + }
1: +
1: + printf("Exiting trace of %s\n", env.funcname);
1:
1: cleanup:
1: - funclatency_bpf__destroy(obj);
1: + funclatency_bpf__destroy(obj);
1:
1: - return err != 0;
1: + return err != 0;
1: }
1: diff --git a/libbpf-tools/funclatency.h b/libbpf-tools/funclatency.h
1: index a28fc2c5..62607749 100644
1: --- a/libbpf-tools/funclatency.h
1: +++ b/libbpf-tools/funclatency.h
1: @@ -5,7 +5,7 @@
1: #define MAX_SLOTS 25
1:
1: enum units {
1: - NSEC,
1: - USEC,
1: - MSEC,
1: + NSEC,
1: + USEC,
1: + MSEC,
1: };
1: diff --git a/libbpf-tools/uprobe_helpers.c b/libbpf-tools/uprobe_helpers.c
1: index ff979461..ad939c5b 100644
1: --- a/libbpf-tools/uprobe_helpers.c
1: +++ b/libbpf-tools/uprobe_helpers.c
1: @@ -1,17 +1,17 @@
1: // SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
1: /* Copyright (c) 2021 Google LLC. */
1: #define _GNU_SOURCE
1: -#include <sys/types.h>
1: -#include <sys/stat.h>
1: +#include <errno.h>
1: #include <fcntl.h>
1: -#include <stdio.h>
1: +#include <gelf.h>
1: +#include <limits.h>
1: #include <stdarg.h>
1: +#include <stdio.h>
1: #include <stdlib.h>
1: #include <string.h>
1: +#include <sys/stat.h>
1: +#include <sys/types.h>
1: #include <unistd.h>
1: -#include <errno.h>
1: -#include <limits.h>
1: -#include <gelf.h>
1:
1: #define warn(...) fprintf(stderr, __VA_ARGS__)
1:
1: @@ -19,28 +19,27 @@
1: * Returns 0 on success; -1 on failure. On sucess, returns via `path` the full
1: * path to the program for pid.
1: */
1: -int get_pid_binary_path(pid_t pid, char *path, size_t path_sz)
1: -{
1: - ssize_t ret;
1: - char proc_pid_exe[32];
1: -
1: - if (snprintf(proc_pid_exe, sizeof(proc_pid_exe), "/proc/%d/exe", pid)
1: - >= sizeof(proc_pid_exe)) {
1: - warn("snprintf /proc/PID/exe failed");
1: - return -1;
1: - }
1: - ret = readlink(proc_pid_exe, path, path_sz);
1: - if (ret < 0) {
1: - warn("No such pid %d\n", pid);
1: - return -1;
1: - }
1: - if (ret >= path_sz) {
1: - warn("readlink truncation");
1: - return -1;
1: - }
1: - path[ret] = '\0';
1: -
1: - return 0;
1: +int get_pid_binary_path(pid_t pid, char *path, size_t path_sz) {
1: + ssize_t ret;
1: + char proc_pid_exe[32];
1: +
1: + if (snprintf(proc_pid_exe, sizeof(proc_pid_exe), "/proc/%d/exe", pid) >=
1: + sizeof(proc_pid_exe)) {
1: + warn("snprintf /proc/PID/exe failed");
1: + return -1;
1: + }
1: + ret = readlink(proc_pid_exe, path, path_sz);
1: + if (ret < 0) {
1: + warn("No such pid %d\n", pid);
1: + return -1;
1: + }
1: + if (ret >= path_sz) {
1: + warn("readlink truncation");
1: + return -1;
1: + }
1: + path[ret] = '\0';
1: +
1: + return 0;
1: }
1:
1: /*
1: @@ -48,76 +47,74 @@ int get_pid_binary_path(pid_t pid, char *path, size_t path_sz)
1: * path to a library matching the name `lib` that is loaded into pid's address
1: * space.
1: */
1: -int get_pid_lib_path(pid_t pid, const char *lib, char *path, size_t path_sz)
1: -{
1: - FILE *maps;
1: - char *p;
1: - char proc_pid_maps[32];
1: - char line_buf[1024];
1: -
1: - if (snprintf(proc_pid_maps, sizeof(proc_pid_maps), "/proc/%d/maps", pid)
1: - >= sizeof(proc_pid_maps)) {
1: - warn("snprintf /proc/PID/maps failed");
1: - return -1;
1: - }
1: - maps = fopen(proc_pid_maps, "r");
1: - if (!maps) {
1: - warn("No such pid %d\n", pid);
1: - return -1;
1: - }
1: - while (fgets(line_buf, sizeof(line_buf), maps)) {
1: - if (sscanf(line_buf, "%*x-%*x %*s %*x %*s %*u %s", path) != 1)
1: - continue;
1: - /* e.g. /usr/lib/x86_64-linux-gnu/libc-2.31.so */
1: - p = strrchr(path, '/');
1: - if (!p)
1: - continue;
1: - if (strncmp(p, "/lib", 4))
1: - continue;
1: - p += 4;
1: - if (strncmp(lib, p, strlen(lib)))
1: - continue;
1: - p += strlen(lib);
1: - /* libraries can have - or . after the name */
1: - if (*p != '.' && *p != '-')
1: - continue;
1: -
1: - fclose(maps);
1: - return 0;
1: - }
1: -
1: - warn("Cannot find library %s\n", lib);
1: - fclose(maps);
1: - return -1;
1: +int get_pid_lib_path(pid_t pid, const char *lib, char *path, size_t path_sz) {
1: + FILE *maps;
1: + char *p;
1: + char proc_pid_maps[32];
1: + char line_buf[1024];
1: +
1: + if (snprintf(proc_pid_maps, sizeof(proc_pid_maps), "/proc/%d/maps", pid) >=
1: + sizeof(proc_pid_maps)) {
1: + warn("snprintf /proc/PID/maps failed");
1: + return -1;
1: + }
1: + maps = fopen(proc_pid_maps, "r");
1: + if (!maps) {
1: + warn("No such pid %d\n", pid);
1: + return -1;
1: + }
1: + while (fgets(line_buf, sizeof(line_buf), maps)) {
1: + if (sscanf(line_buf, "%*x-%*x %*s %*x %*s %*u %s", path) != 1)
1: + continue;
1: + /* e.g. /usr/lib/x86_64-linux-gnu/libc-2.31.so */
1: + p = strrchr(path, '/');
1: + if (!p)
1: + continue;
1: + if (strncmp(p, "/lib", 4))
1: + continue;
1: + p += 4;
1: + if (strncmp(lib, p, strlen(lib)))
1: + continue;
1: + p += strlen(lib);
1: + /* libraries can have - or . after the name */
1: + if (*p != '.' && *p != '-')
1: + continue;
1: +
1: + fclose(maps);
1: + return 0;
1: + }
1: +
1: + warn("Cannot find library %s\n", lib);
1: + fclose(maps);
1: + return -1;
1: }
1:
1: /*
1: * Returns 0 on success; -1 on failure. On success, returns via `path` the full
1: * path to the program.
1: */
1: -static int which_program(const char *prog, char *path, size_t path_sz)
1: -{
1: - FILE *which;
1: - char cmd[100];
1: -
1: - if (snprintf(cmd, sizeof(cmd), "which %s", prog) >= sizeof(cmd)) {
1: - warn("snprintf which prog failed");
1: - return -1;
1: - }
1: - which = popen(cmd, "r");
1: - if (!which) {
1: - warn("which failed");
1: - return -1;
1: - }
1: - if (!fgets(path, path_sz, which)) {
1: - warn("fgets which failed");
1: - pclose(which);
1: - return -1;
1: - }
1: - /* which has a \n at the end of the string */
1: - path[strlen(path) - 1] = '\0';
1: - pclose(which);
1: - return 0;
1: +static int which_program(const char *prog, char *path, size_t path_sz) {
1: + FILE *which;
1: + char cmd[100];
1: +
1: + if (snprintf(cmd, sizeof(cmd), "which %s", prog) >= sizeof(cmd)) {
1: + warn("snprintf which prog failed");
1: + return -1;
1: + }
1: + which = popen(cmd, "r");
1: + if (!which) {
1: + warn("which failed");
1: + return -1;
1: + }
1: + if (!fgets(path, path_sz, which)) {
1: + warn("fgets which failed");
1: + pclose(which);
1: + return -1;
1: + }
1: + /* which has a \n at the end of the string */
1: + path[strlen(path) - 1] = '\0';
1: + pclose(which);
1: + return 0;
1: }
1:
1: /*
1: @@ -131,111 +128,108 @@ static int which_program(const char *prog, char *path, size_t path_sz)
1: * For case 4), ideally we'd like to search for libbar too, but we don't support
1: * that yet.
1: */
1: -int resolve_binary_path(const char *binary, pid_t pid, char *path, size_t path_sz)
1: -{
1: - if (!strcmp(binary, "")) {
1: - if (!pid) {
1: - warn("Uprobes need a pid or a binary\n");
1: - return -1;
1: - }
1: - return get_pid_binary_path(pid, path, path_sz);
1: - }
1: - if (pid)
1: - return get_pid_lib_path(pid, binary, path, path_sz);
1: -
1: - if (which_program(binary, path, path_sz)) {
1: - /*
1: - * If the user is tracing a program by name, we can find it.
1: - * But we can't find a library by name yet. We'd need to parse
1: - * ld.so.cache or something similar.
1: - */
1: - warn("Can't find %s (Need a PID if this is a library)\n", binary);
1: - return -1;
1: - }
1: - return 0;
1: +int resolve_binary_path(const char *binary, pid_t pid, char *path,
1: + size_t path_sz) {
1: + if (!strcmp(binary, "")) {
1: + if (!pid) {
1: + warn("Uprobes need a pid or a binary\n");
1: + return -1;
1: + }
1: + return get_pid_binary_path(pid, path, path_sz);
1: + }
1: + if (pid)
1: + return get_pid_lib_path(pid, binary, path, path_sz);
1: +
1: + if (which_program(binary, path, path_sz)) {
1: + /*
1: + * If the user is tracing a program by name, we can find it.
1: + * But we can't find a library by name yet. We'd need to parse
1: + * ld.so.cache or something similar.
1: + */
1: + warn("Can't find %s (Need a PID if this is a library)\n", binary);
1: + return -1;
1: + }
1: + return 0;
1: }
1:
1: /*
1: * Opens an elf at `path` of kind ELF_K_ELF. Returns NULL on failure. On
1: * success, close with close_elf(e, fd_close).
1: */
1: -static Elf *open_elf(const char *path, int *fd_close)
1: -{
1: - int fd;
1: - Elf *e;
1: -
1: - if (elf_version(EV_CURRENT) == EV_NONE) {
1: - warn("elf init failed\n");
1: - return NULL;
1: - }
1: - fd = open(path, O_RDONLY);
1: - if (fd < 0) {
1: - warn("Could not open %s\n", path);
1: - return NULL;
1: - }
1: - e = elf_begin(fd, ELF_C_READ, NULL);
1: - if (!e) {
1: - warn("elf_begin failed: %s\n", elf_errmsg(-1));
1: - close(fd);
1: - return NULL;
1: - }
1: - if (elf_kind(e) != ELF_K_ELF) {
1: - warn("elf kind %d is not ELF_K_ELF\n", elf_kind(e));
1: - elf_end(e);
1: - close(fd);
1: - return NULL;
1: - }
1: - *fd_close = fd;
1: - return e;
1: +static Elf *open_elf(const char *path, int *fd_close) {
1: + int fd;
1: + Elf *e;
1: +
1: + if (elf_version(EV_CURRENT) == EV_NONE) {
1: + warn("elf init failed\n");
1: + return NULL;
1: + }
1: + fd = open(path, O_RDONLY);
1: + if (fd < 0) {
1: + warn("Could not open %s\n", path);
1: + return NULL;
1: + }
1: + e = elf_begin(fd, ELF_C_READ, NULL);
1: + if (!e) {
1: + warn("elf_begin failed: %s\n", elf_errmsg(-1));
1: + close(fd);
1: + return NULL;
1: + }
1: + if (elf_kind(e) != ELF_K_ELF) {
1: + warn("elf kind %d is not ELF_K_ELF\n", elf_kind(e));
1: + elf_end(e);
1: + close(fd);
1: + return NULL;
1: + }
1: + *fd_close = fd;
1: + return e;
1: }
1:
1: -static void close_elf(Elf *e, int fd_close)
1: -{
1: - elf_end(e);
1: - close(fd_close);
1: +static void close_elf(Elf *e, int fd_close) {
1: + elf_end(e);
1: + close(fd_close);
1: }
1:
1: /* Returns the offset of a function in the elf file `path`, or -1 on failure. */
1: -off_t get_elf_func_offset(const char *path, const char *func)
1: -{
1: - off_t ret = -1;
1: - int fd = -1;
1: - Elf *e;
1: - Elf_Scn *scn;
1: - Elf_Data *data;
1: - GElf_Shdr shdr[1];
1: - GElf_Sym sym[1];
1: - size_t shstrndx;
1: - char *n;
1: -
1: - e = open_elf(path, &fd);
1: -
1: - if (elf_getshdrstrndx(e, &shstrndx) != 0)
1: - goto out;
1: -
1: - scn = NULL;
1: - while ((scn = elf_nextscn(e, scn))) {
1: - if (!gelf_getshdr(scn, shdr))
1: - continue;
1: - if (!(shdr->sh_type == SHT_SYMTAB || shdr->sh_type == SHT_DYNSYM))
1: - continue;
1: - data = NULL;
1: - while ((data = elf_getdata(scn, data))) {
1: - for (int i = 0; gelf_getsym(data, i, sym); i++) {
1: - n = elf_strptr(e, shdr->sh_link, sym->st_name);
1: - if (!n)
1: - continue;
1: - if (GELF_ST_TYPE(sym->st_info) != STT_FUNC)
1: - continue;
1: - if (!strcmp(n, func)) {
1: - ret = sym->st_value;
1: - goto out;
1: - }
1: - }
1: - }
1: - }
1: +off_t get_elf_func_offset(const char *path, const char *func) {
1: + off_t ret = -1;
1: + int fd = -1;
1: + Elf *e;
1: + Elf_Scn *scn;
1: + Elf_Data *data;
1: + GElf_Shdr shdr[1];
1: + GElf_Sym sym[1];
1: + size_t shstrndx;
1: + char *n;
1: +
1: + e = open_elf(path, &fd);
1: +
1: + if (elf_getshdrstrndx(e, &shstrndx) != 0)
1: + goto out;
1: +
1: + scn = NULL;
1: + while ((scn = elf_nextscn(e, scn))) {
1: + if (!gelf_getshdr(scn, shdr))
1: + continue;
1: + if (!(shdr->sh_type == SHT_SYMTAB || shdr->sh_type == SHT_DYNSYM))
1: + continue;
1: + data = NULL;
1: + while ((data = elf_getdata(scn, data))) {
1: + for (int i = 0; gelf_getsym(data, i, sym); i++) {
1: + n = elf_strptr(e, shdr->sh_link, sym->st_name);
1: + if (!n)
1: + continue;
1: + if (GELF_ST_TYPE(sym->st_info) != STT_FUNC)
1: + continue;
1: + if (!strcmp(n, func)) {
1: + ret = sym->st_value;
1: + goto out;
1: + }
1: + }
1: + }
1: + }
1:
1: out:
1: - close_elf(e, fd);
1: - return ret;
1: + close_elf(e, fd);
1: + return ret;
1: }
1: diff --git a/libbpf-tools/uprobe_helpers.h b/libbpf-tools/uprobe_helpers.h
1: index c8a75803..b13a12fa 100644
1: --- a/libbpf-tools/uprobe_helpers.h
1: +++ b/libbpf-tools/uprobe_helpers.h
1: @@ -8,7 +8,8 @@
1:
1: int get_pid_binary_path(pid_t pid, char *path, size_t path_sz);
1: int get_pid_lib_path(pid_t pid, const char *lib, char *path, size_t path_sz);
1: -int resolve_binary_path(const char *binary, pid_t pid, char *path, size_t path_sz);
1: +int resolve_binary_path(const char *binary, pid_t pid, char *path,
1: + size_t path_sz);
1: off_t get_elf_func_offset(const char *path, const char *func);
1:
1: #endif /* __UPROBE_HELPERS_H */
1: Ignoring changes in the following files (wrong extension):
1: libbpf-tools/Makefile
1: libbpf-tools/.gitignore
1: Running clang-format on the following files:
1: libbpf-tools/uprobe_helpers.h
1: libbpf-tools/uprobe_helpers.c
1: libbpf-tools/funclatency.h
1: libbpf-tools/funclatency.bpf.c
1: libbpf-tools/funclatency.c
1: old tree: 7ac9f7ed6bc6cad7fef453f309661a920e5598ba
1: new tree: b7a054b57af4828ee97054644cb869679db2b7c2
1/45 Test #1: style-check ...................... Passed 1.44 sec
test 2
Start 2: c_test_static
2: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "c_test_static" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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 -fno-jump-tables -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -coverage-notes-file /usr/src/linux-headers-4.15.0-1009-gcp/main.gcno -nostdsysteminc -nobuiltininc -resource-dir lib/clang/6.0.0 -isystem /virtual/lib/clang/include -include ./include/linux/kconfig.h -include /virtual/include/bcc/bpf.h -include /virtual/include/bcc/helpers.h -isystem /virtual/include -I /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/cc -D __BPF_TRACING__ -I arch/x86/include/ -I arch/x86/include/generated -I include -I arch/x86/include/uapi -I arch/x86/include/generated/uapi -I include/uapi -I include/generated/uapi -D __KERNEL__ -D __HAVE_BUILTIN_BSWAP16__ -D __HAVE_BUILTIN_BSWAP32__ -D __HAVE_BUILTIN_BSWAP64__ -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/linux-headers-4.15.0-1009-gcp -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.15.0-1009-gcp/build
2/45 Test #2: c_test_static .................... Passed 1.16 sec
test 3
Start 3: test_libbcc
3: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "c_test_all" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/cc/test_libbcc"
3: Test timeout computed to be: 9.99988e+06
3: /virtual/main.c:2:7: error: map not found: /sys/fs/bpf/test_pinned_table
3: BPF_TABLE_PINNED("hash", u64, u64, ids, 1024, "/sys/fs/bpf/test_pinned_table");
3: ^
3: /virtual/include/bcc/helpers.h:160:92: note: expanded from macro 'BPF_TABLE_PINNED'
3: #define BPF_TABLE_PINNED(_table_type, _key_type, _leaf_type, _name, _max_entries, _pinned) \
3: ^
3: /virtual/include/bcc/helpers.h:157:76: note: expanded from macro '\
3: BPF_TABLE'
3: #define BPF_TABLE(_table_type, _key_type, _leaf_type, _name, _max_entries) \
3: ^
3: /virtual/include/bcc/helpers.h:107:4: note: expanded from macro '\
3: BPF_F_TABLE'
3: }; \
3: ^
3: 1 error generated.
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/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/cc/test_usdt_probes.cc:352
3: ...............................................................................
3:
3: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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 7303 for probe
3: on_event"
3: ==
3: ""
3:
3: unshare: unrecognized option '--kill-child'
3: Try 'unshare --help' for more information.
3: -------------------------------------------------------------------------------
3: test probing running Ruby process in namespaces
3: in separate mount namespace and separate PID namespace
3: -------------------------------------------------------------------------------
3: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/cc/test_usdt_probes.cc:352
3: ...............................................................................
3:
3: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/cc/test_usdt_probes.cc:393: FAILED:
3: REQUIRE( res.msg() == "" )
3: with expansion:
3: "No valid Binary Path or PID provided"
3: ==
3: ""
3:
3: ===============================================================================
3: test cases: 40 | 39 passed | 1 failed as expected
3: assertions: 649 | 647 passed | 2 failed as expected
3:
3/45 Test #3: test_libbcc ...................... Passed 15.27 sec
test 4
Start 4: py_test_stat1_b
4: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_stat1_b" "namespace" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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: .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.063/0.006 ms, ipg/ewma 0.019/0.007 ms
4: .
4: ----------------------------------------------------------------------
4: Ran 2 tests in 0.534s
4:
4: OK
4/45 Test #4: py_test_stat1_b .................. Passed 1.41 sec
test 5
Start 5: py_test_bpf_log
5: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_bpf_prog" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_bpf_log.py"
5: Test timeout computed to be: 9.99988e+06
5/45 Test #5: py_test_bpf_log .................. Passed 1.39 sec
test 6
Start 6: py_test_stat1_c
6: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_stat1_c" "namespace" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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: .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 2ms
6: rtt min/avg/max/mdev = 0.006/0.007/0.067/0.007 ms, ipg/ewma 0.021/0.007 ms
6: .
6: ----------------------------------------------------------------------
6: Ran 2 tests in 0.522s
6:
6: OK
6/45 Test #6: py_test_stat1_c .................. Passed 0.93 sec
test 7
Start 7: py_test_xlate1_c
7: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_xlate1_c" "namespace" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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: 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.050 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.050/0.050/0.050/0.000 ms
7: .
7: ----------------------------------------------------------------------
7: Ran 1 test in 0.304s
7:
7: OK
7/45 Test #7: py_test_xlate1_c ................. Passed 0.82 sec
test 8
Start 8: py_test_call1
8: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_call1_c" "namespace" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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: .
8: ----------------------------------------------------------------------
8: Ran 1 test in 0.273s
8:
8: OK
8/45 Test #8: py_test_call1 .................... Passed 1.02 sec
test 9
Start 9: py_test_trace1
9: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_trace1" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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.407s
9:
9: OK
9: ('fd 8:', 'stat1 0', 'stat2 1')
9: ('fd b:', 'stat1 5', 'stat2 0')
9: ('fd ffff8d621049a400:', 'stat1 3', 'stat2 0')
9: ('fd a:', 'stat1 200', 'stat2 100')
9: ('fd 9:', 'stat1 1', 'stat2 2')
9/45 Test #9: py_test_trace1 ................... Passed 0.62 sec
test 10
Start 10: py_test_trace2
10: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_trace2" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_trace2.py"
10: Test timeout computed to be: 9.99988e+06
10: .
10: ----------------------------------------------------------------------
10: Ran 1 test in 2.820s
10:
10: OK
10: ('ptr ffff8d61fdb5ae80:', 'stat1 (0 8)')
10: ('ptr ffff8d621259c5c0:', 'stat1 (0 3)')
10: ('ptr ffff8d6216a345c0:', 'stat1 (0 1)')
10: ('ptr ffff8d620ff8c5c0:', 'stat1 (0 79)')
10: ('ptr ffff8d6215e40000:', 'stat1 (0 1)')
10: ('ptr ffff8d6216a0ae80:', 'stat1 (0 189)')
10: ('ptr ffff8d6212aec5c0:', 'stat1 (0 5)')
10: ('ptr ffff8d61fdab9740:', 'stat1 (0 1)')
10: ('ptr ffff8d61f1905d00:', 'stat1 (0 10)')
10: ('ptr ffff8d6213c1c5c0:', 'stat1 (0 1)')
10: ('ptr ffff8d62125fc5c0:', 'stat1 (0 1)')
10: ('ptr ffff8d62156a45c0:', 'stat1 (0 176)')
10: ('ptr ffff8d6216a68000:', 'stat1 (0 2)')
10: ('ptr ffff8d61f286dd00:', 'stat1 (0 1)')
10: ('ptr ffff8d61fdab8000:', 'stat1 (0 3)')
10: ('ptr ffff8d6216a30000:', 'stat1 (0 2)')
10: ('ptr ffff8d62169e0000:', 'stat1 (0 9)')
10: ('ptr ffff8d61fdabdd00:', 'stat1 (0 1)')
10: ('ptr ffff8d61f1900000:', 'stat1 (0 100)')
10: ('ptr ffffffff9aa12480:', 'stat1 (0 227)')
10: ('ptr ffff8d61fd855d00:', 'stat1 (0 4)')
10: ('ptr ffff8d6212aeae80:', 'stat1 (0 20)')
10: ('ptr ffff8d61fdabc5c0:', 'stat1 (0 1)')
10: ('ptr ffff8d621256dd00:', 'stat1 (0 4)')
10: ('ptr ffff8d6216b68000:', 'stat1 (0 2)')
10/45 Test #10: py_test_trace2 ................... Passed 2.93 sec
test 11
Start 11: py_test_trace3_c
11: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_trace3_c" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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.00479906 s, 874 MB/s
11: 1024+0 records in
11: 1024+0 records out
11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.00505677 s, 829 MB/s
11: ('latency 0:', 'count 0')
11: ('latency 1:', 'count 0')
11: ('latency 2:', 'count 0')
11: ('latency 3:', 'count 0')
11: ('latency 4:', 'count 0')
11: ('latency 5:', 'count 0')
11: ('latency 6:', 'count 0')
11: ('latency 7:', 'count 0')
11: ('latency 8:', 'count 0')
11: ('latency 9:', 'count 0')
11: ('latency 10:', 'count 0')
11: ('latency 11:', 'count 0')
11: ('latency 12:', 'count 0')
11: ('latency 13:', 'count 0')
11: ('latency 14:', 'count 0')
11: ('latency 15:', 'count 0')
11: ('latency 16:', 'count 0')
11: ('latency 17:', 'count 0')
11: ('latency 18:', 'count 0')
11: ('latency 19:', 'count 0')
11: ('latency 20:', 'count 0')
11: ('latency 21:', 'count 0')
11: ('latency 22:', 'count 0')
11: ('latency 23:', 'count 0')
11: ('latency 24:', 'count 0')
11: ('latency 25:', 'count 0')
11: ('latency 26:', 'count 0')
11: ('latency 27:', 'count 0')
11: ('latency 28:', 'count 0')
11: ('latency 29:', 'count 0')
11: ('latency 30:', 'count 0')
11: ('latency 31:', 'count 0')
11: ('latency 32:', 'count 0')
11: ('latency 33:', 'count 0')
11: ('latency 34:', 'count 0')
11: ('latency 35:', 'count 0')
11: ('latency 36:', 'count 0')
11: ('latency 37:', 'count 0')
11: ('latency 38:', 'count 0')
11: ('latency 39:', 'count 0')
11: ('latency 40:', 'count 0')
11: ('latency 41:', 'count 0')
11: ('latency 42:', 'count 0')
11: ('latency 43:', 'count 0')
11: ('latency 44:', 'count 0')
11: ('latency 45:', 'count 0')
11: ('latency 46:', 'count 0')
11: ('latency 47:', 'count 0')
11: ('latency 48:', 'count 0')
11: ('latency 49:', 'count 0')
11: ('latency 50:', 'count 0')
11: ('latency 51:', 'count 0')
11: ('latency 52:', 'count 0')
11: ('latency 53:', 'count 0')
11: ('latency 54:', 'count 0')
11: ('latency 55:', 'count 0')
11: ('latency 56:', 'count 0')
11: ('latency 57:', 'count 0')
11: ('latency 58:', 'count 0')
11: ('latency 59:', 'count 0')
11: ('latency 60:', 'count 0')
11: ('latency 61:', 'count 0')
11: ('latency 62:', 'count 0')
11: ('latency 63:', 'count 0')
11: ('latency 64:', 'count 0')
11: ('latency 65:', 'count 0')
11: ('latency 66:', 'count 0')
11: ('latency 67:', 'count 0')
11: ('latency 68:', 'count 0')
11: ('latency 69:', 'count 0')
11: ('latency 70:', 'count 0')
11: ('latency 71:', 'count 0')
11: ('latency 72:', 'count 0')
11: ('latency 73:', 'count 0')
11: ('latency 74:', 'count 0')
11: ('latency 75:', 'count 0')
11: ('latency 76:', 'count 0')
11: ('latency 77:', 'count 0')
11: ('latency 78:', 'count 0')
11: ('latency 79:', 'count 0')
11: ('latency 80:', 'count 0')
11: ('latency 81:', 'count 0')
11: ('latency 82:', 'count 0')
11: ('latency 83:', 'count 0')
11: ('latency 84:', 'count 0')
11: ('latency 85:', 'count 0')
11: ('latency 86:', 'count 0')
11: ('latency 87:', 'count 0')
11: ('latency 88:', 'count 0')
11: ('latency 89:', 'count 0')
11: ('latency 90:', 'count 0')
11: ('latency 91:', 'count 0')
11: ('latency 92:', 'count 0')
11: ('latency 93:', 'count 0')
11: ('latency 94:', 'count 0')
11: ('latency 95:', 'count 0')
11: ('latency 96:', 'count 0')
11: ('latency 97:', 'count 0')
11: ('latency 98:', 'count 0')
11: ('latency 99:', 'count 0')
11: .
11: ----------------------------------------------------------------------
11: Ran 1 test in 1.483s
11:
11: OK
11/45 Test #11: py_test_trace3_c ................. Passed 1.70 sec
test 12
Start 12: py_test_trace4
12: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_trace4" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_trace4.py"
12: Test timeout computed to be: 9.99988e+06
12: ..
12: ----------------------------------------------------------------------
12: Ran 2 tests in 1.521s
12:
12: OK
12/45 Test #12: py_test_trace4 ................... Passed 1.73 sec
test 13
Start 13: py_test_trace_maxactive
13: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_trace_maxactive" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_trace_maxactive.py"
13: Test timeout computed to be: 9.99988e+06
13: .
13: ----------------------------------------------------------------------
13: Ran 1 test in 0.970s
13:
13: OK
13/45 Test #13: py_test_trace_maxactive .......... Passed 1.13 sec
test 14
Start 14: py_test_probe_count
14: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_probe_count" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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 5.716s
14:
14: OK
14/45 Test #14: py_test_probe_count .............. Passed 5.78 sec
test 15
Start 15: py_test_debuginfo
15: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_debuginfo" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_debuginfo.py"
15: Test timeout computed to be: 9.99988e+06
15: ......
15: ----------------------------------------------------------------------
15: Ran 6 tests in 0.565s
15:
15: OK
15/45 Test #15: py_test_debuginfo ................ Passed 0.68 sec
test 16
Start 16: py_test_brb
16: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_brb_c" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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
16: 42 bytes from ca:11:8b:20:4d:8f (100.1.1.254): index=0 time=8.960 usec
16:
16: --- 100.1.1.254 statistics ---
16: 1 packets transmitted, 1 packets received, 0% unanswered (0 extra)
16: rtt min/avg/max/std-dev = 0.009/0.009/0.009/0.000 ms
16: ARPING 200.1.1.254
16: 42 bytes from da:4d:ba:a9:fd:51 (200.1.1.254): index=0 time=7.798 usec
16:
16: --- 200.1.1.254 statistics ---
16: 1 packets transmitted, 1 packets received, 0% unanswered (0 extra)
16: rtt min/avg/max/std-dev = 0.008/0.008/0.008/0.000 ms
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.064 ms
16:
16: --- 200.1.1.1 ping statistics ---
16: 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
16: rtt min/avg/max/mdev = 0.064/0.084/0.105/0.022 ms
16: [ ID] Interval Transfer Bandwidth
16: [ 7] 0.0- 1.0 sec 3.17 GBytes 27.2 Gbits/sec
16: [ ID] Interval Transfer Bandwidth
16: [ 10] 0.0- 1.0 sec 3.17 GBytes 27.0 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 : demo
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 27168.47
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 : demo : 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 21539.99
16: 16384 87380
16: .
16: ----------------------------------------------------------------------
16: Ran 1 test in 9.831s
16:
16: OK
16/45 Test #16: py_test_brb ...................... Passed 9.96 sec
test 17
Start 17: py_test_brb2
17: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_brb2_c" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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.152 ms
17: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.066 ms
17:
17: --- 200.1.1.1 ping statistics ---
17: 2 packets transmitted, 2 received, 0% packet loss, time 1007ms
17: rtt min/avg/max/mdev = 0.066/0.109/0.152/0.043 ms
17: [ ID] Interval Transfer Bandwidth
17: [ 7] 0.0- 1.0 sec 2.95 GBytes 25.3 Gbits/sec
17: [ ID] Interval Transfer Bandwidth
17: [ 10] 0.0- 1.0 sec 2.95 GBytes 25.1 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 : demo
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 26433.96
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 : demo : 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 20336.49
17: 16384 87380
17: .
17: ----------------------------------------------------------------------
17: Ran 1 test in 8.006s
17:
17: OK
17/45 Test #17: py_test_brb2 ..................... Passed 8.19 sec
test 18
Start 18: py_test_clang
18: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_clang" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_clang.py"
18: Test timeout computed to be: 9.99988e+06
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:256: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:256: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: ...s....................................../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: ................/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 76.113s
18:
18: OK (skipped=1)
18: 0
18/45 Test #18: py_test_clang .................... Passed 76.62 sec
test 19
Start 19: py_test_histogram
19: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_histogram" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_histogram.py"
19: Test timeout computed to be: 9.99988e+06
19:
19: Bucket ptr = 'java'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 26 |****************************************|
19:
19: Bucket ptr = 'python'
19: value : count distribution
19: 0 -> 1 : 100 |****************************************|
19:
19: Bucket ptr = 'iscsid'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 1 |****************************************|
19:
19: Bucket ptr = 'kworker/u4:1'
19: value : count distribution
19: 0 -> 1 : 1 |****************************************|
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 1 |****************************************|
19:
19: Bucket ptr = 'swapper/0'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 0 | |
19: 67108864 -> 134217727 : 0 | |
19: 134217728 -> 268435455 : 1 | |
19: 268435456 -> 536870911 : 0 | |
19: 536870912 -> 1073741823 : 0 | |
19: 1073741824 -> 2147483647 : 0 | |
19: 2147483648 -> 4294967295 : 0 | |
19: 4294967296 -> 8589934591 : 0 | |
19: 8589934592 -> 17179869183 : 0 | |
19: 17179869184 -> 34359738367 : 0 | |
19: 34359738368 -> 68719476735 : 0 | |
19: 68719476736 -> 137438953471 : 0 | |
19: 137438953472 -> 274877906943 : 0 | |
19: 274877906944 -> 549755813887 : 0 | |
19: 549755813888 -> 1099511627775 : 100 |********************|
19:
19: Bucket ptr = 'rcu_sched'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 2 |****************************************|
19:
19: Bucket ptr = 'gmain'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 1 |****************************************|
19:
19: Bucket ptr = 'ctest'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 10 |****************************************|
19:
19: Bucket ptr = 'swapper/1'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 ....
19: ----------------------------------------------------------------------
19: Ran 4 tests in 3.728s
19:
19: OK
19: : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 2 |* |
19: 67108864 -> 134217727 : 0 | |
19: 134217728 -> 268435455 : 1 | |
19: 268435456 -> 536870911 : 0 | |
19: 536870912 -> 1073741823 : 0 | |
19: 1073741824 -> 2147483647 : 0 | |
19: 2147483648 -> 4294967295 : 0 | |
19: 4294967296 -> 8589934591 : 0 | |
19: 8589934592 -> 17179869183 : 0 | |
19: 17179869184 -> 34359738367 : 0 | |
19: 34359738368 -> 68719476735 : 28 |********************|
19: 68719476736 -> 137438953471 : 0 | |
19: 137438953472 -> 274877906943 : 0 | |
19: 274877906944 -> 549755813887 : 0 | |
19: 549755813888 -> 1099511627775 : 10 |******* |
19/45 Test #19: py_test_histogram ................ Passed 3.79 sec
test 20
Start 20: py_array
20: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_array" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_array.py"
20: Test timeout computed to be: 9.99988e+06
20: ....
20: ----------------------------------------------------------------------
20: Ran 4 tests in 1.635s
20:
20: OK
20/45 Test #20: py_array ......................... Passed 1.69 sec
test 21
Start 21: py_uprobes
21: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_uprobes" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_uprobes.py"
21: Test timeout computed to be: 9.99988e+06
21: .Python 2.7.15rc1
21: .Arena 0:
21: system bytes = 30412800
21: in use bytes = 2980928
21: Total (incl. mmap):
21: system bytes = 31203328
21: in use bytes = 3771456
21: max mmap regions = 7
21: max mmap bytes = 9203712
21: .
21: ----------------------------------------------------------------------
21: Ran 3 tests in 8.670s
21:
21: OK
21/45 Test #21: py_uprobes ....................... Passed 8.80 sec
test 22
Start 22: py_uprobes_2
22: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_uprobes2" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_uprobes2.py"
22: Test timeout computed to be: 9.99988e+06
22: .
22: ----------------------------------------------------------------------
22: Ran 1 test in 0.286s
22:
22: OK
22/45 Test #22: py_uprobes_2 ..................... Passed 0.37 sec
test 23
Start 23: py_test_stackid
23: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_stackid" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_stackid.py"
23: Test timeout computed to be: 9.99988e+06
23: s.
23: ----------------------------------------------------------------------
23: Ran 2 tests in 0.379s
23:
23: OK (skipped=1)
23/45 Test #23: py_test_stackid .................. Passed 0.54 sec
test 24
Start 24: py_test_tracepoint
24: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_tracepoint" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_tracepoint.py"
24: Test timeout computed to be: 9.99988e+06
24: ..
24: ----------------------------------------------------------------------
24: Ran 2 tests in 2.485s
24:
24: OK
24/45 Test #24: py_test_tracepoint ............... Passed 2.58 sec
test 25
Start 25: py_test_perf_event
25: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_perf_event" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/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.366s
25:
25: OK (skipped=1)
25/45 Test #25: py_test_perf_event ............... Passed 0.51 sec
test 26
Start 26: py_test_utils
26: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_utils" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_utils.py"
26: Test timeout computed to be: 9.99988e+06
26: ..
26: ----------------------------------------------------------------------
26: Ran 2 tests in 0.000s
26:
26: OK
26/45 Test #26: py_test_utils .................... Passed 0.05 sec
test 27
Start 27: py_test_percpu
27: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_percpu" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_percpu.py"
27: Test timeout computed to be: 9.99988e+06
27: ....
27: ----------------------------------------------------------------------
27: Ran 4 tests in 2.197s
27:
27: OK
27/45 Test #27: py_test_percpu ................... Passed 2.25 sec
test 28
Start 28: py_test_dump_func
28: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_dump_func" "simple" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_dump_func.py"
28: Test timeout computed to be: 9.99988e+06
28: .
28: ----------------------------------------------------------------------
28: Ran 1 test in 0.125s
28:
28: OK
28/45 Test #28: py_test_dump_func ................ Passed 0.17 sec
test 29
Start 29: py_test_disassembler
29: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_disassembler" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_disassembler.py"
29: Test timeout computed to be: 9.99988e+06
29: ..
29: ----------------------------------------------------------------------
29: Ran 2 tests in 0.245s
29:
29: OK
29/45 Test #29: py_test_disassembler ............. Passed 0.31 sec
test 30
Start 30: py_test_tools_smoke
30: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_tools_smoke" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_tools_smoke.py"
30: Test timeout computed to be: 9.99988e+06
30: Traceback (most recent call last):
30: File "../../tools/argdist.py", line 707, in run
30: self._main_loop()
30: File "../../tools/argdist.py", line 697, in _main_loop
30: exit()
30: File "/usr/lib/python2.7/site.py", line 366, in __call__
30: raise SystemExit(code)
30: SystemExit: None
30: .....'unknown': I need something more specific.
30: .'unknown': I need something more specific.
30: 'unknown': I need something more specific.
30: 'unknown': I need something more specific.
30: 'unknown': I need something more specific.
30: .......s.............'unknown': I need something more specific.
30: ......Killed
30: .s..........libbpf: failed to find valid kernel BTF
30: libbpf: vmlinux BTF is not found
30: ......'unknown': I need something more specific.
30: ...............'unknown': I need something more specific.
30: ...'unknown': I need something more specific.
30: .....'unknown': I need something more specific.
30: ...libbpf: failed to find valid kernel BTF
30: libbpf: vmlinux BTF is not found
30: ......
30: ----------------------------------------------------------------------
30: Ran 83 tests in 276.577s
30:
30: OK (skipped=2)
30/45 Test #30: py_test_tools_smoke .............. Passed 276.68 sec
test 31
Start 31: py_test_tools_memleak
31: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_tools_memleak" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_tools_memleak.py"
31: Test timeout computed to be: 9.99988e+06
31: cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .
31: ----------------------------------------------------------------------
31: Ran 8 tests in 23.931s
31:
31: OK
31/45 Test #31: py_test_tools_memleak ............ Passed 23.98 sec
test 32
Start 32: py_test_usdt
32: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_usdt" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_usdt.py"
32: Test timeout computed to be: 9.99988e+06
32: <stdin>:23:17: warning: null character(s) preserved in literal
32: <stdin>:28:17: warning: null character(s) preserved in literal
32: <stdin>: In function ‘int main()’:
32: <stdin>:25:49: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
32: <stdin>:30:49: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
32: clang -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model static -mthread-model posix -fno-jump-tables -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -coverage-notes-file /usr/src/linux-headers-4.15.0-1009-gcp/main.gcno -nostdsysteminc -nobuiltininc -resource-dir lib/clang/6.0.0 -isystem /virtual/lib/clang/include -include ./include/linux/kconfig.h -include /virtual/include/bcc/bpf.h -include /virtual/include/bcc/helpers.h -isystem /virtual/include -I /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python -D __BPF_TRACING__ -I arch/x86/include/ -I arch/x86/include/generated -I include -I arch/x86/include/uapi -I arch/x86/include/generated/uapi -I include/uapi -I include/generated/uapi -D __KERNEL__ -D __HAVE_BUILTIN_BSWAP16__ -D __HAVE_BUILTIN_BSWAP32__ -D __HAVE_BUILTIN_BSWAP64__ -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/linux-headers-4.15.0-1009-gcp -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o main.bc -x c /virtual/main.c
32: #if defined(BPF_LICENSE)
32: #error BPF_LICENSE cannot be specified through cflags
32: #endif
32: #if !defined(CONFIG_CC_STACKPROTECTOR)
32: #if defined(CONFIG_CC_STACKPROTECTOR_AUTO) \
32: || defined(CONFIG_CC_STACKPROTECTOR_REGULAR) \
32: || defined(CONFIG_CC_STACKPROTECTOR_STRONG)
32: #define CONFIG_CC_STACKPROTECTOR
32: #endif
32: #endif
32: #define bpf_probe_read_kernel bpf_probe_read
32: #define bpf_probe_read_kernel_str bpf_probe_read_str
32: #define bpf_probe_read_user bpf_probe_read
32: #define bpf_probe_read_user_str bpf_probe_read_str
32: #include <uapi/linux/ptrace.h>
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace1_1(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int8_t)) return -1;
32: switch(PT_REGS_IP(ctx)) {
32: case 0x55f0c8f7080bULL: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
32: case 0x55f0c8f70811ULL: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
32: }
32: return -1;
32: }
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace1_2(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int32_t)) return -1;
32: switch(PT_REGS_IP(ctx)) {
32: case 0x55f0c8f7080bULL: { u64 __addr = ctx->bp + -204; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
32: case 0x55f0c8f70811ULL: { u64 __addr = ctx->bp + -208; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
32: }
32: return -1;
32: }
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace3_1(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int32_t)) return -1;
32: switch(PT_REGS_IP(ctx)) {
32: case 0x55f0c8f7080cULL: { u64 __addr = ctx->bp + -208; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
32: case 0x55f0c8f7081fULL: *((int32_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
32: }
32: return -1;
32: }
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace3_2(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int32_t)) return -1;
32: switch(PT_REGS_IP(ctx)) {
32: case 0x55f0c8f7080cULL: { u64 __addr = ctx->bp + -204; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
32: case 0x55f0c8f7081fULL: *((int32_t *)dest) = ctx->dx; __asm__ __volatile__("": : :"memory"); return 0;
32: }
32: return -1;
32: }
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace2_1(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int32_t)) return -1;
32: *((int32_t *)dest) = 5;
32: return 0;
32: }
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace2_2(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int8_t)) return -1;
32: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory");
32: return 0;
32: }
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace4_1(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int64_t)) return -1;
32: *((int64_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory");
32: return 0;
32: }
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace4_2(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int64_t)) return -1;
32: *((int64_t *)dest) = ctx->dx; __asm__ __volatile__("": : :"memory");
32: return 0;
32: }
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace5_1(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int64_t)) return -1;
32: *((int64_t *)dest) = ctx->dx; __asm__ __volatile__("": : :"memory");
32: return 0;
32: }
32: __attribute__((always_inline))
32: static __always_inline int _bpf_readarg_do_trace5_2(struct pt_regs *ctx, void *dest, size_t len) {
32: if (len != sizeof(int64_t)) return -1;
32: *((int64_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory");
32: return 0;
32: }
32:
32: #include <linux/blkdev.h>
32: #include <uapi/linux/ptrace.h>
32:
32: struct probe_result_t1 {
32: char v1;
32: int v2;
32: };
32:
32: struct probe_result_t2 {
32: int v1;
32: char v2;
32: };
32:
32: struct probe_result_t3 {
32: int v1;
32: int v2;
32: };
32:
32: struct probe_result_t4 {
32: u64 v1;
32: char v2[8];
32: };
32:
32: struct probe_result_t5 {
32: char v1[8];
32: u64 v2;
32: };
32:
32: BPF_PERF_OUTPUT(event1);
32: BPF_PERF_OUTPUT(event2);
32: BPF_PERF_OUTPUT(event3);
32: BPF_PERF_OUTPUT(event4);
32: BPF_PERF_OUTPUT(event5);
32:
32: __attribute__((section(".bpf.fn.do_trace1")))
32: int do_trace1(struct pt_regs *ctx) {
32:
32: struct probe_result_t1 result = {};
32: _bpf_readarg_do_trace1_1(ctx, &result.v1, sizeof(*(&result.v1)));
32: _bpf_readarg_do_trace1_2(ctx, &result.v2, sizeof(*(&result.v2)));
32: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -1), CUR_CPU_IDENTIFIER, &result, sizeof(result));
32: return 0;
32: };
32: __attribute__((section(".bpf.fn.do_trace2")))
32: int do_trace2(struct pt_regs *ctx) {
32:
32: struct probe_result_t2 result = {};
32: _bpf_readarg_do_trace2_1(ctx, &result.v1, sizeof(*(&result.v1)));
32: _bpf_readarg_do_trace2_2(ctx, &result.v2, sizeof(*(&result.v2)));
32: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -2), CUR_CPU_IDENTIFIER, &result, sizeof(result));
32: return 0;
32: }
32: __attribute__((section(".bpf.fn.do_trace3")))
32: int do_trace3(struct pt_regs *ctx) {
32:
32: struct probe_result_t3 result = {};
32: _bpf_readarg_do_trace3_1(ctx, &result.v1, sizeof(*(&result.v1)));
32: _bpf_readarg_do_trace3_2(ctx, &result.v2, sizeof(*(&result.v2)));
32: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -3), CUR_CPU_IDENTIFIER, &result, sizeof(result));
32: return 0;
32: }
32: __attribute__((section(".bpf.fn.do_trace4")))
32: int do_trace4(struct pt_regs *ctx) {
32:
32: struct probe_result_t4 result = {};
32: _bpf_readarg_do_trace4_1(ctx, &result.v1, sizeof(*(&result.v1)));
32: ({ u64 __addr = 0x0; _bpf_readarg_do_trace4_2(ctx, &__addr, sizeof(__addr));bpf_probe_read(&result.v2, sizeof(result.v2), (void *)__addr);});
32: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -4), CUR_CPU_IDENTIFIER, &result, sizeof(result));
32: return 0;
32: }
32: __attribute__((section(".bpf.fn.do_trace5")))
32: int do_trace5(struct pt_regs *ctx) {
32:
32: struct probe_result_t5 result = {};
32: ({ u64 __addr = 0x0; _bpf_readarg_do_trace5_1(ctx, &__addr, sizeof(__addr));bpf_probe_read(&result.v1, sizeof(result.v1), (void *)__addr);});
32: _bpf_readarg_do_trace5_2(ctx, &result.v2, sizeof(*(&result.v2)));
32: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -5), CUR_CPU_IDENTIFIER, &result, sizeof(result));
32: return 0;
32: }
32:
32: #include <bcc/footer.h>
32: .
32: ----------------------------------------------------------------------
32: Ran 1 test in 4.059s
32:
32: OK
32: Running from kernel directory at: /lib/modules/4.15.0-1009-gcp/build
32: str4
32: str5
32: str6
32: str7
32: str8
32: str9
32/45 Test #32: py_test_usdt ..................... Passed 4.36 sec
test 33
Start 33: py_test_usdt2
33: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_usdt2" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_usdt2.py"
33: Test timeout computed to be: 9.99988e+06
33: .
33: ----------------------------------------------------------------------
33: Ran 1 test in 3.057s
33:
33: OK
33/45 Test #33: py_test_usdt2 .................... Passed 3.26 sec
test 34
Start 34: py_test_usdt3
34: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_usdt3" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_usdt3.py"
34: Test timeout computed to be: 9.99988e+06
34: test:probe [sema 0x0]
34: location #1 /proc/8505/root/tmp/tmpvabYJd/liba.so 0x581
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #2 /proc/8505/root/tmp/tmpvabYJd/libb.so 0x581
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #3 /proc/8505/root/tmp/tmpvabYJd/a.out 0x7b1
34: argument #1 4 signed bytes @ *(bp - 4)
34: test_dup_name:probe [sema 0x0]
34: location #1 /proc/8505/root/tmp/tmpvabYJd/liba.so 0x582
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #2 /proc/8505/root/tmp/tmpvabYJd/libb.so 0x582
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #3 /proc/8505/root/tmp/tmpvabYJd/a.out 0x7b2
34: argument #1 4 signed bytes @ *(bp - 4)
34: libc:setjmp [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x3ebb1
34: argument #1 8 unsigned bytes @ di
34: argument #2 4 signed bytes @ si
34: argument #3 8 unsigned bytes @ ax
34: libc:longjmp [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x3ec93
34: argument #1 8 unsigned bytes @ di
34: argument #2 4 signed bytes @ si
34: argument #3 8 unsigned bytes @ dx
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x134bc3
34: argument #1 8 unsigned bytes @ di
34: argument #2 4 signed bytes @ si
34: argument #3 8 unsigned bytes @ dx
34: libc:longjmp_target [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x3ecaf
34: argument #1 8 unsigned bytes @ di
34: argument #2 4 signed bytes @ ax
34: argument #3 8 unsigned bytes @ dx
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x134bdf
34: argument #1 8 unsigned bytes @ di
34: argument #2 4 signed bytes @ ax
34: argument #3 8 unsigned bytes @ dx
34: libc:memory_mallopt_arena_max [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x906e3
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ *(&mp_ + 32)
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9ac79
34: argument #1 8 unsigned bytes @ bx
34: argument #2 8 unsigned bytes @ *(&mp_ + 32)
34: libc:memory_mallopt_arena_test [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x906f3
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ *(&mp_ + 24)
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9ac91
34: argument #1 8 unsigned bytes @ bx
34: argument #2 8 unsigned bytes @ *(&mp_ + 24)
34: libc:memory_tunable_tcache_max_bytes [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9070b
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ *(&mp_ + 88)
34: libc:memory_tunable_tcache_count [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x90743
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ *(&mp_ + 96)
34: libc:memory_tunable_tcache_unsorted_limit [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x90753
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ *(&mp_ + 104)
34: libc:memory_mallopt_trim_threshold [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x90863
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ *(&mp_ + 0)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9ac10
34: argument #1 8 unsigned bytes @ bx
34: argument #2 8 unsigned bytes @ *(&mp_ + 0)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: libc:memory_mallopt_top_pad [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x90883
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ *(&mp_ + 8)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9ad40
34: argument #1 8 unsigned bytes @ bx
34: argument #2 8 unsigned bytes @ *(&mp_ + 8)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: libc:memory_mallopt_mmap_threshold [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x908ab
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ *(&mp_ + 16)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9ad1f
34: argument #1 8 unsigned bytes @ bx
34: argument #2 8 unsigned bytes @ *(&mp_ + 16)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: libc:memory_mallopt_mmap_max [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x908c3
34: argument #1 4 signed bytes @ ax
34: argument #2 4 signed bytes @ *(&mp_ + 44)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9acf0
34: argument #1 4 signed bytes @ bx
34: argument #2 4 signed bytes @ *(&mp_ + 44)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: libc:memory_mallopt_perturb [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x908e3
34: argument #1 4 signed bytes @ ax
34: argument #2 4 signed bytes @ *(&perturb_byte + 0)
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9aca0
34: argument #1 4 signed bytes @ bx
34: argument #2 4 signed bytes @ *(&perturb_byte + 0)
34: libc:memory_heap_new [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x90c4e
34: argument #1 8 unsigned bytes @ bx
34: argument #2 8 unsigned bytes @ bp
34: libc:memory_sbrk_less [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9138d
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 signed bytes @ bp
34: libc:memory_arena_reuse [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x91865
34: argument #1 8 unsigned bytes @ dx
34: argument #2 8 unsigned bytes @ bx
34: libc:memory_arena_reuse_wait [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x91975
34: argument #1 8 unsigned bytes @ dx
34: argument #2 8 unsigned bytes @ dx
34: argument #3 8 unsigned bytes @ bx
34: libc:memory_arena_new [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x91bd0
34: argument #1 8 unsigned bytes @ dx
34: argument #2 8 unsigned bytes @ bp
34: libc:memory_arena_reuse_free_list [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x91e8c
34: argument #1 8 unsigned bytes @ dx
34: libc:memory_arena_retry [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x91fc9
34: argument #1 8 unsigned bytes @ si
34: argument #2 8 unsigned bytes @ di
34: libc:memory_heap_free [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x933e6
34: argument #1 8 unsigned bytes @ r10
34: argument #2 8 unsigned bytes @ ax
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x98214
34: argument #1 8 unsigned bytes @ r14
34: argument #2 8 unsigned bytes @ ax
34: location #3 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x19bfd0
34: argument #1 8 unsigned bytes @ r11
34: argument #2 8 unsigned bytes @ ax
34: libc:memory_heap_less [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x93803
34: argument #1 8 unsigned bytes @ r10
34: argument #2 8 unsigned bytes @ r15
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9863c
34: argument #1 8 unsigned bytes @ r14
34: argument #2 8 unsigned bytes @ r15
34: location #3 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x19c44e
34: argument #1 8 unsigned bytes @ r11
34: argument #2 8 unsigned bytes @ r15
34: libc:memory_heap_more [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x93b3a
34: argument #1 8 unsigned bytes @ r9
34: argument #2 8 unsigned bytes @ r8
34: libc:memory_sbrk_more [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x93daf
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 signed bytes @ r12
34: libc:memory_mallopt_free_dyn_thresholds [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x97b16
34: argument #1 8 unsigned bytes @ si
34: argument #2 8 unsigned bytes @ ax
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x19baa8
34: argument #1 8 unsigned bytes @ si
34: argument #2 8 unsigned bytes @ ax
34: location #3 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x19c24c
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ dx
34: libc:memory_malloc_retry [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x96df0
34: argument #1 8 unsigned bytes @ bx
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x973e0
34: argument #1 8 unsigned bytes @ bx
34: libc:memory_memalign_retry [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x978e8
34: argument #1 8 unsigned bytes @ r13
34: argument #2 8 unsigned bytes @ bx
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x99528
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bx
34: location #3 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x99a48
34: argument #1 8 unsigned bytes @ r13
34: argument #2 8 unsigned bytes @ bx
34: location #4 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x99ff8
34: argument #1 8 unsigned bytes @ bp
34: argument #2 8 unsigned bytes @ bx
34: location #5 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9b103
34: argument #1 8 unsigned bytes @ bp
34: argument #2 8 unsigned bytes @ bx
34: libc:memory_realloc_retry [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x98bf5
34: argument #1 8 unsigned bytes @ bp
34: argument #2 8 unsigned bytes @ bx
34: location #2 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x99045
34: argument #1 8 unsigned bytes @ bp
34: argument #2 8 unsigned bytes @ bx
34: libc:memory_calloc_retry [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9a3b0
34: argument #1 8 unsigned bytes @ bp
34: libc:memory_mallopt [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9abd4
34: argument #1 4 signed bytes @ bp
34: argument #2 4 signed bytes @ bx
34: libc:memory_mallopt_mxfast [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x9acc6
34: argument #1 4 signed bytes @ bx
34: argument #2 8 unsigned bytes @ *(&global_max_fast + 0)
34: libc:lll_lock_wait_private [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/libc-2.27.so 0x1306a4
34: argument #1 8 unsigned bytes @ di
34: rtld:init_start [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x3df2
34: argument #1 4 signed bytes @ 0
34: argument #2 8 unsigned bytes @ bx
34: rtld:init_complete [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x44d1
34: argument #1 4 signed bytes @ 0
34: argument #2 8 unsigned bytes @ bx
34: rtld:map_failed [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x5ba6
34: argument #1 8 signed bytes @ *(sp + 72)
34: argument #2 8 unsigned bytes @ bp
34: rtld:map_start [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x6b2a
34: argument #1 8 signed bytes @ *(bp + 40)
34: argument #2 8 unsigned bytes @ bx
34: rtld:map_complete [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x14faa
34: argument #1 8 signed bytes @ *(r14 + 40)
34: argument #2 8 unsigned bytes @ bx
34: argument #3 8 unsigned bytes @ r12
34: rtld:reloc_start [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x1507b
34: argument #1 8 signed bytes @ *(r14 + 40)
34: argument #2 8 unsigned bytes @ *(bp - 72)
34: rtld:reloc_complete [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x1541c
34: argument #1 8 signed bytes @ *(r14 + 40)
34: argument #2 8 unsigned bytes @ *(bp - 72)
34: argument #3 8 unsigned bytes @ r12
34: rtld:unmap_start [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x160b7
34: argument #1 8 signed bytes @ r14
34: argument #2 8 unsigned bytes @ bx
34: rtld:unmap_complete [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x16354
34: argument #1 8 signed bytes @ *(bp - 120)
34: argument #2 8 unsigned bytes @ bx
34: rtld:setjmp [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x1d0cd
34: argument #1 8 unsigned bytes @ di
34: argument #2 4 signed bytes @ si
34: argument #3 8 unsigned bytes @ ax
34: rtld:longjmp [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x1d10d
34: argument #1 8 unsigned bytes @ di
34: argument #2 4 signed bytes @ si
34: argument #3 8 unsigned bytes @ dx
34: rtld:longjmp_target [sema 0x0]
34: location #1 /proc/8505/root/lib/x86_64-linux-gnu/ld-2.27.so 0x1d129
34: argument #1 8 unsigned bytes @ di
34: argument #2 4 signed bytes @ ax
34: argument #3 8 unsigned bytes @ dx
34: .
34: ----------------------------------------------------------------------
34: Ran 1 test in 1.129s
34:
34: OK
34: temp directory: /tmp/tmpvabYJd
34/45 Test #34: py_test_usdt3 .................... Passed 1.30 sec
test 35
Start 35: py_test_license
35: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_license" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_license.py"
35: Test timeout computed to be: 9.99988e+06
35: /virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
35: #error BPF_LICENSE cannot be specified through cflags
35: ^
35: 1 error generated.
35: x/virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
35: #error BPF_LICENSE cannot be specified through cflags
35: ^
35: 1 error generated.
35: x.bpf: Failed to load program: Invalid argument
35: 0: (bf) r6 = r1
35: 1: (85) call bpf_ktime_get_ns#5
35: cannot call GPL only function from proprietary program
35:
35: x../virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
35: #error BPF_LICENSE cannot be specified through cflags
35: ^
35: 1 error generated.
35: xbpf: Failed to load program: Invalid argument
35: 0: (bf) r6 = r1
35: 1: (85) call bpf_ktime_get_ns#5
35: cannot call GPL only function from proprietary program
35:
35: x..
35: ----------------------------------------------------------------------
35: Ran 10 tests in 2.876s
35:
35: OK (expected failures=5)
35/45 Test #35: py_test_license .................. Passed 2.93 sec
test 36
Start 36: py_test_free_bcc_memory
36: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_free_bcc_memory" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_free_bcc_memory.py"
36: Test timeout computed to be: 9.99988e+06
36: .
36: ----------------------------------------------------------------------
36: Ran 1 test in 0.282s
36:
36: OK
36: Before freeing llvm memory: RssFile: 44192 kB
36: After freeing llvm memory: RssFile: 11996 kB
36/45 Test #36: py_test_free_bcc_memory .......... Passed 0.34 sec
test 37
Start 37: py_test_rlimit
37: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_rlimit" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_rlimit.py"
37: Test timeout computed to be: 9.99988e+06
37: could not open bpf map: unused, error: Operation not permitted
37: .
37: ----------------------------------------------------------------------
37: Ran 1 test in 0.472s
37:
37: OK
37/45 Test #37: py_test_rlimit ................... Passed 0.53 sec
test 38
Start 38: py_test_lpm_trie
38: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_lpm_trie" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_lpm_trie.py"
38: Test timeout computed to be: 9.99988e+06
38: ..
38: ----------------------------------------------------------------------
38: Ran 2 tests in 0.472s
38:
38: OK
38/45 Test #38: py_test_lpm_trie ................. Passed 0.54 sec
test 39
Start 39: py_ringbuf
39: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_ringbuf" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_ringbuf.py"
39: Test timeout computed to be: 9.99988e+06
39: ssss
39: ----------------------------------------------------------------------
39: Ran 4 tests in 0.000s
39:
39: OK (skipped=4)
39/45 Test #39: py_ringbuf ....................... Passed 0.05 sec
test 40
Start 40: py_queuestack
40: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_queuestack" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_queuestack.py"
40: Test timeout computed to be: 9.99988e+06
40: ss
40: ----------------------------------------------------------------------
40: Ran 2 tests in 0.000s
40:
40: OK (skipped=2)
40/45 Test #40: py_queuestack .................... Passed 0.05 sec
test 41
Start 41: py_test_map_batch_ops
41: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "py_test_map_batch_ops" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/python/test_map_batch_ops.py"
41: Test timeout computed to be: 9.99988e+06
41: s
41: ----------------------------------------------------------------------
41: Ran 1 test in 0.000s
41:
41: OK (skipped=1)
41/45 Test #41: py_test_map_batch_ops ............ Passed 0.05 sec
test 42
Start 42: lua_test_clang
42: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "lua_test_clang" "sudo" "/usr/bin/luajit" "test_clang.lua"
42: Test timeout computed to be: 9.99988e+06
42: /virtual/main.c:1:30: error: expected expression
42: int failure(void *ctx) { if (); return 0; }
42: ^
42: 1 error generated.
42: ....................
42: Ran 20 tests in 12.554 seconds, 20 successes, 0 failures
42: OK
42/45 Test #42: lua_test_clang ................... Passed 12.58 sec
test 43
Start 43: lua_test_uprobes
43: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "lua_test_uprobes" "sudo" "/usr/bin/luajit" "test_uprobes.lua"
43: Test timeout computed to be: 9.99988e+06
43: Python 2.7.15rc1
43: Arena 0:
43: system bytes = 26656768
43: in use bytes = 1092992
43: Total (incl. mmap):
43: system bytes = 26656768
43: in use bytes = 1092992
43: max mmap regions = 7
43: max mmap bytes = 8556544
43: ..
43: Ran 2 tests in 0.523 seconds, 2 successes, 0 failures
43: OK
43/45 Test #43: lua_test_uprobes ................. Passed 0.67 sec
test 44
Start 44: lua_test_dump
44: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/build/tests/wrapper.sh "lua_test_dump" "sudo" "/usr/bin/luajit" "test_dump.lua"
44: Test timeout computed to be: 9.99988e+06
44: .
44: Ran 1 tests in 0.237 seconds, 1 successes, 0 failures
44: OK
44/45 Test #44: lua_test_dump .................... Passed 0.26 sec
test 45
Start 45: lua_test_standalone
45: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1804/tests/lua/test_standalone.sh
45: Test timeout computed to be: 9.99988e+06
45: + cd src/lua
45: + [[ ! -x bcc-lua ]]
45: + echo 'bcc-lua not built --- skipping'
45: bcc-lua not built --- skipping
45: + exit 0
45/45 Test #45: lua_test_standalone .............. Passed 0.00 sec
100% tests passed, 0 tests failed out of 45
Total Test time (real) = 481.45 sec
+ head -n 1 Testing/TAG
+ cp Testing/20210305-2237/Test.xml ./CTestResults.xml
Taking single-use slave ubuntu1804-slave-e1b offline.
Finished: SUCCESS