Console Output
Skipping 391 KB..
Full Log1: + [298] = "perf_event_open",
1: + [299] = "recvmmsg",
1: + [300] = "fanotify_init",
1: + [301] = "fanotify_mark",
1: + [302] = "prlimit64",
1: + [303] = "name_to_handle_at",
1: + [304] = "open_by_handle_at",
1: + [305] = "clock_adjtime",
1: + [306] = "syncfs",
1: + [307] = "sendmmsg",
1: + [308] = "setns",
1: + [309] = "getcpu",
1: + [310] = "process_vm_readv",
1: + [311] = "process_vm_writev",
1: + [312] = "kcmp",
1: + [313] = "finit_module",
1: + [314] = "sched_setattr",
1: + [315] = "sched_getattr",
1: + [316] = "renameat2",
1: + [317] = "seccomp",
1: + [318] = "getrandom",
1: + [319] = "memfd_create",
1: + [320] = "kexec_file_load",
1: + [321] = "bpf",
1: + [322] = "execveat",
1: + [323] = "userfaultfd",
1: + [324] = "membarrier",
1: + [325] = "mlock2",
1: + [326] = "copy_file_range",
1: + [327] = "preadv2",
1: + [328] = "pwritev2",
1: + [329] = "pkey_mprotect",
1: + [330] = "pkey_alloc",
1: + [331] = "pkey_free",
1: + [332] = "statx",
1: + [333] = "io_pgetevents",
1: + [334] = "rseq",
1: + [424] = "pidfd_send_signal",
1: + [425] = "io_uring_setup",
1: + [426] = "io_uring_enter",
1: + [427] = "io_uring_register",
1: + [428] = "open_tree",
1: + [429] = "move_mount",
1: + [430] = "fsopen",
1: + [431] = "fsconfig",
1: + [432] = "fsmount",
1: + [433] = "fspick",
1: + [434] = "pidfd_open",
1: + [435] = "clone3",
1: + [437] = "openat2",
1: + [438] = "pidfd_getfd",
1: };
1: -size_t syscall_names_x86_64_size = sizeof(syscall_names_x86_64)/sizeof(char*);
1: +size_t syscall_names_x86_64_size =
1: + sizeof(syscall_names_x86_64) / sizeof(char *);
1: #endif
1:
1: -void syscall_name(unsigned n, char *buf, size_t size)
1: -{
1: - const char *name = NULL;
1: +void syscall_name(unsigned n, char *buf, size_t size) {
1: + const char *name = NULL;
1:
1: - if (n < syscall_names_size)
1: - name = syscall_names[n];
1: + if (n < syscall_names_size)
1: + name = syscall_names[n];
1: #ifdef __x86_64__
1: - else if (n < syscall_names_x86_64_size)
1: - name = syscall_names_x86_64[n];
1: + else if (n < syscall_names_x86_64_size)
1: + name = syscall_names_x86_64[n];
1: #endif
1:
1: - if (name)
1: - strncpy(buf, name, size-1);
1: - else
1: - snprintf(buf, size, "[unknown: %u]", n);
1: + if (name)
1: + strncpy(buf, name, size - 1);
1: + else
1: + snprintf(buf, size, "[unknown: %u]", n);
1: }
1:
1: -int list_syscalls(void)
1: -{
1: - const char **list = syscall_names;
1: - size_t size = syscall_names_size;
1: +int list_syscalls(void) {
1: + const char **list = syscall_names;
1: + size_t size = syscall_names_size;
1:
1: #ifdef __x86_64__
1: - if (!size) {
1: - size = syscall_names_x86_64_size;
1: - list = syscall_names_x86_64;
1: - }
1: + if (!size) {
1: + size = syscall_names_x86_64_size;
1: + list = syscall_names_x86_64;
1: + }
1: #endif
1:
1: - for (size_t i = 0; i < size; i++) {
1: - if (list[i])
1: - printf("%3zd: %s\n", i, list[i]);
1: - }
1: + for (size_t i = 0; i < size; i++) {
1: + if (list[i])
1: + printf("%3zd: %s\n", i, list[i]);
1: + }
1:
1: - return (!list || !size);
1: + return (!list || !size);
1: }
1: -
1: diff --git a/libbpf-tools/syscount.bpf.c b/libbpf-tools/syscount.bpf.c
1: index ffac0be..d5e5ab7 100644
1: --- a/libbpf-tools/syscount.bpf.c
1: +++ b/libbpf-tools/syscount.bpf.c
1: @@ -2,12 +2,12 @@
1: // Copyright (c) 2020 Anton Protopopov
1: //
1: // Based on syscount(8) from BCC by Sasha Goldshtein
1: -#include "vmlinux.h"
1: +#include "syscount.h"
1: +#include <bpf/bpf_core_read.h>
1: #include <bpf/bpf_helpers.h>
1: #include <bpf/bpf_tracing.h>
1: -#include <bpf/bpf_core_read.h>
1: #include <string.h>
1: -#include "syscount.h"
1: +#include "vmlinux.h"
1:
1: const volatile bool count_by_process = false;
1: const volatile bool measure_latency = false;
1: @@ -16,105 +16,100 @@ const volatile int filter_errno = false;
1: const volatile pid_t filter_pid = 0;
1:
1: struct {
1: - __uint(type, BPF_MAP_TYPE_HASH);
1: - __uint(max_entries, MAX_ENTRIES);
1: - __type(key, u32);
1: - __type(value, u64);
1: - __uint(map_flags, BPF_F_NO_PREALLOC);
1: + __uint(type, BPF_MAP_TYPE_HASH);
1: + __uint(max_entries, MAX_ENTRIES);
1: + __type(key, u32);
1: + __type(value, u64);
1: + __uint(map_flags, BPF_F_NO_PREALLOC);
1: } start SEC(".maps");
1:
1: struct {
1: - __uint(type, BPF_MAP_TYPE_HASH);
1: - __uint(max_entries, MAX_ENTRIES);
1: - __type(key, u32);
1: - __type(value, struct data_t);
1: - __uint(map_flags, BPF_F_NO_PREALLOC);
1: + __uint(type, BPF_MAP_TYPE_HASH);
1: + __uint(max_entries, MAX_ENTRIES);
1: + __type(key, u32);
1: + __type(value, struct data_t);
1: + __uint(map_flags, BPF_F_NO_PREALLOC);
1: } data SEC(".maps");
1:
1: -static __always_inline
1: -void *bpf_map_lookup_or_try_init(void *map, void *key, const void *init)
1: -{
1: - void *val;
1: - int err;
1: +static __always_inline void *bpf_map_lookup_or_try_init(void *map, void *key,
1: + const void *init) {
1: + void *val;
1: + int err;
1:
1: - val = bpf_map_lookup_elem(map, key);
1: - if (val)
1: - return val;
1: + val = bpf_map_lookup_elem(map, key);
1: + if (val)
1: + return val;
1:
1: - err = bpf_map_update_elem(map, key, init, 0);
1: - if (err)
1: - return (void *) 0;
1: + err = bpf_map_update_elem(map, key, init, 0);
1: + if (err)
1: + return (void *)0;
1:
1: - return bpf_map_lookup_elem(map, key);
1: + return bpf_map_lookup_elem(map, key);
1: }
1:
1: -static __always_inline
1: -void save_proc_name(struct data_t *val)
1: -{
1: - struct task_struct *current = (void *)bpf_get_current_task();
1: +static __always_inline void save_proc_name(struct data_t *val) {
1: + struct task_struct *current = (void *)bpf_get_current_task();
1:
1: - /* We should save the process name every time because it can be
1: - * changed (e.g., by exec). This can be optimized later by managing
1: - * this field with the help of tp/sched/sched_process_exec and
1: - * raw_tp/task_rename. */
1: - BPF_CORE_READ_STR_INTO(&val->comm, current, group_leader, comm);
1: + /* We should save the process name every time because it can be
1: + * changed (e.g., by exec). This can be optimized later by managing
1: + * this field with the help of tp/sched/sched_process_exec and
1: + * raw_tp/task_rename. */
1: + BPF_CORE_READ_STR_INTO(&val->comm, current, group_leader, comm);
1: }
1:
1: SEC("tracepoint/raw_syscalls/sys_enter")
1: -int sys_enter(struct trace_event_raw_sys_enter *args)
1: -{
1: - u64 id = bpf_get_current_pid_tgid();
1: - pid_t pid = id >> 32;
1: - u32 tid = id;
1: - u64 ts;
1: -
1: - if (filter_pid && pid != filter_pid)
1: - return 0;
1: -
1: - ts = bpf_ktime_get_ns();
1: - bpf_map_update_elem(&start, &tid, &ts, 0);
1: - return 0;
1: +int sys_enter(struct trace_event_raw_sys_enter *args) {
1: + u64 id = bpf_get_current_pid_tgid();
1: + pid_t pid = id >> 32;
1: + u32 tid = id;
1: + u64 ts;
1: +
1: + if (filter_pid && pid != filter_pid)
1: + return 0;
1: +
1: + ts = bpf_ktime_get_ns();
1: + bpf_map_update_elem(&start, &tid, &ts, 0);
1: + return 0;
1: }
1:
1: SEC("tracepoint/raw_syscalls/sys_exit")
1: -int sys_exit(struct trace_event_raw_sys_exit *args)
1: -{
1: - struct task_struct *current;
1: - u64 id = bpf_get_current_pid_tgid();
1: - static const struct data_t zero;
1: - pid_t pid = id >> 32;
1: - struct data_t *val;
1: - u64 *start_ts;
1: - u32 tid = id;
1: - u32 key;
1: -
1: - /* this happens when there is an interrupt */
1: - if (args->id == -1)
1: - return 0;
1: -
1: - if (filter_pid && pid != filter_pid)
1: - return 0;
1: - if (filter_failed && args->ret >= 0)
1: - return 0;
1: - if (filter_errno && args->ret != -filter_errno)
1: - return 0;
1: -
1: - if (measure_latency) {
1: - start_ts = bpf_map_lookup_elem(&start, &tid);
1: - if (!start_ts)
1: - return 0;
1: - }
1: -
1: - key = (count_by_process) ? pid : args->id;
1: - val = bpf_map_lookup_or_try_init(&data, &key, &zero);
1: - if (val) {
1: - val->count++;
1: - if (count_by_process)
1: - save_proc_name(val);
1: - if (measure_latency)
1: - val->total_ns += bpf_ktime_get_ns() - *start_ts;
1: - }
1: - return 0;
1: +int sys_exit(struct trace_event_raw_sys_exit *args) {
1: + struct task_struct *current;
1: + u64 id = bpf_get_current_pid_tgid();
1: + static const struct data_t zero;
1: + pid_t pid = id >> 32;
1: + struct data_t *val;
1: + u64 *start_ts;
1: + u32 tid = id;
1: + u32 key;
1: +
1: + /* this happens when there is an interrupt */
1: + if (args->id == -1)
1: + return 0;
1: +
1: + if (filter_pid && pid != filter_pid)
1: + return 0;
1: + if (filter_failed && args->ret >= 0)
1: + return 0;
1: + if (filter_errno && args->ret != -filter_errno)
1: + return 0;
1: +
1: + if (measure_latency) {
1: + start_ts = bpf_map_lookup_elem(&start, &tid);
1: + if (!start_ts)
1: + return 0;
1: + }
1: +
1: + key = (count_by_process) ? pid : args->id;
1: + val = bpf_map_lookup_or_try_init(&data, &key, &zero);
1: + if (val) {
1: + val->count++;
1: + if (count_by_process)
1: + save_proc_name(val);
1: + if (measure_latency)
1: + val->total_ns += bpf_ktime_get_ns() - *start_ts;
1: + }
1: + return 0;
1: }
1:
1: char LICENSE[] SEC("license") = "GPL";
1: diff --git a/libbpf-tools/syscount.c b/libbpf-tools/syscount.c
1: index 98cb5c6..069282b 100644
1: --- a/libbpf-tools/syscount.c
1: +++ b/libbpf-tools/syscount.c
1: @@ -2,481 +2,458 @@
1: // Copyright (c) 2020 Anton Protopopov
1: //
1: // Based on syscount(8) from BCC by Sasha Goldshtein
1: -#include <sys/resource.h>
1: -#include <unistd.h>
1: -#include <signal.h>
1: -#include <fcntl.h>
1: -#include <time.h>
1: +#include "syscount.h"
1: #include <argp.h>
1: #include <bpf/bpf.h>
1: -#include "syscount.h"
1: -#include "syscount.skel.h"
1: +#include <fcntl.h>
1: +#include <signal.h>
1: +#include <sys/resource.h>
1: +#include <time.h>
1: +#include <unistd.h>
1: #include "errno_helpers.h"
1: #include "syscall_helpers.h"
1: +#include "syscount.skel.h"
1:
1: /* This structure extends data_t by adding a key item which should be sorted
1: * together with the count and total_ns fields */
1: struct data_ext_t {
1: - __u64 count;
1: - __u64 total_ns;
1: - char comm[TASK_COMM_LEN];
1: - __u32 key;
1: + __u64 count;
1: + __u64 total_ns;
1: + char comm[TASK_COMM_LEN];
1: + __u32 key;
1: };
1:
1: -
1: #define warn(...) fprintf(stderr, __VA_ARGS__)
1:
1: const char *argp_program_version = "syscount 0.1";
1: const char *argp_program_bug_address = "<bpf@vger.kernel.org>";
1: static const char argp_program_doc[] =
1: -"\nsyscount: summarize syscall counts and latencies\n"
1: -"\n"
1: -"EXAMPLES:\n"
1: -" syscount # print top 10 syscalls by count every second\n"
1: -" syscount -p $(pidof dd) # look only at a particular process\n"
1: -" syscount -L # measure and sort output by latency\n"
1: -" syscount -P # group statistics by pid, not by syscall\n"
1: -" syscount -x -i 5 # count only failed syscalls\n"
1: -" syscount -e ENOENT -i 5 # count only syscalls failed with a given errno"
1: -;
1: + "\nsyscount: summarize syscall counts and latencies\n"
1: + "\n"
1: + "EXAMPLES:\n"
1: + " syscount # print top 10 syscalls by count every "
1: + "second\n"
1: + " syscount -p $(pidof dd) # look only at a particular process\n"
1: + " syscount -L # measure and sort output by latency\n"
1: + " syscount -P # group statistics by pid, not by syscall\n"
1: + " syscount -x -i 5 # count only failed syscalls\n"
1: + " syscount -e ENOENT -i 5 # count only syscalls failed with a given "
1: + "errno";
1:
1: static const struct argp_option opts[] = {
1: - { "verbose", 'v', NULL, 0, "Verbose debug output" },
1: - { "pid", 'p', "PID", 0, "Process PID to trace" },
1: - { "interval", 'i', "INTERVAL", 0, "Print summary at this interval"
1: - " (seconds), 0 for infinite wait (default)" },
1: - { "duration", 'd', "DURATION", 0, "Total tracing duration (seconds)" },
1: - { "top", 'T', "TOP", 0, "Print only the top syscalls (default 10)" },
1: - { "failures", 'x', NULL, 0, "Trace only failed syscalls" },
1: - { "latency", 'L', NULL, 0, "Collect syscall latency" },
1: - { "milliseconds", 'm', NULL, 0, "Display latency in milliseconds"
1: - " (default: microseconds)" },
1: - { "process", 'P', NULL, 0, "Count by process and not by syscall" },
1: - { "errno", 'e', "ERRNO", 0, "Trace only syscalls that return this error"
1: - "(numeric or EPERM, etc.)" },
1: - { "list", 'l', NULL, 0, "Print list of recognized syscalls and exit" },
1: - {},
1: + {"verbose", 'v', NULL, 0, "Verbose debug output"},
1: + {"pid", 'p', "PID", 0, "Process PID to trace"},
1: + {"interval", 'i', "INTERVAL", 0,
1: + "Print summary at this interval"
1: + " (seconds), 0 for infinite wait (default)"},
1: + {"duration", 'd', "DURATION", 0, "Total tracing duration (seconds)"},
1: + {"top", 'T', "TOP", 0, "Print only the top syscalls (default 10)"},
1: + {"failures", 'x', NULL, 0, "Trace only failed syscalls"},
1: + {"latency", 'L', NULL, 0, "Collect syscall latency"},
1: + {"milliseconds", 'm', NULL, 0,
1: + "Display latency in milliseconds"
1: + " (default: microseconds)"},
1: + {"process", 'P', NULL, 0, "Count by process and not by syscall"},
1: + {"errno", 'e', "ERRNO", 0,
1: + "Trace only syscalls that return this error"
1: + "(numeric or EPERM, etc.)"},
1: + {"list", 'l', NULL, 0, "Print list of recognized syscalls and exit"},
1: + {},
1: };
1:
1: static struct env {
1: - bool list_syscalls;
1: - bool milliseconds;
1: - bool failures;
1: - bool verbose;
1: - bool latency;
1: - bool process;
1: - int filter_errno;
1: - int interval;
1: - int duration;
1: - int top;
1: - pid_t pid;
1: + bool list_syscalls;
1: + bool milliseconds;
1: + bool failures;
1: + bool verbose;
1: + bool latency;
1: + bool process;
1: + int filter_errno;
1: + int interval;
1: + int duration;
1: + int top;
1: + pid_t pid;
1: } env = {
1: - .top = 10,
1: + .top = 10,
1: };
1:
1: -static int get_int(const char *arg, int *ret, int min, int max)
1: -{
1: - char *end;
1: - long val;
1: -
1: - errno = 0;
1: - val = strtol(arg, &end, 10);
1: - if (errno) {
1: - warn("strtol: %s: %s\n", arg, strerror(errno));
1: - return -1;
1: - } else if (end == arg || val < min || val > max) {
1: - return -1;
1: - }
1: - if (ret)
1: - *ret = val;
1: - return 0;
1: +static int get_int(const char *arg, int *ret, int min, int max) {
1: + char *end;
1: + long val;
1: +
1: + errno = 0;
1: + val = strtol(arg, &end, 10);
1: + if (errno) {
1: + warn("strtol: %s: %s\n", arg, strerror(errno));
1: + return -1;
1: + } else if (end == arg || val < min || val > max) {
1: + return -1;
1: + }
1: + if (ret)
1: + *ret = val;
1: + return 0;
1: }
1:
1: -static int libbpf_print_fn(enum libbpf_print_level level,
1: - const char *format, va_list args)
1: -{
1: - if (level == LIBBPF_DEBUG && !env.verbose)
1: - return 0;
1: +static int libbpf_print_fn(enum libbpf_print_level level, const char *format,
1: + va_list args) {
1: + if (level == LIBBPF_DEBUG && !env.verbose)
1: + return 0;
1:
1: - return vfprintf(stderr, format, args);
1: + return vfprintf(stderr, format, args);
1: }
1:
1: -static int bump_memlock_rlimit(void)
1: -{
1: - struct rlimit rlim_new = {
1: - .rlim_cur = RLIM_INFINITY,
1: - .rlim_max = RLIM_INFINITY,
1: - };
1: +static int bump_memlock_rlimit(void) {
1: + struct rlimit rlim_new = {
1: + .rlim_cur = RLIM_INFINITY, .rlim_max = RLIM_INFINITY,
1: + };
1:
1: - return setrlimit(RLIMIT_MEMLOCK, &rlim_new);
1: + return setrlimit(RLIMIT_MEMLOCK, &rlim_new);
1: }
1:
1: -static int compar_count(const void *dx, const void *dy)
1: -{
1: - __u64 x = ((struct data_ext_t *) dx)->count;
1: - __u64 y = ((struct data_ext_t *) dy)->count;
1: - return x > y ? -1 : !(x == y);
1: +static int compar_count(const void *dx, const void *dy) {
1: + __u64 x = ((struct data_ext_t *)dx)->count;
1: + __u64 y = ((struct data_ext_t *)dy)->count;
1: + return x > y ? -1 : !(x == y);
1: }
1:
1: -static int compar_latency(const void *dx, const void *dy)
1: -{
1: - __u64 x = ((struct data_ext_t *) dx)->total_ns;
1: - __u64 y = ((struct data_ext_t *) dy)->total_ns;
1: - return x > y ? -1 : !(x == y);
1: +static int compar_latency(const void *dx, const void *dy) {
1: + __u64 x = ((struct data_ext_t *)dx)->total_ns;
1: + __u64 y = ((struct data_ext_t *)dy)->total_ns;
1: + return x > y ? -1 : !(x == y);
1: }
1:
1: -static const char *agg_col(struct data_ext_t *val, char *buf, size_t size)
1: -{
1: - if (env.process) {
1: - snprintf(buf, size, "%-6u %-15s", val->key, val->comm);
1: - } else {
1: - syscall_name(val->key, buf, size);
1: - }
1: - return buf;
1: +static const char *agg_col(struct data_ext_t *val, char *buf, size_t size) {
1: + if (env.process) {
1: + snprintf(buf, size, "%-6u %-15s", val->key, val->comm);
1: + } else {
1: + syscall_name(val->key, buf, size);
1: + }
1: + return buf;
1: }
1:
1: -static const char *agg_colname(void)
1: -{
1: - return (env.process) ? "PID COMM" : "SYSCALL";
1: +static const char *agg_colname(void) {
1: + return (env.process) ? "PID COMM" : "SYSCALL";
1: }
1:
1: -static const char *time_colname(void)
1: -{
1: - return (env.milliseconds) ? "TIME (ms)" : "TIME (us)";
1: +static const char *time_colname(void) {
1: + return (env.milliseconds) ? "TIME (ms)" : "TIME (us)";
1: }
1:
1: -static void print_latency_header(void)
1: -{
1: - printf("%-22s %8s %16s\n", agg_colname(), "COUNT", time_colname());
1: +static void print_latency_header(void) {
1: + printf("%-22s %8s %16s\n", agg_colname(), "COUNT", time_colname());
1: }
1:
1: -static void print_count_header(void)
1: -{
1: - printf("%-22s %8s\n", agg_colname(), "COUNT");
1: +static void print_count_header(void) {
1: + printf("%-22s %8s\n", agg_colname(), "COUNT");
1: }
1:
1: -static void print_latency(struct data_ext_t *vals, size_t count)
1: -{
1: - double div = env.milliseconds ? 1000000.0 : 1000.0;
1: - char buf[2 * TASK_COMM_LEN];
1: -
1: - print_latency_header();
1: - for (int i = 0; i < count && i < env.top; i++)
1: - printf("%-22s %8llu %16.3lf\n",
1: - agg_col(&vals[i], buf, sizeof(buf)),
1: - vals[i].count, vals[i].total_ns / div);
1: - printf("\n");
1: +static void print_latency(struct data_ext_t *vals, size_t count) {
1: + double div = env.milliseconds ? 1000000.0 : 1000.0;
1: + char buf[2 * TASK_COMM_LEN];
1: +
1: + print_latency_header();
1: + for (int i = 0; i < count && i < env.top; i++)
1: + printf("%-22s %8llu %16.3lf\n", agg_col(&vals[i], buf, sizeof(buf)),
1: + vals[i].count, vals[i].total_ns / div);
1: + printf("\n");
1: }
1:
1: -static void print_count(struct data_ext_t *vals, size_t count)
1: -{
1: - char buf[2 * TASK_COMM_LEN];
1: +static void print_count(struct data_ext_t *vals, size_t count) {
1: + char buf[2 * TASK_COMM_LEN];
1:
1: - print_count_header();
1: - for (int i = 0; i < count && i < env.top; i++)
1: - printf("%-22s %8llu\n",
1: - agg_col(&vals[i], buf, sizeof(buf)), vals[i].count);
1: - printf("\n");
1: + print_count_header();
1: + for (int i = 0; i < count && i < env.top; i++)
1: + printf("%-22s %8llu\n", agg_col(&vals[i], buf, sizeof(buf)), vals[i].count);
1: + printf("\n");
1: }
1:
1: -static void print_timestamp()
1: -{
1: - time_t now = time(NULL);
1: - struct tm tm;
1: +static void print_timestamp() {
1: + time_t now = time(NULL);
1: + struct tm tm;
1:
1: - if (localtime_r(&now, &tm))
1: - printf("[%02d:%02d:%02d]\n", tm.tm_hour, tm.tm_min, tm.tm_sec);
1: - else
1: - warn("localtime_r: %s", strerror(errno));
1: + if (localtime_r(&now, &tm))
1: + printf("[%02d:%02d:%02d]\n", tm.tm_hour, tm.tm_min, tm.tm_sec);
1: + else
1: + warn("localtime_r: %s", strerror(errno));
1: }
1:
1: static bool batch_map_ops = true; /* hope for the best */
1:
1: -static bool read_vals_batch(int fd, struct data_ext_t *vals, __u32 *count)
1: -{
1: - struct data_t orig_vals[*count];
1: - void *in = NULL, *out;
1: - __u32 n, n_read = 0;
1: - __u32 keys[*count];
1: - int err = 0;
1: -
1: - while (n_read < *count && !err) {
1: - n = *count - n_read;
1: - err = bpf_map_lookup_and_delete_batch(fd, &in, &out,
1: - keys + n_read, orig_vals + n_read, &n, NULL);
1: - if (err && errno != ENOENT) {
1: - /* we want to propagate EINVAL upper, so that
1: - * the batch_map_ops flag is set to false */
1: - if (errno != EINVAL)
1: - warn("bpf_map_lookup_and_delete_batch: %s\n",
1: - strerror(-err));
1: - return false;
1: - }
1: - n_read += n;
1: - in = out;
1: - }
1: -
1: - for (__u32 i = 0; i < n_read; i++) {
1: - vals[i].count = orig_vals[i].count;
1: - vals[i].total_ns = orig_vals[i].total_ns;
1: - vals[i].key = keys[i];
1: - strncpy(vals[i].comm, orig_vals[i].comm, TASK_COMM_LEN);
1: - }
1: -
1: - *count = n_read;
1: - return true;
1: +static bool read_vals_batch(int fd, struct data_ext_t *vals, __u32 *count) {
1: + struct data_t orig_vals[*count];
1: + void *in = NULL, *out;
1: + __u32 n, n_read = 0;
1: + __u32 keys[*count];
1: + int err = 0;
1: +
1: + while (n_read < *count && !err) {
1: + n = *count - n_read;
1: + err = bpf_map_lookup_and_delete_batch(fd, &in, &out, keys + n_read,
1: + orig_vals + n_read, &n, NULL);
1: + if (err && errno != ENOENT) {
1: + /* we want to propagate EINVAL upper, so that
1: + * the batch_map_ops flag is set to false */
1: + if (errno != EINVAL)
1: + warn("bpf_map_lookup_and_delete_batch: %s\n", strerror(-err));
1: + return false;
1: + }
1: + n_read += n;
1: + in = out;
1: + }
1: +
1: + for (__u32 i = 0; i < n_read; i++) {
1: + vals[i].count = orig_vals[i].count;
1: + vals[i].total_ns = orig_vals[i].total_ns;
1: + vals[i].key = keys[i];
1: + strncpy(vals[i].comm, orig_vals[i].comm, TASK_COMM_LEN);
1: + }
1: +
1: + *count = n_read;
1: + return true;
1: }
1:
1: -static bool read_vals(int fd, struct data_ext_t *vals, __u32 *count)
1: -{
1: - __u32 keys[MAX_ENTRIES];
1: - struct data_t val;
1: - __u32 key = -1;
1: - __u32 next_key;
1: - int i = 0;
1: - int err;
1: -
1: - if (batch_map_ops) {
1: - bool ok = read_vals_batch(fd, vals, count);
1: - if (!ok && errno == EINVAL) {
1: - /* fall back to a racy variant */
1: - batch_map_ops = false;
1: - } else {
1: - return ok;
1: - }
1: - }
1: -
1: - if (!vals || !count || !*count)
1: - return true;
1: -
1: - for (key = -1; i < *count; ) {
1: - err = bpf_map_get_next_key(fd, &key, &next_key);
1: - if (err && errno != ENOENT) {
1: - warn("failed to get next key: %s\n", strerror(errno));
1: - return false;
1: - } else if (err) {
1: - break;
1: - }
1: - key = keys[i++] = next_key;
1: - }
1: -
1: - for (int j = 0; j < i; j++) {
1: - err = bpf_map_lookup_elem(fd, &keys[j], &val);
1: - if (err && errno != ENOENT) {
1: - warn("failed to lookup element: %s\n", strerror(errno));
1: - return false;
1: - }
1: - vals[j].count = val.count;
1: - vals[j].total_ns = val.total_ns;
1: - vals[j].key = keys[j];
1: - memcpy(vals[j].comm, val.comm, TASK_COMM_LEN);
1: - }
1: -
1: - /* There is a race here: system calls which are represented by keys
1: - * above and happened between lookup and delete will be ignored. This
1: - * will be fixed in future by using bpf_map_lookup_and_delete_batch,
1: - * but this function is too fresh to use it in bcc. */
1: -
1: - for (int j = 0; j < i; j++) {
1: - err = bpf_map_delete_elem(fd, &keys[j]);
1: - if (err) {
1: - warn("failed to delete element: %s\n", strerror(errno));
1: - return false;
1: - }
1: - }
1: -
1: - *count = i;
1: - return true;
1: +static bool read_vals(int fd, struct data_ext_t *vals, __u32 *count) {
1: + __u32 keys[MAX_ENTRIES];
1: + struct data_t val;
1: + __u32 key = -1;
1: + __u32 next_key;
1: + int i = 0;
1: + int err;
1: +
1: + if (batch_map_ops) {
1: + bool ok = read_vals_batch(fd, vals, count);
1: + if (!ok && errno == EINVAL) {
1: + /* fall back to a racy variant */
1: + batch_map_ops = false;
1: + } else {
1: + return ok;
1: + }
1: + }
1: +
1: + if (!vals || !count || !*count)
1: + return true;
1: +
1: + for (key = -1; i < *count;) {
1: + err = bpf_map_get_next_key(fd, &key, &next_key);
1: + if (err && errno != ENOENT) {
1: + warn("failed to get next key: %s\n", strerror(errno));
1: + return false;
1: + } else if (err) {
1: + break;
1: + }
1: + key = keys[i++] = next_key;
1: + }
1: +
1: + for (int j = 0; j < i; j++) {
1: + err = bpf_map_lookup_elem(fd, &keys[j], &val);
1: + if (err && errno != ENOENT) {
1: + warn("failed to lookup element: %s\n", strerror(errno));
1: + return false;
1: + }
1: + vals[j].count = val.count;
1: + vals[j].total_ns = val.total_ns;
1: + vals[j].key = keys[j];
1: + memcpy(vals[j].comm, val.comm, TASK_COMM_LEN);
1: + }
1: +
1: + /* There is a race here: system calls which are represented by keys
1: + * above and happened between lookup and delete will be ignored. This
1: + * will be fixed in future by using bpf_map_lookup_and_delete_batch,
1: + * but this function is too fresh to use it in bcc. */
1: +
1: + for (int j = 0; j < i; j++) {
1: + err = bpf_map_delete_elem(fd, &keys[j]);
1: + if (err) {
1: + warn("failed to delete element: %s\n", strerror(errno));
1: + return false;
1: + }
1: + }
1: +
1: + *count = i;
1: + return true;
1: }
1:
1: -static error_t parse_arg(int key, char *arg, struct argp_state *state)
1: -{
1: - int number;
1: - int err;
1: -
1: - switch (key) {
1: - case 'v':
1: - env.verbose = true;
1: - break;
1: - case 'x':
1: - env.failures = true;
1: - break;
1: - case 'L':
1: - env.latency = true;
1: - break;
1: - case 'm':
1: - env.milliseconds = true;
1: - break;
1: - case 'P':
1: - env.process = true;
1: - break;
1: - case 'p':
1: - err = get_int(arg, &env.pid, 1, INT_MAX);
1: - if (err) {
1: - warn("invalid PID: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - break;
1: - case 'i':
1: - err = get_int(arg, &env.interval, 0, INT_MAX);
1: - if (err) {
1: - warn("invalid INTERVAL: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - break;
1: - case 'd':
1: - err = get_int(arg, &env.duration, 1, INT_MAX);
1: - if (err) {
1: - warn("invalid DURATION: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - break;
1: - case 'T':
1: - err = get_int(arg, &env.top, 1, INT_MAX);
1: - if (err) {
1: - warn("invalid TOP: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - break;
1: - case 'e':
1: - err = get_int(arg, &number, 1, INT_MAX);
1: - if (err) {
1: - number = errno_by_name(arg);
1: - if (number < 0) {
1: - warn("invalid errno: %s (bad, or can't "
1: - "parse dynamically; consider using "
1: - "numeric value and/or installing the "
1: - "errno program from moreutils)\n", arg);
1: - argp_usage(state);
1: - }
1: - }
1: - env.filter_errno = number;
1: - break;
1: - case 'l':
1: - env.list_syscalls = true;
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: + int number;
1: + int err;
1: +
1: + switch (key) {
1: + case 'v':
1: + env.verbose = true;
1: + break;
1: + case 'x':
1: + env.failures = true;
1: + break;
1: + case 'L':
1: + env.latency = true;
1: + break;
1: + case 'm':
1: + env.milliseconds = true;
1: + break;
1: + case 'P':
1: + env.process = true;
1: + break;
1: + case 'p':
1: + err = get_int(arg, &env.pid, 1, INT_MAX);
1: + if (err) {
1: + warn("invalid PID: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + break;
1: + case 'i':
1: + err = get_int(arg, &env.interval, 0, INT_MAX);
1: + if (err) {
1: + warn("invalid INTERVAL: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + break;
1: + case 'd':
1: + err = get_int(arg, &env.duration, 1, INT_MAX);
1: + if (err) {
1: + warn("invalid DURATION: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + break;
1: + case 'T':
1: + err = get_int(arg, &env.top, 1, INT_MAX);
1: + if (err) {
1: + warn("invalid TOP: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + break;
1: + case 'e':
1: + err = get_int(arg, &number, 1, INT_MAX);
1: + if (err) {
1: + number = errno_by_name(arg);
1: + if (number < 0) {
1: + warn(
1: + "invalid errno: %s (bad, or can't "
1: + "parse dynamically; consider using "
1: + "numeric value and/or installing the "
1: + "errno program from moreutils)\n",
1: + arg);
1: + argp_usage(state);
1: + }
1: + }
1: + env.filter_errno = number;
1: + break;
1: + case 'l':
1: + env.list_syscalls = true;
1: + break;
1: + default:
1: + return ARGP_ERR_UNKNOWN;
1: + }
1: + return 0;
1: }
1:
1: static volatile sig_atomic_t hang_on = 1;
1:
1: -void sig_int(int signo)
1: -{
1: - hang_on = 0;
1: -}
1: -
1: -int main(int argc, char **argv)
1: -{
1: - void (*print)(struct data_ext_t *, size_t);
1: - int (*compar)(const void *, const void *);
1: - static const struct argp argp = {
1: - .options = opts,
1: - .parser = parse_arg,
1: - .doc = argp_program_doc,
1: - };
1: - struct data_ext_t vals[MAX_ENTRIES];
1: - struct syscount_bpf *obj;
1: - int seconds = 0;
1: - __u32 count;
1: - int err;
1: -
1: - init_syscall_names();
1: -
1: - err = argp_parse(&argp, argc, argv, 0, NULL, NULL);
1: - if (err)
1: - goto free_names;
1: -
1: - if (env.list_syscalls) {
1: - list_syscalls();
1: - goto free_names;
1: - }
1: -
1: - libbpf_set_print(libbpf_print_fn);
1: -
1: - err = bump_memlock_rlimit();
1: - if (err) {
1: - warn("failed to increase rlimit: %s\n", strerror(errno));
1: - goto free_names;
1: - }
1: -
1: - obj = syscount_bpf__open();
1: - if (!obj) {
1: - warn("failed to open and/or load BPF object\n");
1: - err = 1;
1: - goto free_names;
1: - }
1: -
1: - if (env.pid)
1: - obj->rodata->filter_pid = env.pid;
1: - if (env.failures)
1: - obj->rodata->filter_failed = true;
1: - if (env.latency)
1: - obj->rodata->measure_latency = true;
1: - if (env.process)
1: - obj->rodata->count_by_process = true;
1: - if (env.filter_errno)
1: - obj->rodata->filter_errno = env.filter_errno;
1: -
1: - err = syscount_bpf__load(obj);
1: - if (err) {
1: - warn("failed to load BPF object: %s\n", strerror(-err));
1: - goto cleanup_obj;
1: - }
1: -
1: - obj->links.sys_exit = bpf_program__attach(obj->progs.sys_exit);
1: - err = libbpf_get_error(obj->links.sys_exit);
1: - if (err) {
1: - warn("failed to attach sys_exit program: %s\n",
1: - strerror(-err));
1: - goto cleanup_obj;
1: - }
1: - if (env.latency) {
1: - obj->links.sys_enter = bpf_program__attach(obj->progs.sys_enter);
1: - err = libbpf_get_error(obj->links.sys_enter);
1: - if (err) {
1: - warn("failed to attach sys_enter programs: %s\n",
1: - strerror(-err));
1: - goto cleanup_obj;
1: - }
1: - }
1: -
1: - if (signal(SIGINT, sig_int) == SIG_ERR) {
1: - warn("can't set signal handler: %s\n", strerror(-errno));
1: - goto cleanup_obj;
1: - }
1: -
1: - compar = env.latency ? compar_latency : compar_count;
1: - print = env.latency ? print_latency : print_count;
1: -
1: - printf("Tracing syscalls, printing top %d... Ctrl+C to quit.\n", env.top);
1: - while (hang_on) {
1: - sleep(env.interval ?: 1);
1: - if (env.duration) {
1: - seconds += env.interval ?: 1;
1: - if (seconds >= env.duration)
1: - hang_on = 0;
1: - }
1: - if (hang_on && !env.interval)
1: - continue;
1: -
1: - count = MAX_ENTRIES;
1: - if (!read_vals(bpf_map__fd(obj->maps.data), vals, &count))
1: - break;
1: - if (!count)
1: - continue;
1: -
1: - qsort(vals, count, sizeof(vals[0]), compar);
1: - print_timestamp();
1: - print(vals, count);
1: - }
1: +void sig_int(int signo) { hang_on = 0; }
1: +
1: +int main(int argc, char **argv) {
1: + void (*print)(struct data_ext_t *, size_t);
1: + int (*compar)(const void *, const void *);
1: + static const struct argp argp = {
1: + .options = opts, .parser = parse_arg, .doc = argp_program_doc,
1: + };
1: + struct data_ext_t vals[MAX_ENTRIES];
1: + struct syscount_bpf *obj;
1: + int seconds = 0;
1: + __u32 count;
1: + int err;
1: +
1: + init_syscall_names();
1: +
1: + err = argp_parse(&argp, argc, argv, 0, NULL, NULL);
1: + if (err)
1: + goto free_names;
1: +
1: + if (env.list_syscalls) {
1: + list_syscalls();
1: + goto free_names;
1: + }
1: +
1: + libbpf_set_print(libbpf_print_fn);
1: +
1: + err = bump_memlock_rlimit();
1: + if (err) {
1: + warn("failed to increase rlimit: %s\n", strerror(errno));
1: + goto free_names;
1: + }
1: +
1: + obj = syscount_bpf__open();
1: + if (!obj) {
1: + warn("failed to open and/or load BPF object\n");
1: + err = 1;
1: + goto free_names;
1: + }
1: +
1: + if (env.pid)
1: + obj->rodata->filter_pid = env.pid;
1: + if (env.failures)
1: + obj->rodata->filter_failed = true;
1: + if (env.latency)
1: + obj->rodata->measure_latency = true;
1: + if (env.process)
1: + obj->rodata->count_by_process = true;
1: + if (env.filter_errno)
1: + obj->rodata->filter_errno = env.filter_errno;
1: +
1: + err = syscount_bpf__load(obj);
1: + if (err) {
1: + warn("failed to load BPF object: %s\n", strerror(-err));
1: + goto cleanup_obj;
1: + }
1: +
1: + obj->links.sys_exit = bpf_program__attach(obj->progs.sys_exit);
1: + err = libbpf_get_error(obj->links.sys_exit);
1: + if (err) {
1: + warn("failed to attach sys_exit program: %s\n", strerror(-err));
1: + goto cleanup_obj;
1: + }
1: + if (env.latency) {
1: + obj->links.sys_enter = bpf_program__attach(obj->progs.sys_enter);
1: + err = libbpf_get_error(obj->links.sys_enter);
1: + if (err) {
1: + warn("failed to attach sys_enter programs: %s\n", strerror(-err));
1: + goto cleanup_obj;
1: + }
1: + }
1: +
1: + if (signal(SIGINT, sig_int) == SIG_ERR) {
1: + warn("can't set signal handler: %s\n", strerror(-errno));
1: + goto cleanup_obj;
1: + }
1: +
1: + compar = env.latency ? compar_latency : compar_count;
1: + print = env.latency ? print_latency : print_count;
1: +
1: + printf("Tracing syscalls, printing top %d... Ctrl+C to quit.\n", env.top);
1: + while (hang_on) {
1: + sleep(env.interval ?: 1);
1: + if (env.duration) {
1: + seconds += env.interval ?: 1;
1: + if (seconds >= env.duration)
1: + hang_on = 0;
1: + }
1: + if (hang_on && !env.interval)
1: + continue;
1: +
1: + count = MAX_ENTRIES;
1: + if (!read_vals(bpf_map__fd(obj->maps.data), vals, &count))
1: + break;
1: + if (!count)
1: + continue;
1: +
1: + qsort(vals, count, sizeof(vals[0]), compar);
1: + print_timestamp();
1: + print(vals, count);
1: + }
1:
1: cleanup_obj:
1: - syscount_bpf__destroy(obj);
1: + syscount_bpf__destroy(obj);
1: free_names:
1: - free_syscall_names();
1: + free_syscall_names();
1:
1: - return err != 0;
1: + return err != 0;
1: }
1: diff --git a/libbpf-tools/syscount.h b/libbpf-tools/syscount.h
1: index 148305a..2418d85 100644
1: --- a/libbpf-tools/syscount.h
1: +++ b/libbpf-tools/syscount.h
1: @@ -8,9 +8,9 @@
1: #define TASK_COMM_LEN 16
1:
1: struct data_t {
1: - __u64 count;
1: - __u64 total_ns;
1: - char comm[TASK_COMM_LEN];
1: + __u64 count;
1: + __u64 total_ns;
1: + char comm[TASK_COMM_LEN];
1: };
1:
1: #endif /* __SYSCOUNT_H */
1: diff --git a/libbpf-tools/xfsslower.c b/libbpf-tools/xfsslower.c
1: index d381f3f..ba301f2 100644
1: --- a/libbpf-tools/xfsslower.c
1: +++ b/libbpf-tools/xfsslower.c
1: @@ -192,8 +192,8 @@ int main(int argc, char **argv)
1:
1: obj = xfsslower_bpf__open();
1: if (!obj) {
1: - fprintf(stderr, "failed to open and/or load BPF object\n");
1: - return 1;
1: + fprintf(stderr, "failed to open and/or load BPF object\n");
1: + return 1;
1: }
1:
1: /* initialize global data (filtering options) */
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/xfsslower.c
1: libbpf-tools/syscount.bpf.c
1: libbpf-tools/filelife.c
1: libbpf-tools/syscall_helpers.h
1: libbpf-tools/syscount.c
1: libbpf-tools/errno_helpers.c
1: libbpf-tools/syscall_helpers.c
1: libbpf-tools/errno_helpers.h
1: libbpf-tools/drsnoop.c
1: libbpf-tools/syscount.h
1: old tree: 31181d3821f5f6bbe54867f798b0aebb0a616c97
1: new tree: 5d757a5229435449a5f32a668c23fff656988653
1/42 Test #1: style-check ...................... Passed 2.39 sec
test 2
Start 2: c_test_static
2: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "c_test_static" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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 -main-file-name main.c -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -coverage-file /usr/src/linux-headers-4.4.0-116-generic/main.c -nostdsysteminc -nobuiltininc -resource-dir ../lib/clang/3.8.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/ubuntu1604/build/tests/cc -D __BPF_TRACING__ -I ./arch/x86/include -I arch/x86/include/generated/uapi -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__ -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.4.0-116-generic -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.4.0-116-generic/build
2/42 Test #2: c_test_static .................... Passed 2.20 sec
test 3
Start 3: test_libbcc
3: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "c_test_all" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/cc/test_libbcc"
3: Test timeout computed to be: 9.99988e+06
3: prog tag mismatch 57cd311f2e27366b 11
3: WARNING: cannot get prog tag, ignore saving source with program tag
3: Parse error:
3: 4@i%ra+1r
3: -------^
3: prog tag mismatch a04f5eef06a7f555 11
3: WARNING: cannot get prog tag, ignore saving source with program tag
3: prog tag mismatch a04f5eef06a7f555 11
3: WARNING: cannot get prog tag, ignore saving source with program tag
3: prog tag mismatch a04f5eef06a7f555 11
3: WARNING: cannot get prog tag, ignore saving source with program tag
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/ubuntu1604/tests/cc/test_usdt_probes.cc:340
3: ...............................................................................
3:
3: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/cc/test_usdt_probes.cc:355: FAILED:
3: REQUIRE( res.msg() == "" )
3: with expansion:
3: "Unable to load USDT ruby:gc__mark__begin from binary PID 7427 for probe
3: on_event"
3: ==
3: ""
3:
3: unshare: unrecognized option '--kill-child'
3:
3: Usage:
3: unshare [options] <program> [<argument>...]
3:
3: Run a program with some namespaces unshared from the parent.
3:
3: Options:
3: -m, --mount[=<file>] unshare mounts namespace
3: -u, --uts[=<file>] unshare UTS namespace (hostname etc)
3: -i, --ipc[=<file>] unshare System V IPC namespace
3: -n, --net[=<file>] unshare network namespace
3: -p, --pid[=<file>] unshare pid namespace
3: -U, --user[=<file>] unshare user namespace
3: -f, --fork fork before launching <program>
3: --mount-proc[=<dir>] mount proc filesystem first (implies --mount)
3: -r, --map-root-user map current user to root (implies --user)
3: --propagation slave|shared|private|unchanged
3: modify mount propagation in mount namespace
3: -s, --setgroups allow|deny control the setgroups syscall in user namespaces
3:
3: -h, --help display this help and exit
3: -V, --version output version information and exit
3:
3: For more details see unshare(1).
3: -------------------------------------------------------------------------------
3: test probing running Ruby process in namespaces
3: in separate mount namespace and separate PID namespace
3: -------------------------------------------------------------------------------
3: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/cc/test_usdt_probes.cc:340
3: ...............................................................................
3:
3: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/cc/test_usdt_probes.cc:381: FAILED:
3: REQUIRE( res.msg() == "" )
3: with expansion:
3: "Unable to load USDT ruby:gc__mark__begin from binary PID 1859397322 for
3: probe on_event"
3: ==
3: ""
3:
3: ===============================================================================
3: test cases: 34 | 33 passed | 1 failed as expected
3: assertions: 507 | 505 passed | 2 failed as expected
3:
3/42 Test #3: test_libbcc ...................... Passed 10.15 sec
test 4
Start 4: py_test_stat1_b
4: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_stat1_b" "namespace" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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: tcp-segmentation-offload: off
4: tx-tcp-segmentation: off [requested on]
4: tx-tcp-ecn-segmentation: off [requested on]
4: tx-tcp6-segmentation: off [requested on]
4: udp-fragmentation-offload: off [requested on]
4: .PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
4: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4: --- 172.16.1.1 ping statistics ---
4: 100 packets transmitted, 100 received, 0% packet loss, time 2ms
4: rtt min/avg/max/mdev = 0.005/0.009/0.148/0.014 ms, ipg/ewma 0.023/0.007 ms
4: .
4: ----------------------------------------------------------------------
4: Ran 2 tests in 0.613s
4:
4: OK
4/42 Test #4: py_test_stat1_b .................. Passed 1.96 sec
test 5
Start 5: py_test_bpf_log
5: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_bpf_prog" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_bpf_log.py"
5: Test timeout computed to be: 9.99988e+06
5/42 Test #5: py_test_bpf_log .................. Passed 2.42 sec
test 6
Start 6: py_test_stat1_c
6: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_stat1_c" "namespace" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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: tcp-segmentation-offload: off
6: tx-tcp-segmentation: off [requested on]
6: tx-tcp-ecn-segmentation: off [requested on]
6: tx-tcp6-segmentation: off [requested on]
6: udp-fragmentation-offload: off [requested on]
6: .PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
6: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6: --- 172.16.1.1 ping statistics ---
6: 100 packets transmitted, 100 received, 0% packet loss, time 1ms
6: rtt min/avg/max/mdev = 0.004/0.007/0.151/0.014 ms, ipg/ewma 0.019/0.007 ms
6: .
6: ----------------------------------------------------------------------
6: Ran 2 tests in 0.558s
6:
6: OK
6/42 Test #6: py_test_stat1_c .................. Passed 0.94 sec
test 7
Start 7: py_test_xlate1_c
7: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_xlate1_c" "namespace" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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: tcp-segmentation-offload: off
7: tx-tcp-segmentation: off [requested on]
7: tx-tcp-ecn-segmentation: off [requested on]
7: tx-tcp6-segmentation: off [requested on]
7: udp-fragmentation-offload: off [requested on]
7: PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
7: 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.086 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.086/0.086/0.086/0.000 ms
7: .
7: ----------------------------------------------------------------------
7: Ran 1 test in 0.347s
7:
7: OK
7/42 Test #7: py_test_xlate1_c ................. Passed 0.77 sec
test 8
Start 8: py_test_call1
8: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_call1_c" "namespace" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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: tcp-segmentation-offload: off
8: tx-tcp-segmentation: off [requested on]
8: tx-tcp-ecn-segmentation: off [requested on]
8: tx-tcp6-segmentation: off [requested on]
8: udp-fragmentation-offload: off [requested on]
8: .
8: ----------------------------------------------------------------------
8: Ran 1 test in 0.262s
8:
8: OK
8/42 Test #8: py_test_call1 .................... Passed 0.66 sec
test 9
Start 9: py_test_trace1
9: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_trace1" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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.411s
9:
9: OK
9: ('fd 8:', 'stat1 0', 'stat2 1')
9: ('fd ffff8800bafe9180:', 'stat1 2', 'stat2 0')
9: ('fd a:', 'stat1 200', 'stat2 100')
9: ('fd 9:', 'stat1 1', 'stat2 1')
9/42 Test #9: py_test_trace1 ................... Passed 0.59 sec
test 10
Start 10: py_test_trace2
10: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_trace2" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_trace2.py"
10: Test timeout computed to be: 9.99988e+06
10: .
10: ----------------------------------------------------------------------
10: Ran 1 test in 6.199s
10:
10: OK
10: ('ptr ffff880213ceb800:', 'stat1 (0 1)')
10: ('ptr ffff880215a2c600:', 'stat1 (0 4)')
10: ('ptr ffff880215ad6200:', 'stat1 (0 10)')
10: ('ptr ffff88003705f000:', 'stat1 (0 4)')
10: ('ptr ffff880213f91c00:', 'stat1 (0 21)')
10: ('ptr ffff8800ba771c00:', 'stat1 (0 1)')
10: ('ptr ffff880216b30e00:', 'stat1 (0 60)')
10: ('ptr ffff8800baaeaa00:', 'stat1 (0 100)')
10: ('ptr ffff8800ae0bf000:', 'stat1 (0 1)')
10: ('ptr ffff8800371c7000:', 'stat1 (0 1)')
10: ('ptr ffffffff81e13500:', 'stat1 (0 96)')
10: ('ptr ffff8800ba776200:', 'stat1 (0 4)')
10: ('ptr ffff8800371c4600:', 'stat1 (0 1)')
10: ('ptr ffff880216ad5400:', 'stat1 (0 2)')
10: ('ptr ffff880215a2b800:', 'stat1 (0 1)')
10: ('ptr ffff8800bb661c00:', 'stat1 (0 5)')
10/42 Test #10: py_test_trace2 ................... Passed 6.29 sec
test 11
Start 11: py_test_trace3_c
11: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_trace3_c" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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.00407642 s, 1.0 GB/s
11: 1024+0 records in
11: 1024+0 records out
11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.00452164 s, 928 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 2')
11: ('latency 47:', 'count 1')
11: ('latency 48:', 'count 1')
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 1')
11: ('latency 58:', 'count 5')
11: ('latency 59:', 'count 2')
11: ('latency 60:', 'count 3')
11: ('latency 61:', 'count 1')
11: ('latency 62:', 'count 8')
11: ('latency 63:', 'count 1')
11: ('latency 64:', 'count 10')
11: ('latency 65:', 'count 0')
11: ('latency 66:', 'count 6')
11: ('latency 67:', 'count 51')
11: ('latency 68:', 'count 7')
11: ('latency 69:', 'count 12')
11: ('latency 70:', 'count 4')
11: ('latency 71:', 'count 0')
11: ('latency 72:', 'count 1')
11: ('latency 73:', 'count 1')
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 2.296s
11:
11: OK
11/42 Test #11: py_test_trace3_c ................. Passed 2.49 sec
test 12
Start 12: py_test_trace4
12: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_trace4" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_trace4.py"
12: Test timeout computed to be: 9.99988e+06
12: ..
12: ----------------------------------------------------------------------
12: Ran 2 tests in 1.512s
12:
12: OK
12/42 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/ubuntu1604/build/tests/wrapper.sh "py_trace_maxactive" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_trace_maxactive.py"
13: Test timeout computed to be: 9.99988e+06
13: .
13: ----------------------------------------------------------------------
13: Ran 1 test in 0.972s
13:
13: OK
13/42 Test #13: py_test_trace_maxactive .......... Passed 1.09 sec
test 14
Start 14: py_test_probe_count
14: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_probe_count" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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 4.491s
14:
14: OK
14/42 Test #14: py_test_probe_count .............. Passed 4.54 sec
test 15
Start 15: py_test_debuginfo
15: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_debuginfo" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_debuginfo.py"
15: Test timeout computed to be: 9.99988e+06
15: ......
15: ----------------------------------------------------------------------
15: Ran 6 tests in 0.651s
15:
15: OK
15/42 Test #15: py_test_debuginfo ................ Passed 0.76 sec
test 16
Start 16: py_test_brb
16: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_brb_c" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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: Timeout
16:
16: --- 100.1.1.254 statistics ---
16: 1 packets transmitted, 0 packets received, 100% unanswered (0 extra)
16:
16: ARPING 200.1.1.254
16: Timeout
16:
16: --- 200.1.1.254 statistics ---
16: 1 packets transmitted, 0 packets received, 100% unanswered (0 extra)
16:
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.133 ms
16: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.065 ms
16:
16: --- 200.1.1.1 ping statistics ---
16: 2 packets transmitted, 2 received, 0% packet loss, time 999ms
16: rtt min/avg/max/mdev = 0.065/0.099/0.133/0.034 ms
16: [ ID] Interval Transfer Bandwidth
16: [ 7] 0.0- 1.0 sec 3.74 GBytes 32.2 Gbits/sec
16: [ ID] Interval Transfer Bandwidth
16: [ 10] 0.0- 1.0 sec 3.74 GBytes 31.9 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 37554.90
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 24954.33
16: 16384 87380
16: .
16: ----------------------------------------------------------------------
16: Ran 1 test in 7.741s
16:
16: OK
16/42 Test #16: py_test_brb ...................... Passed 7.87 sec
test 17
Start 17: py_test_brb2
17: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_brb2_c" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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.229 ms
17: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.085 ms
17:
17: --- 200.1.1.1 ping statistics ---
17: 2 packets transmitted, 2 received, 0% packet loss, time 999ms
17: rtt min/avg/max/mdev = 0.085/0.157/0.229/0.072 ms
17: [ ID] Interval Transfer Bandwidth
17: [ 7] 0.0- 1.0 sec 3.48 GBytes 29.9 Gbits/sec
17: [ ID] Interval Transfer Bandwidth
17: [ 10] 0.0- 1.0 sec 3.48 GBytes 29.6 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 34955.84
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 24429.33
17: 16384 87380
17: .
17: ----------------------------------------------------------------------
17: Ran 1 test in 7.691s
17:
17: OK
17/42 Test #17: py_test_brb2 ..................... Passed 7.82 sec
test 18
Start 18: py_test_clang
18: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_clang" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_clang.py"
18: Test timeout computed to be: 9.99988e+06
18: ............s..../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:183: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:183: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.....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: ....ss........../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 82 tests in 61.609s
18:
18: OK (skipped=5)
18: 0
18/42 Test #18: py_test_clang .................... Passed 61.94 sec
test 19
Start 19: py_test_histogram
19: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_histogram" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_histogram.py"
19: Test timeout computed to be: 9.99988e+06
19:
19: Bucket ptr = 'sshguard'
19: value : count distribution
19: 0 -> 1 : 21 |****************************************|
19:
19: Bucket ptr = 'rcu_sched'
19: value : count distribution
19: 0 -> 1 : 3 |****************************** |
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 : 4 |****************************************|
19:
19: Bucket ptr = 'iscsid'
19: value : count distribution
19: 0 -> 1 : 5 |****************************************|
19:
19: Bucket ptr = 'C2 CompilerThre'
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 : 1 |****************************************|
19:
19: Bucket ptr = 'kworker/1:1H'
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 : 4 |****************************************|
19:
19: Bucket ptr = 'watchdog/0'
19: value : count distribution
19: 0 -> 1 : 1 |****************************************|
19:
19: Bucket ptr = 'watchdog/1'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 0 | |
19: 67108864 -> 134217727 : 1 |****************************************|
19:
19: Bucket ptr = 'VM Thread'
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 : 1 |****************************************|
19:
19: Bucket ptr = 'kworker/u4:0'
19: value : count distribution
19: 0 -> 1 : 1 |****************************************|
19:
19: Bucket ptr = 'ntpd'
19: value : count distribution
19: 0 -> 1 : 1 |****************************************|
19:
19: Bucket ptr = 'swapper/1'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : 0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 0 | |
19: 67108864 -> 134217727 : 5 |* |
19: 134217728 -> 268435455 : 0 | |
19: 268435456 -> 536870911 : 0 | |
19: 536870912 -> 1073741823 : 0 | |
19: 1073741824 -> 2147483647 : 0 | |
19: 2147483648 -> 4294967295 : 0 | |
19: 4294967296 -> 8589934591 : 0 | |
19: 8589934592 -> 17179869183 : 4 |* |
19: 17179869184 -> 34359738367 : 0 | |
19: 34359738368 -> 68719476735 : 23 |***** |
19: 68719476736 -> 137438953471 : 5 |* |
19: 137438953472 -> 274877906943 : 0 | |
19: 274877906944 -> 549755813887 : 0 | |
19: 549755813888 -> 1099511627775 : 78 |********************|
19:
19: Bucket ptr = 'jbd2/sda1-8'
19: value : count distribution
19: 0 -> 1 : 6 |****************************************|
19:
19: Bucket ptr = 'python'
19: value : count distribution
19: 0 -> 1 : 24 |****** |
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 : 76 |********************|
19: 134217728 -> 268435455 : 0 | |
19: 268435456 -> 536870911 : 0 | |
19: 536870912 -> 1073741823 : 0 | |
19: 1073741824 -> 2147483647 : 0 | |
19: 2147483648 -> 4294967295 : 0 | |
19: 4294967296 -> 8589934591 : 0 | |
19: 8589934592 -> 17179869183 : 0 | |
19: 17179869184 -> 34359738367 : 0 | |
19: 34359738368 -> 68719476735 : 1 | |
19:
19: Bucket ptr = 'RemoteInvocatio'
19: value : count distribution
19: 0 -> 1 : 3 |****************************************|
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 : 2 |************************** |
19:
19: Bucket ptr = 'kworker/1:9'
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 : 1 |****************************************|
19:
19: Bucket ptr = 'snapd'
19: value : count distribution
19: 0 -> 1 : 90 |********************|
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 : 23 |***** |
19: 134217728 -> 268435455 : 0 | |
19: 268435456 -> 536870911 : 0 | |
19: 536870912 -> 1073741823 : 0 | |
19: 1073741824 -> 2147483647 : 0 | |
19: 2147483648 -> 4294967295 : 0 | |
19: 4294967296 -> 8589934591 : 0 | |
19: 8589934592 -> 17179869183 : 0 | |
19: 17179869184 -> 34359738367 : 0 | |
19: 34359738368 -> 68719476735 : 5 |* |
19: 68719476736 -> 137438953471 : 0 | |
19: 137438953472 -> 274877906943 : 0 | |
19: 274877906944 -> 549755813887 : 0 | |
19: 549755813888 -> 1099511627775 : 1 | |
19:
19: Bucket ptr = 'ctest'
19: value : count distribution
19: 0 -> 1 : 10 |****************************************|
19:
19: Bucket ptr = 'C1 CompilerThre'
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 : 1 |****************************************|
19:
19: Bucket ptr = 'kworker/0:12'
19: value : count distribution
19: 0 -> 1 : 1 |****************************************|
19:
19: Bucket ptr = 'VM Periodic Tas'
19: value : count distribution
19: 0 -> 1 : 21 |****************************************|
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 : 4 | |
19: 134217728 -> 268435455 : 0 | |
19: 268435456 -> 536870911 : 0 | |
19: 536870912 -> 1073741823 : 0 | |
19: 1073741824 -> 2147483647 : 0 | |
19: 2147483648 -> 4294967295 : 0 | |
19: 4294967296 -> 8589934591 : 6 |* |
19: 8589934592 -> 17179869183 : 0 | |
19: 17179869184 -> 34359738367 : 0 | |
19: 34359738368 -> 68719476735 : 117 |********************|
19: 68719476736 -> 137438953471 : 28 |**** |
19: 137438953472 -> 274877906943 : 0 | |
19: 274877906944 -> 549755813887 : 11 |* |
19: 549755813888 -> 1099511627775 : 24 |**** |
19:
19: Bucket ptr = 'ksoftirqd/1'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 0 | |
19: 4 -> 7 : 0 | |
19: 8 -> 15 : 0 | |
19: 16 -> 31 : 0 | |
19: 32 -> 63 : 0 | |
19: 64 -> 127 : 0 | |
19: 128 -> 255 : 0 | |
19: 256 -> 511 : 0 | |
19: 512 -> 1023 : 0 | |
19: 1024 -> 2047 : 0 | |
19: 2048 -> 4095 : ..0 | |
19: 4096 -> 8191 : 0 | |
19: 8192 -> 16383 : 0 | |
19: 16384 -> 32767 : 0 | |
19: 32768 -> 65535 : 0 | |
19: 65536 -> 131071 : 0 | |
19: 131072 -> 262143 : 0 | |
19: 262144 -> 524287 : 0 | |
19: 524288 -> 1048575 : 0 | |
19: 1048576 -> 2097151 : 0 | |
19: 2097152 -> 4194303 : 0 | |
19: 4194304 -> 8388607 : 0 | |
19: 8388608 -> 16777215 : 0 | |
19: 16777216 -> 33554431 : 0 | |
19: 33554432 -> 67108863 : 0 | |
19: 67108864 -> 134217727 : 1 |****************************************|
19:
19: Bucket ptr = 'G1 Young RemSet'
19: value : count distribution
19: 0 -> 1 : 4 |****************************************|
19:
19: k_1 & k_2 = 0 0
19: size : count distribution
19: 16 -> 31 : 1 |****************************************|
19:
19: k_1 & k_2 = 64 0
19: size : count distribution
19: 0 -> 1 : 11 |****************************************|
19: value : count distribution
19: 0 -> 1 : 3 |************ |
19: 2 -> 3 : 1 |**** |
19: 4 -> 7 : 7 |**************************** |
19: 8 -> 15 : 1 |**** |
19: 16 -> 31 : 7 |**************************** |
19: 32 -> 63 : 5 |******************** |
19: 64 -> 127 : 10 |****************************************|
19: 128 -> 255 : 4 |**************** |
19: 256 -> 511 : 2 |******** |
19: 512 -> 1023 : 10 |****************************************|
19: 1024 -> 2047 : 6 |************************ |
19: 2048 -> 4095 : 1 |**** |
19: 4096 -> 8191 : 1 |**** |
19: 8192 -> 16383 : 3 |************ |
19: 16384 -> 32767 : 2 |******** |
19: 32768 -> 65535 : 6 |************************ |
19: 65536 -> 131071 : 6 |************************ |
19: 131072 -> 262143 : 2 |******** |
19: 262144 -> 524287 : 2 |******** |
19: 524288 -> 1048575 : 6 |************************ |
19: 1048576 -> 2097151 : 6 |************************ |
19: 2097152 -> 4194303 : 10 |****************************************|
19: 4194304 -> 8388607 : 2 |******** |
19: 8388608 -> 16777215 : 6 |************************ |
19: 16777216 -> 33554431 : 3 |************ |
19: 33554432 -> 67108863 : 8 |******************************** |
19: 67108864 -> 134217727 : 7 |**************************** |
19: 134217728 -> 268435455 : 7 |**************************** |
19: 268435456 -> 536870911 : 1 |**** |
19: 536870912 -> 1073741823 : 5 |******************** |
19: 1073741824 -> 2147483647 : 1 |**** |
19: 2147483648 -> 4294967295 : 6 |************************ |
19: value : count distribution
19: 0 -> 1 : 3 |****** |
19: 2 -> 3 : 1 |** |
19: 4 -> 7 : 7 |************** |
19: 8 -> 15 : 1 |** |
19: 16 -> 31 : 7 |************** |
19: 32 -> 63 : 5 |********** |
19: 64 -> 127 : 10 |********************|
19: 128 -> 255 : 4 |******** |
19: 256 -> 511 : 2 |**** |
19: 512 -> 1023 : 10 |********************|
19: 1024 -> 2047 : 6 |************ |
19: 2048 -> 4095 : 1 |** |
19: 4096 -> 8191 : 1 |** |
19: 8192 -> 16383 : 3 |****** |
19: 16384 -> 32767 : 2 |**** |
19: 32768 -> 65535 : 6 |************ |
19: 65536 -> 131071 : 6 |************ |
19: 131072 -> 262143 : 2 |**** |
19: 262144 -> 524287 : 2 |**** |
19: 524288 -> 1048575 : 6 |************ |
19: 1048576 -> 2097151 : 6 |************ |
19: 2097152 -> 4194303 : 10 |********************|
19: 4194304 -> 8388607 : 2 |**** |
19: 8388608 -> 16777215 : 6 |************ |
19: 16777216 -> 33554431 : 3 |****** |
19: 33554432 -> 67108863 : 8 |**************** |
19: 67108864 -> 134217727 : 7 |************** |
19: 134217728 -> 268435455 : 7 |************** |
19: 268435456 -> 536870911 : 1 |** |
19: 536870912 -> 1073741823 : 5 |********** |
19: 1073741824 -> 2147483647 : 1 |** |
19: 2147483648 -> 4294967295 : 6 |************ |
19: 4294967296 -> 8589934591 : 8 |**************** |
19: 8589934592 -> 17179869183 : 5 |********** |
19: 17179869184 -> 34359738367 : 1 |** |
19: 34359738368 -> 68719476735 : 8 |**************** |
19: 68719476736 -> 137438953471 : 6 |************ |
19: 137438953472 -> 274877906943 : 1 |** |
19: 274877906944 -> 549755813887 : 7 |************** |
19: 549755813888 -> 1099511627775 : 7 |************** |
19: 1099511627776 -> 2199023255551 : 5 |********** |
19: 2199023255552 -> 4398046511103 : 7 |************** |
19: 4398046511104 -> 8796093022207 : 5 |********** |
19: 8796093022208 -> 17592186044415 : 3 |****** |
19: 17592186044416 -> 35184372088831 : 6 |************ |
19: 35184372088832 -> 70368744177663 : 7 |************** |
19: 70368744177664 -> 140737488355327 : 9 |****************** |
19: 140737488355328 -> 281474976710655 : 8 |**************** |
19: 281474976710656 -> 562949953421311 : 2 |*.*** |
19: 562949953421312 -> 1125899906842623 : 3 |****** |
19: 1125899906842624 -> 2251799813685247 : 5 |********** |
19: 2251799813685248 -> 4503599627370495 : 1 |** |
19: 4503599627370496 -> 9007199254740991 : 7 |************** |
19: 9007199254740992 -> 18014398509481983 : 7 |************** |
19: 18014398509481984 -> 36028797018963967 : 3 |****** |
19: 36028797018963968 -> 72057594037927935 : 2 |**** |
19: 72057594037927936 -> 144115188075855871 : 3 |****** |
19: 144115188075855872 -> 288230376151711743 : 1 |** |
19: 288230376151711744 -> 576460752303423487 : 1 |** |
19: 576460752303423488 -> 1152921504606846975 : 1 |** |
19: 1152921504606846976 -> 2305843009213693951 : 6 |************ |
19: 2305843009213693952 -> 4611686018427387903 : 9 |****************** |
19: 4611686018427387904 -> 9223372036854775807 : 3 |****** |
19:
19: Bucket ptr = 18446612141267851392L
19: value : count distribution
19: 0 -> 1 : 3 |****** |
19: 2 -> 3 : 9 |****************** |
19: 4 -> 7 : 7 |************** |
19: 8 -> 15 : 10 |********************|
19: 16 -> 31 : 6 |************ |
19: 32 -> 63 : 5 |********** |
19: 64 -> 127 : 3 |****** |
19: 128 -> 255 : 8 |**************** |
19: 256 -> 511 : 6 |************ |
19: 512 -> 1023 : 10 |********************|
19: 1024 -> 2047 : 6 |************ |
19: 2048 -> 4095 : 10 |********************|
19: 4096 -> 8191 : 3 |****** |
19: 8192 -> 16383 : 6 |************ |
19: 16384 -> 32767 : 6 |************ |
19: 32768 -> 65535 : 5 |********** |
19: 65536 -> 131071 : 1 |** |
19: 131072 -> 262143 : 1 |** |
19: 262144 -> 524287 : 1 |** |
19: 524288 -> 1048575 : 2 |**** |
19: 1048576 -> 2097151 : 7 |************** |
19: 2097152 -> 4194303 : 8 |**************** |
19: 4194304 -> 8388607 : 7 |************** |
19: 8388608 -> 16777215 : 8 |**************** |
19: 16777216 -> 33554431 : 7 |************** |
19: 33554432 -> 67108863 : 2 |**** |
19: 67108864 -> 134217727 : 10 |********************|
19: 134217728 -> 268435455 : 6 |************ |
19: 268435456 -> 536870911 : 8 |**************** |
19: 536870912 -> 1073741823 : 5 |********** |
19: 1073741824 -> 2147483647 : 6 |************ |
19: 2147483648 -> 4294967295 : 5 |********** |
19: 4294967296 -> 8589934591 : 4 |******** |
19: 8589934592 -> 17179869183 : 4 |******** |
19: 17179869184 -> 34359738367 : 7 |************** |
19: 34359738368 -> 68719476735 : 5 |********** |
19: 68719476736 -> 137438953471 : 7 |************** |
19: 137438953472 -> 274877906943 : 6 |************ |
19: 274877906944 -> 549755813887 : 10 |********************|
19: 549755813888 -> 1099511627775 : 4 |******** |
19: 1099511627776 -> 2199023255551 : 10 |********************|
19: 2199023255552 -> 4398046511103 : 4 |******** |
19: 4398046511104 -> 8796093022207 : 3 |****** |
19: 8796093022208 -> 17592186044415 : 3 |****** |
19: 17592186044416 -> 35184372088831 : 1 |** |
19: 35184372088832 -> 70368744177663 : 3 |****** |
19: 70368744177664 -> 140737488355327 : 9 |****************** |
19: 140737488355328 -> 281474976710655 : 10 |********************|
19: 281474976710656 -> 562949953421311 : 3 |****** |
19: 562949953421312 -> 1125899906842623 : 9 |****************** |
19: 1125899906842624 -> 2251799813685247 : 8 |**************** |
19: 2251799813685248 -> 4503599627370495 : 6 |************ |
19: 4503599627370496 -> 9007199254740991 : 7 |************** |
19: 9007199254740992 -> 18014398509481983 : 1 |** |
19: 18014398509481984 -> 36028797018963967 : 5 |********** |
19: 36028797018963968 -> 72057594037927935 : 4 |******** |
19: 72057594037927936 -> 144115188075855871 : 10 |********************|
19: 144115188075855872 -> 288230376151711743 : 7 |************** |
19: 288230376151711744 -> 576460752303423487 : 2 |**** |
19: 576460752303423488 -> 1152921504606846975 : 7 |************** |
19: 1152921504606846976 -> 2305843009213693951 : 8 |**************** |
19: 2305843009213693952 -> 4611686018427387903 : 2 |**** |
19: 4611686018427387904 -> 9223372036854775807 : 9 |****************** |
19: 9223372036854775808 -> 18446744073709551615 : 9 |****************** |
19:
19: Bucket ptr = 18446612141267849728L
19: value : count distribution
19: 0 -> 1 : 3 |****** |
19: 2 -> 3 : 9 |****************** |
19: 4 -> 7 : 7 |************** |
19: 8 -> 15 : 10 |********************|
19: 16 -> 31 : 6 |************ |
19: 32 -> 63 : 5 |********** |
19: 64 -> 127 : 3 |****** |
19: 128 -> 255 : 8 |**************** |
19: 256 -> 511 : 6 |************ |
19: 512 -> 1023 : 10 |********************|
19: 1024 -> 2047 : 6 |************ |
19: 2048 -> 4095 : 10 |********************|
19: 4096 -> 8191 : 3 |****** |
19: 8192 -> 16383 : 6 |************ |
19: 16384 -> 32767 : 6 |************ |
19: 32768 -> 65535 : 5 |********** |
19: 65536 -> 131071 : 1 |** |
19: 131072 -> 262143 : 1 |** |
19: 262144 -> 524287 : 1 |** |
19: 524288 -> 1048575 : 2 |**** |
19: 1048576 -> 2097151 : 7 |************** |
19: 2097152 -> 4194303 : 8 |**************** |
19: 4194304 -> 8388607 : 7 |**.
19: ----------------------------------------------------------------------
19: Ran 4 tests in 3.598s
19:
19: OK
19: ************ |
19: 8388608 -> 16777215 : 8 |**************** |
19: 16777216 -> 33554431 : 7 |************** |
19: 33554432 -> 67108863 : 2 |**** |
19: 67108864 -> 134217727 : 10 |********************|
19: 134217728 -> 268435455 : 6 |************ |
19: 268435456 -> 536870911 : 8 |**************** |
19: 536870912 -> 1073741823 : 5 |********** |
19: 1073741824 -> 2147483647 : 6 |************ |
19: 2147483648 -> 4294967295 : 5 |********** |
19: 4294967296 -> 8589934591 : 4 |******** |
19: 8589934592 -> 17179869183 : 4 |******** |
19: 17179869184 -> 34359738367 : 7 |************** |
19: 34359738368 -> 68719476735 : 5 |********** |
19: 68719476736 -> 137438953471 : 7 |************** |
19: 137438953472 -> 274877906943 : 6 |************ |
19: 274877906944 -> 549755813887 : 10 |********************|
19: 549755813888 -> 1099511627775 : 4 |******** |
19: 1099511627776 -> 2199023255551 : 10 |********************|
19: 2199023255552 -> 4398046511103 : 4 |******** |
19: 4398046511104 -> 8796093022207 : 3 |****** |
19: 8796093022208 -> 17592186044415 : 3 |****** |
19: 17592186044416 -> 35184372088831 : 1 |** |
19: 35184372088832 -> 70368744177663 : 3 |****** |
19: 70368744177664 -> 140737488355327 : 9 |****************** |
19: 140737488355328 -> 281474976710655 : 10 |********************|
19: 281474976710656 -> 562949953421311 : 3 |****** |
19: 562949953421312 -> 1125899906842623 : 9 |****************** |
19: 1125899906842624 -> 2251799813685247 : 8 |**************** |
19: 2251799813685248 -> 4503599627370495 : 6 |************ |
19: 4503599627370496 -> 9007199254740991 : 7 |************** |
19: 9007199254740992 -> 18014398509481983 : 1 |** |
19: 18014398509481984 -> 36028797018963967 : 5 |********** |
19: 36028797018963968 -> 72057594037927935 : 4 |******** |
19: 72057594037927936 -> 144115188075855871 : 10 |********************|
19: 144115188075855872 -> 288230376151711743 : 7 |************** |
19: 288230376151711744 -> 576460752303423487 : 2 |**** |
19: 576460752303423488 -> 1152921504606846975 : 7 |************** |
19: 1152921504606846976 -> 2305843009213693951 : 8 |**************** |
19: 2305843009213693952 -> 4611686018427387903 : 2 |**** |
19: 4611686018427387904 -> 9223372036854775807 : 9 |****************** |
19: 9223372036854775808 -> 18446744073709551615 : 9 |****************** |
19/42 Test #19: py_test_histogram ................ Passed 3.65 sec
test 20
Start 20: py_array
20: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_array" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_array.py"
20: Test timeout computed to be: 9.99988e+06
20: ....
20: ----------------------------------------------------------------------
20: Ran 4 tests in 1.455s
20:
20: OK
20/42 Test #20: py_array ......................... Passed 1.51 sec
test 21
Start 21: py_uprobes
21: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_uprobes" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_uprobes.py"
21: Test timeout computed to be: 9.99988e+06
21: .Python 2.7.12
21: .Arena 0:
21: system bytes = 26411008
21: in use bytes = 2934624
21: Total (incl. mmap):
21: system bytes = 27201536
21: in use bytes = 3725152
21: max mmap regions = 7
21: max mmap bytes = 9203712
21: .
21: ----------------------------------------------------------------------
21: Ran 3 tests in 6.566s
21:
21: OK
21/42 Test #21: py_uprobes ....................... Passed 6.62 sec
test 22
Start 22: py_uprobes_2
22: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_uprobes2" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_uprobes2.py"
22: Test timeout computed to be: 9.99988e+06
22: .
22: ----------------------------------------------------------------------
22: Ran 1 test in 0.279s
22:
22: OK
22/42 Test #22: py_uprobes_2 ..................... Passed 0.34 sec
test 23
Start 23: py_test_stackid
23: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_stackid" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_stackid.py"
23: Test timeout computed to be: 9.99988e+06
23: ss
23: ----------------------------------------------------------------------
23: Ran 2 tests in 0.000s
23:
23: OK (skipped=2)
23/42 Test #23: py_test_stackid .................. Passed 0.11 sec
test 24
Start 24: py_test_tracepoint
24: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_tracepoint" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_tracepoint.py"
24: Test timeout computed to be: 9.99988e+06
24: ss
24: ----------------------------------------------------------------------
24: Ran 2 tests in 0.000s
24:
24: OK (skipped=2)
24/42 Test #24: py_test_tracepoint ............... Passed 0.05 sec
test 25
Start 25: py_test_perf_event
25: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_perf_event" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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.348s
25:
25: OK (skipped=1)
25/42 Test #25: py_test_perf_event ............... Passed 0.47 sec
test 26
Start 26: py_test_utils
26: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_utils" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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/42 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/ubuntu1604/build/tests/wrapper.sh "py_test_percpu" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_percpu.py"
27: Test timeout computed to be: 9.99988e+06
27: could not open bpf map: stub, error: Invalid argument
27: scould not open bpf map: stub, error: Invalid argument
27: scould not open bpf map: stub, error: Invalid argument
27: scould not open bpf map: stub, error: Invalid argument
27: s
27: ----------------------------------------------------------------------
27: Ran 4 tests in 0.892s
27:
27: OK (skipped=4)
27/42 Test #27: py_test_percpu ................... Passed 0.94 sec
test 28
Start 28: py_test_dump_func
28: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_dump_func" "simple" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_dump_func.py"
28: Test timeout computed to be: 9.99988e+06
28: .
28: ----------------------------------------------------------------------
28: Ran 1 test in 0.123s
28:
28: OK
28/42 Test #28: py_test_dump_func ................ Passed 0.16 sec
test 29
Start 29: py_test_disassembler
29: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_disassembler" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_disassembler.py"
29: Test timeout computed to be: 9.99988e+06
29: ..
29: ----------------------------------------------------------------------
29: Ran 2 tests in 0.246s
29:
29: OK
29/42 Test #29: py_test_disassembler ............. Passed 0.30 sec
test 30
Start 30: py_test_tools_smoke
30: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_tools_smoke" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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 375, 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.s....sss....'unknown': I need something more specific.
30: ......Killed
30: .ss.ss...ssslibbpf: failed to find valid kernel BTF
30: libbpf: vmlinux BTF is not found
30: ..s.ss'unknown': I need something more specific.
30: .ss..s..s...s..'unknown': I need something more specific.
30: ...'unknown': I need something more specific.
30: .s...'unknown': I need something more specific.
30: ...libbpf: failed to find valid kernel BTF
30: libbpf: vmlinux BTF is not found
30: .s....
30: ----------------------------------------------------------------------
30: Ran 83 tests in 204.918s
30:
30: OK (skipped=22)
30/42 Test #30: py_test_tools_smoke .............. Passed 205.02 sec
test 31
Start 31: py_test_tools_memleak
31: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_tools_memleak" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_tools_memleak.py"
31: Test timeout computed to be: 9.99988e+06
31: ssssssss
31: ----------------------------------------------------------------------
31: Ran 8 tests in 0.076s
31:
31: OK (skipped=8)
31/42 Test #31: py_test_tools_memleak ............ Passed 0.11 sec
test 32
Start 32: py_test_usdt
32: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_usdt" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_usdt.py"
32: Test timeout computed to be: 9.99988e+06
32: <stdin>: In function ‘main’:
32: <stdin>:23:17: warning: null character(s) preserved in literal
32: <stdin>:25:42: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
32: <stdin>:25:42: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
32: <stdin>:28:17: warning: null character(s) preserved in literal
32: <stdin>:30:42: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
32: <stdin>:30:42: 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 -main-file-name main.c -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -coverage-file /usr/src/linux-headers-4.4.0-116-generic/main.c -nostdsysteminc -nobuiltininc -resource-dir ../lib/clang/3.8.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/ubuntu1604/tests/python -D __BPF_TRACING__ -I ./arch/x86/include -I arch/x86/include/generated/uapi -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__ -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.4.0-116-generic -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 0x4006e4ULL: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
32: case 0x4006eaULL: *((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 0x4006e4ULL: { 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 0x4006eaULL: { 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 0x4006e5ULL: { 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 0x4006f8ULL: *((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 0x4006e5ULL: { 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 0x4006f8ULL: *((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.053s
32:
32: OK
32: Running from kernel directory at: /lib/modules/4.4.0-116-generic/build
32: str5
32: str4
32: str7
32: str6
32: str9
32: str8
32/42 Test #32: py_test_usdt ..................... Passed 4.28 sec
test 33
Start 33: py_test_usdt2
33: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_usdt2" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_usdt2.py"
33: Test timeout computed to be: 9.99988e+06
33: .
33: ----------------------------------------------------------------------
33: Ran 1 test in 2.048s
33:
33: OK
33/42 Test #33: py_test_usdt2 .................... Passed 2.21 sec
test 34
Start 34: py_test_usdt3
34: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_usdt3" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_usdt3.py"
34: Test timeout computed to be: 9.99988e+06
34: test:probe [sema 0x0]
34: location #1 /proc/8998/root/tmp/tmpc9sWSz/liba.so 0x657
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #2 /proc/8998/root/tmp/tmpc9sWSz/libb.so 0x657
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #3 /proc/8998/root/tmp/tmpc9sWSz/a.out 0x40072d
34: argument #1 4 signed bytes @ *(bp - 4)
34: test_dup_name:probe [sema 0x0]
34: location #1 /proc/8998/root/tmp/tmpc9sWSz/liba.so 0x658
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #2 /proc/8998/root/tmp/tmpc9sWSz/libb.so 0x658
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #3 /proc/8998/root/tmp/tmpc9sWSz/a.out 0x40072e
34: argument #1 4 signed bytes @ *(bp - 4)
34: libc:setjmp [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x351f1
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/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x352d3
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/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x119063
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/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x352ef
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/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x11907f
34: argument #1 8 unsigned bytes @ di
34: argument #2 4 signed bytes @ ax
34: argument #3 8 unsigned bytes @ dx
34: libc:memory_heap_new [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x7d398
34: argument #1 8 unsigned bytes @ bx
34: argument #2 8 unsigned bytes @ bp
34: libc:memory_arena_reuse_free_list [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x7d6ec
34: argument #1 8 unsigned bytes @ dx
34: libc:memory_sbrk_less [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x7d8de
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 signed bytes @ bx
34: libc:memory_arena_reuse_wait [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x7d9eb
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_reuse [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x7db14
34: argument #1 8 unsigned bytes @ dx
34: argument #2 8 unsigned bytes @ bx
34: libc:memory_arena_new [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x7dcbb
34: argument #1 8 unsigned bytes @ dx
34: argument #2 8 unsigned bytes @ bp
34: libc:memory_arena_retry [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x7deb3
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/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x80265
34: argument #1 8 unsigned bytes @ di
34: argument #2 8 unsigned bytes @ ax
34: libc:memory_heap_less [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x8040e
34: argument #1 8 unsigned bytes @ r15
34: argument #2 8 unsigned bytes @ r14
34: libc:memory_heap_more [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x81351
34: argument #1 8 unsigned bytes @ r8
34: argument #2 8 unsigned bytes @ cx
34: libc:memory_sbrk_more [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x81638
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 signed bytes @ r15
34: libc:memory_malloc_retry [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x84268
34: argument #1 8 unsigned bytes @ bp
34: location #2 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x85978
34: argument #1 8 unsigned bytes @ bp
34: libc:memory_mallopt_free_dyn_thresholds [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x84581
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ dx
34: libc:memory_realloc_retry [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x84a20
34: argument #1 8 unsigned bytes @ r13
34: argument #2 8 unsigned bytes @ bx
34: location #2 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x85da0
34: argument #1 8 unsigned bytes @ r13
34: argument #2 8 unsigned bytes @ bx
34: libc:memory_memalign_retry [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x84c48
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bx
34: location #2 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x85fe8
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bx
34: location #3 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x867d8
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bx
34: location #4 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x86ac8
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bx
34: location #5 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x87822
34: argument #1 8 unsigned bytes @ bx
34: argument #2 8 unsigned bytes @ r12
34: libc:memory_calloc_retry [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x84f40
34: argument #1 8 unsigned bytes @ bp
34: libc:memory_mallopt [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x852d4
34: argument #1 4 signed bytes @ bx
34: argument #2 4 signed bytes @ bp
34: libc:memory_mallopt_mxfast [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x85302
34: argument #1 4 signed bytes @ bp
34: argument #2 8 unsigned bytes @ *(&global_max_fast + 0)
34: libc:memory_mallopt_arena_max [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x8532c
34: argument #1 4 signed bytes @ bp
34: argument #2 8 unsigned bytes @ *(&mp_ + 32)
34: libc:memory_mallopt_arena_test [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x85384
34: argument #1 4 signed bytes @ bp
34: argument #2 8 unsigned bytes @ *(&mp_ + 24)
34: libc:memory_mallopt_mmap_max [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x85398
34: argument #1 4 signed bytes @ bp
34: argument #2 4 signed bytes @ *(&mp_ + 44)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: libc:memory_mallopt_mmap_threshold [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x853be
34: argument #1 4 signed bytes @ bp
34: argument #2 8 unsigned bytes @ *(&mp_ + 16)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: libc:memory_mallopt_top_pad [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x853e0
34: argument #1 4 signed bytes @ bp
34: argument #2 8 unsigned bytes @ *(&mp_ + 8)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: libc:memory_mallopt_trim_threshold [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x85400
34: argument #1 4 signed bytes @ bp
34: argument #2 8 unsigned bytes @ *(&mp_ + 0)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: libc:memory_mallopt_perturb [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x85420
34: argument #1 4 signed bytes @ bp
34: argument #2 4 signed bytes @ *(&perturb_byte + 0)
34: libc:memory_mallopt_check_action [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x85438
34: argument #1 4 signed bytes @ bp
34: argument #2 4 signed bytes @ *(&check_action + 0)
34: libc:lll_lock_wait_private [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/libc-2.23.so 0x115094
34: argument #1 8 unsigned bytes @ di
34: rtld:init_start [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x396a
34: argument #1 4 signed bytes @ 0
34: argument #2 8 unsigned bytes @ r14
34: rtld:init_complete [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x3f3b
34: argument #1 4 signed bytes @ 0
34: argument #2 8 unsigned bytes @ bx
34: rtld:map_failed [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x56f6
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/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x669a
34: argument #1 8 signed bytes @ *(bp + 40)
34: argument #2 8 unsigned bytes @ *(bp - 216)
34: rtld:map_complete [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x15650
34: argument #1 8 signed bytes @ *(ax + 40)
34: argument #2 8 unsigned bytes @ *(bp - 120)
34: argument #3 8 unsigned bytes @ *(bp - 104)
34: rtld:reloc_start [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x1586c
34: argument #1 8 signed bytes @ *(r12 + 40)
34: argument #2 8 unsigned bytes @ *(bp - 120)
34: rtld:reloc_complete [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x158c9
34: argument #1 8 signed bytes @ *(ax + 40)
34: argument #2 8 unsigned bytes @ *(bp - 120)
34: argument #3 8 unsigned bytes @ *(bp - 104)
34: rtld:unmap_start [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x165d5
34: argument #1 8 signed bytes @ *(bp - 112)
34: argument #2 8 unsigned bytes @ *(bp - 88)
34: rtld:unmap_complete [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x167e6
34: argument #1 8 signed bytes @ *(bp - 112)
34: argument #2 8 unsigned bytes @ *(bp - 88)
34: rtld:setjmp [sema 0x0]
34: location #1 /proc/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x1b64d
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/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x1b68d
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/8998/root/lib/x86_64-linux-gnu/ld-2.23.so 0x1b6a9
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.128s
34:
34: OK
34: temp directory: /tmp/tmpc9sWSz
34/42 Test #34: py_test_usdt3 .................... Passed 1.28 sec
test 35
Start 35: py_test_license
35: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_license" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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 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 5
35: cannot call GPL only function from proprietary program
35:
35: x..
35: ----------------------------------------------------------------------
35: Ran 10 tests in 2.615s
35:
35: OK (expected failures=5)
35/42 Test #35: py_test_license .................. Passed 2.66 sec
test 36
Start 36: py_test_free_bcc_memory
36: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_free_bcc_memory" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_free_bcc_memory.py"
36: Test timeout computed to be: 9.99988e+06
36: s
36: ----------------------------------------------------------------------
36: Ran 1 test in 0.000s
36:
36: OK (skipped=1)
36/42 Test #36: py_test_free_bcc_memory .......... Passed 0.05 sec
test 37
Start 37: py_test_rlimit
37: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_rlimit" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/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.485s
37:
37: OK
37/42 Test #37: py_test_rlimit ................... Passed 0.60 sec
test 38
Start 38: py_test_lpm_trie
38: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "py_test_lpm_trie" "sudo" "/home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/python/test_lpm_trie.py"
38: Test timeout computed to be: 9.99988e+06
38: ss
38: ----------------------------------------------------------------------
38: Ran 2 tests in 0.000s
38:
38: OK (skipped=2)
38/42 Test #38: py_test_lpm_trie ................. Passed 0.06 sec
test 39
Start 39: lua_test_clang
39: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "lua_test_clang" "sudo" "/usr/bin/luajit" "test_clang.lua"
39: Test timeout computed to be: 9.99988e+06
39: /virtual/main.c:1:30: error: expected expression
39: int failure(void *ctx) { if (); return 0; }
39: ^
39: 1 error generated.
39: ....................
39: Ran 20 tests in 11.553 seconds, 20 successes, 0 failures
39: OK
39/42 Test #39: lua_test_clang ................... Passed 11.58 sec
test 40
Start 40: lua_test_uprobes
40: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "lua_test_uprobes" "sudo" "/usr/bin/luajit" "test_uprobes.lua"
40: Test timeout computed to be: 9.99988e+06
40: Python 2.7.12
40: Arena 0:
40: system bytes = 22958080
40: in use bytes = 1009408
40: Total (incl. mmap):
40: system bytes = 22958080
40: in use bytes = 1009408
40: max mmap regions = 6
40: max mmap bytes = 8413184
40: ..
40: Ran 2 tests in 0.468 seconds, 2 successes, 0 failures
40: OK
40/42 Test #40: lua_test_uprobes ................. Passed 0.57 sec
test 41
Start 41: lua_test_dump
41: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/build/tests/wrapper.sh "lua_test_dump" "sudo" "/usr/bin/luajit" "test_dump.lua"
41: Test timeout computed to be: 9.99988e+06
41: .
41: Ran 1 tests in 0.234 seconds, 1 successes, 0 failures
41: OK
41/42 Test #41: lua_test_dump .................... Passed 0.25 sec
test 42
Start 42: lua_test_standalone
42: Test command: /home/iovisor/jenkins/workspace/bcc-pr/label/ubuntu1604/tests/lua/test_standalone.sh
42: Test timeout computed to be: 9.99988e+06
42: + cd src/lua
42: + [[ ! -x bcc-lua ]]
42: + echo 'bcc-lua not built --- skipping'
42: bcc-lua not built --- skipping
42: + exit 0
42/42 Test #42: lua_test_standalone .............. Passed 0.00 sec
100% tests passed, 0 tests failed out of 42
Total Test time (real) = 359.51 sec
+ head -n 1 Testing/TAG
+ cp Testing/20200602-0054/Test.xml ./CTestResults.xml
Taking single-use slave ubuntu1604-slave-6ce offline.
Finished: SUCCESS