Console Output
Skipping 137 KB..
Full Log1: - __u64 end_ns, delta_ns;
1: - const __u8 *file_name;
1: - struct data *datap;
1: - struct event event = {};
1: - struct dentry *dentry;
1: - struct file *fp;
1: -
1: - if (target_pid && target_pid != pid)
1: - return 0;
1: -
1: - datap = bpf_map_lookup_elem(&starts, &tid);
1: - if (!datap)
1: - return 0;
1: -
1: - bpf_map_delete_elem(&starts, &tid);
1: -
1: - end_ns = bpf_ktime_get_ns();
1: - delta_ns = end_ns - datap->ts;
1: - if (delta_ns <= min_lat_ns)
1: - return 0;
1: -
1: - event.delta_us = delta_ns / 1000;
1: - event.end_ns = end_ns;
1: - event.offset = datap->start;
1: - if (op != FSYNC)
1: - event.size = size;
1: - else
1: - event.size = datap->end - datap->start;
1: - event.pid = pid;
1: - event.op = op;
1: - fp = datap->fp;
1: - dentry = BPF_CORE_READ(fp, f_path.dentry);
1: - file_name = BPF_CORE_READ(dentry, d_name.name);
1: - bpf_probe_read_kernel_str(&event.file, sizeof(event.file), file_name);
1: - bpf_get_current_comm(&event.task, sizeof(event.task));
1: - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));
1: - return 0;
1: +static int probe_entry(struct file *fp, loff_t start, loff_t end) {
1: + __u64 pid_tgid = bpf_get_current_pid_tgid();
1: + __u32 pid = pid_tgid >> 32;
1: + __u32 tid = (__u32)pid_tgid;
1: + struct data data;
1: +
1: + if (!fp)
1: + return 0;
1: +
1: + if (target_pid && target_pid != pid)
1: + return 0;
1: +
1: + data.ts = bpf_ktime_get_ns();
1: + data.start = start;
1: + data.end = end;
1: + data.fp = fp;
1: + bpf_map_update_elem(&starts, &tid, &data, BPF_ANY);
1: + return 0;
1: +}
1: +
1: +static int probe_exit(void *ctx, enum fs_file_op op, ssize_t size) {
1: + __u64 pid_tgid = bpf_get_current_pid_tgid();
1: + __u32 pid = pid_tgid >> 32;
1: + __u32 tid = (__u32)pid_tgid;
1: + __u64 end_ns, delta_ns;
1: + const __u8 *file_name;
1: + struct data *datap;
1: + struct event event = {};
1: + struct dentry *dentry;
1: + struct file *fp;
1: +
1: + if (target_pid && target_pid != pid)
1: + return 0;
1: +
1: + datap = bpf_map_lookup_elem(&starts, &tid);
1: + if (!datap)
1: + return 0;
1: +
1: + bpf_map_delete_elem(&starts, &tid);
1: +
1: + end_ns = bpf_ktime_get_ns();
1: + delta_ns = end_ns - datap->ts;
1: + if (delta_ns <= min_lat_ns)
1: + return 0;
1: +
1: + event.delta_us = delta_ns / 1000;
1: + event.end_ns = end_ns;
1: + event.offset = datap->start;
1: + if (op != FSYNC)
1: + event.size = size;
1: + else
1: + event.size = datap->end - datap->start;
1: + event.pid = pid;
1: + event.op = op;
1: + fp = datap->fp;
1: + dentry = BPF_CORE_READ(fp, f_path.dentry);
1: + file_name = BPF_CORE_READ(dentry, d_name.name);
1: + bpf_probe_read_kernel_str(&event.file, sizeof(event.file), file_name);
1: + bpf_get_current_comm(&event.task, sizeof(event.task));
1: + bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));
1: + return 0;
1: }
1:
1: SEC("kprobe/dummy_file_read")
1: -int BPF_KPROBE(file_read_entry, struct kiocb *iocb)
1: -{
1: - struct file *fp = BPF_CORE_READ(iocb, ki_filp);
1: - loff_t start = BPF_CORE_READ(iocb, ki_pos);
1: +int BPF_KPROBE(file_read_entry, struct kiocb *iocb) {
1: + struct file *fp = BPF_CORE_READ(iocb, ki_filp);
1: + loff_t start = BPF_CORE_READ(iocb, ki_pos);
1:
1: - return probe_entry(fp, start, 0);
1: + return probe_entry(fp, start, 0);
1: }
1:
1: SEC("kretprobe/dummy_file_read")
1: -int BPF_KRETPROBE(file_read_exit, ssize_t ret)
1: -{
1: - return probe_exit(ctx, READ, ret);
1: +int BPF_KRETPROBE(file_read_exit, ssize_t ret) {
1: + return probe_exit(ctx, READ, ret);
1: }
1:
1: SEC("kprobe/dummy_file_write")
1: -int BPF_KPROBE(file_write_entry, struct kiocb *iocb)
1: -{
1: - struct file *fp = BPF_CORE_READ(iocb, ki_filp);
1: - loff_t start = BPF_CORE_READ(iocb, ki_pos);
1: +int BPF_KPROBE(file_write_entry, struct kiocb *iocb) {
1: + struct file *fp = BPF_CORE_READ(iocb, ki_filp);
1: + loff_t start = BPF_CORE_READ(iocb, ki_pos);
1:
1: - return probe_entry(fp, start, 0);
1: + return probe_entry(fp, start, 0);
1: }
1:
1: SEC("kretprobe/dummy_file_write")
1: -int BPF_KRETPROBE(file_write_exit, ssize_t ret)
1: -{
1: - return probe_exit(ctx, WRITE, ret);
1: +int BPF_KRETPROBE(file_write_exit, ssize_t ret) {
1: + return probe_exit(ctx, WRITE, ret);
1: }
1:
1: SEC("kprobe/dummy_file_open")
1: -int BPF_KPROBE(file_open_entry, struct inode *inode, struct file *file)
1: -{
1: - return probe_entry(file, 0, 0);
1: +int BPF_KPROBE(file_open_entry, struct inode *inode, struct file *file) {
1: + return probe_entry(file, 0, 0);
1: }
1:
1: SEC("kretprobe/dummy_file_open")
1: -int BPF_KRETPROBE(file_open_exit)
1: -{
1: - return probe_exit(ctx, OPEN, 0);
1: -}
1: +int BPF_KRETPROBE(file_open_exit) { return probe_exit(ctx, OPEN, 0); }
1:
1: SEC("kprobe/dummy_file_sync")
1: -int BPF_KPROBE(file_sync_entry, struct file *file, loff_t start, loff_t end)
1: -{
1: - return probe_entry(file, start, end);
1: +int BPF_KPROBE(file_sync_entry, struct file *file, loff_t start, loff_t end) {
1: + return probe_entry(file, start, end);
1: }
1:
1: SEC("kretprobe/dummy_file_sync")
1: -int BPF_KRETPROBE(file_sync_exit)
1: -{
1: - return probe_exit(ctx, FSYNC, 0);
1: -}
1: +int BPF_KRETPROBE(file_sync_exit) { return probe_exit(ctx, FSYNC, 0); }
1:
1: SEC("fentry/dummy_file_read")
1: -int BPF_PROG(file_read_fentry, struct kiocb *iocb)
1: -{
1: - struct file *fp = iocb->ki_filp;
1: - loff_t start = iocb->ki_pos;
1: +int BPF_PROG(file_read_fentry, struct kiocb *iocb) {
1: + struct file *fp = iocb->ki_filp;
1: + loff_t start = iocb->ki_pos;
1:
1: - return probe_entry(fp, start, 0);
1: + return probe_entry(fp, start, 0);
1: }
1:
1: SEC("fexit/dummy_file_read")
1: -int BPF_PROG(file_read_fexit, struct kiocb *iocb, struct iov_iter *to, ssize_t ret)
1: -{
1: - return probe_exit(ctx, READ, ret);
1: +int BPF_PROG(file_read_fexit, struct kiocb *iocb, struct iov_iter *to,
1: + ssize_t ret) {
1: + return probe_exit(ctx, READ, ret);
1: }
1:
1: SEC("fentry/dummy_file_write")
1: -int BPF_PROG(file_write_fentry, struct kiocb *iocb)
1: -{
1: - struct file *fp = iocb->ki_filp;
1: - loff_t start = iocb->ki_pos;
1: +int BPF_PROG(file_write_fentry, struct kiocb *iocb) {
1: + struct file *fp = iocb->ki_filp;
1: + loff_t start = iocb->ki_pos;
1:
1: - return probe_entry(fp, start, 0);
1: + return probe_entry(fp, start, 0);
1: }
1:
1: SEC("fexit/dummy_file_write")
1: -int BPF_PROG(file_write_fexit, struct kiocb *iocb, struct iov_iter *from, ssize_t ret)
1: -{
1: - return probe_exit(ctx, WRITE, ret);
1: +int BPF_PROG(file_write_fexit, struct kiocb *iocb, struct iov_iter *from,
1: + ssize_t ret) {
1: + return probe_exit(ctx, WRITE, ret);
1: }
1:
1: SEC("fentry/dummy_file_open")
1: -int BPF_PROG(file_open_fentry, struct inode *inode, struct file *file)
1: -{
1: - return probe_entry(file, 0, 0);
1: +int BPF_PROG(file_open_fentry, struct inode *inode, struct file *file) {
1: + return probe_entry(file, 0, 0);
1: }
1:
1: SEC("fexit/dummy_file_open")
1: -int BPF_PROG(file_open_fexit)
1: -{
1: - return probe_exit(ctx, OPEN, 0);
1: -}
1: +int BPF_PROG(file_open_fexit) { return probe_exit(ctx, OPEN, 0); }
1:
1: SEC("fentry/dummy_file_sync")
1: -int BPF_PROG(file_sync_fentry, struct file *file, loff_t start, loff_t end)
1: -{
1: - return probe_entry(file, start, end);
1: +int BPF_PROG(file_sync_fentry, struct file *file, loff_t start, loff_t end) {
1: + return probe_entry(file, start, end);
1: }
1:
1: SEC("fexit/dummy_file_sync")
1: -int BPF_PROG(file_sync_fexit)
1: -{
1: - return probe_exit(ctx, FSYNC, 0);
1: -}
1: +int BPF_PROG(file_sync_fexit) { return probe_exit(ctx, FSYNC, 0); }
1:
1: char LICENSE[] SEC("license") = "GPL";
1: diff --git a/libbpf-tools/fsslower.c b/libbpf-tools/fsslower.c
1: index 6ffefef..1671d5e 100644
1: --- a/libbpf-tools/fsslower.c
1: +++ b/libbpf-tools/fsslower.c
1: @@ -19,61 +19,58 @@
1: #include <time.h>
1: #include <unistd.h>
1:
1: -#include <bpf/libbpf.h>
1: #include <bpf/bpf.h>
1: +#include <bpf/libbpf.h>
1:
1: #include "fsslower.h"
1: #include "fsslower.skel.h"
1: #include "trace_helpers.h"
1:
1: -#define PERF_BUFFER_PAGES 64
1: -#define PERF_POLL_TIMEOUT_MS 100
1: +#define PERF_BUFFER_PAGES 64
1: +#define PERF_POLL_TIMEOUT_MS 100
1:
1: #define warn(...) fprintf(stderr, __VA_ARGS__)
1:
1: enum fs_type {
1: - NONE,
1: - BTRFS,
1: - EXT4,
1: - NFS,
1: - XFS,
1: + NONE,
1: + BTRFS,
1: + EXT4,
1: + NFS,
1: + XFS,
1: };
1:
1: static struct fs_config {
1: - const char *fs;
1: - const char *op_funcs[MAX_OP];
1: + const char *fs;
1: + const char *op_funcs[MAX_OP];
1: } fs_configs[] = {
1: - [BTRFS] = { "btrfs", {
1: - [READ] = "btrfs_file_read_iter",
1: - [WRITE] = "btrfs_file_write_iter",
1: - [OPEN] = "btrfs_file_open",
1: - [FSYNC] = "btrfs_sync_file",
1: - }},
1: - [EXT4] = { "ext4", {
1: - [READ] = "ext4_file_read_iter",
1: - [WRITE] = "ext4_file_write_iter",
1: - [OPEN] = "ext4_file_open",
1: - [FSYNC] = "ext4_sync_file",
1: - }},
1: - [NFS] = { "nfs", {
1: - [READ] = "nfs_file_read",
1: - [WRITE] = "nfs_file_write",
1: - [OPEN] = "nfs_file_open",
1: - [FSYNC] = "nfs_file_fsync",
1: - }},
1: - [XFS] = { "xfs", {
1: - [READ] = "xfs_file_read_iter",
1: - [WRITE] = "xfs_file_write_iter",
1: - [OPEN] = "xfs_file_open",
1: - [FSYNC] = "xfs_file_fsync",
1: - }},
1: + [BTRFS] = {"btrfs",
1: + {
1: + [READ] = "btrfs_file_read_iter",
1: + [WRITE] = "btrfs_file_write_iter",
1: + [OPEN] = "btrfs_file_open",
1: + [FSYNC] = "btrfs_sync_file",
1: + }},
1: + [EXT4] = {"ext4",
1: + {
1: + [READ] = "ext4_file_read_iter",
1: + [WRITE] = "ext4_file_write_iter",
1: + [OPEN] = "ext4_file_open", [FSYNC] = "ext4_sync_file",
1: + }},
1: + [NFS] = {"nfs",
1: + {
1: + [READ] = "nfs_file_read", [WRITE] = "nfs_file_write",
1: + [OPEN] = "nfs_file_open", [FSYNC] = "nfs_file_fsync",
1: + }},
1: + [XFS] = {"xfs",
1: + {
1: + [READ] = "xfs_file_read_iter",
1: + [WRITE] = "xfs_file_write_iter",
1: + [OPEN] = "xfs_file_open", [FSYNC] = "xfs_file_fsync",
1: + }},
1: };
1:
1: static char file_op[] = {
1: - [READ] = 'R',
1: - [WRITE] = 'W',
1: - [OPEN] = 'O',
1: - [FSYNC] = 'F',
1: + [READ] = 'R', [WRITE] = 'W', [OPEN] = 'O', [FSYNC] = 'F',
1: };
1:
1: static volatile sig_atomic_t exiting;
1: @@ -88,376 +85,380 @@ static bool verbose = false;
1:
1: const char *argp_program_version = "fsslower 0.1";
1: const char *argp_program_bug_address =
1: - "https://github.com/iovisor/bcc/tree/master/libbpf-tools";
1: + "https://github.com/iovisor/bcc/tree/master/libbpf-tools";
1: const char argp_program_doc[] =
1: -"Trace file system operations slower than a threshold.\n"
1: -"\n"
1: -"Usage: fsslower [-h] [-t FS] [-p PID] [-m MIN] [-d DURATION] [-c]\n"
1: -"\n"
1: -"EXAMPLES:\n"
1: -" fsslower -t ext4 # trace ext4 operations slower than 10 ms\n"
1: -" fsslower -t nfs -p 1216 # trace nfs operations with PID 1216 only\n"
1: -" fsslower -t xfs -c -d 1 # trace xfs operations for 1s with csv output\n";
1: + "Trace file system operations slower than a threshold.\n"
1: + "\n"
1: + "Usage: fsslower [-h] [-t FS] [-p PID] [-m MIN] [-d DURATION] [-c]\n"
1: + "\n"
1: + "EXAMPLES:\n"
1: + " fsslower -t ext4 # trace ext4 operations slower than 10 "
1: + "ms\n"
1: + " fsslower -t nfs -p 1216 # trace nfs operations with PID 1216 "
1: + "only\n"
1: + " fsslower -t xfs -c -d 1 # trace xfs operations for 1s with csv "
1: + "output\n";
1:
1: static const struct argp_option opts[] = {
1: - { "csv", 'c', NULL, 0, "Output as csv" },
1: - { "duration", 'd', "DURATION", 0, "Total duration of trace in seconds" },
1: - { "pid", 'p', "PID", 0, "Process ID to trace" },
1: - { "min", 'm', "MIN", 0, "Min latency to trace, in ms (default 10)" },
1: - { "type", 't', "Filesystem", 0, "Which filesystem to trace, [btrfs/ext4/nfs/xfs]" },
1: - { "verbose", 'v', NULL, 0, "Verbose debug output" },
1: - { NULL, 'h', NULL, OPTION_HIDDEN, "Show the full help" },
1: - {},
1: + {"csv", 'c', NULL, 0, "Output as csv"},
1: + {"duration", 'd', "DURATION", 0, "Total duration of trace in seconds"},
1: + {"pid", 'p', "PID", 0, "Process ID to trace"},
1: + {"min", 'm', "MIN", 0, "Min latency to trace, in ms (default 10)"},
1: + {"type", 't', "Filesystem", 0,
1: + "Which filesystem to trace, [btrfs/ext4/nfs/xfs]"},
1: + {"verbose", 'v', NULL, 0, "Verbose debug output"},
1: + {NULL, 'h', NULL, OPTION_HIDDEN, "Show the full help"},
1: + {},
1: };
1:
1: -static error_t parse_arg(int key, char *arg, struct argp_state *state)
1: -{
1: - switch (key) {
1: - case 'v':
1: - verbose = true;
1: - break;
1: - case 'c':
1: - csv = true;
1: - break;
1: - case 'd':
1: - errno = 0;
1: - duration = strtol(arg, NULL, 10);
1: - if (errno || duration <= 0) {
1: - warn("invalid DURATION: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - break;
1: - case 'm':
1: - errno = 0;
1: - min_lat_ms = strtoll(arg, NULL, 10);
1: - if (errno || min_lat_ms < 0) {
1: - warn("invalid latency (in ms): %s\n", arg);
1: - }
1: - break;
1: - case 't':
1: - if (!strcmp(arg, "btrfs")) {
1: - fs_type = BTRFS;
1: - } else if (!strcmp(arg, "ext4")) {
1: - fs_type = EXT4;
1: - } else if (!strcmp(arg, "nfs")) {
1: - fs_type = NFS;
1: - } else if (!strcmp(arg, "xfs")) {
1: - fs_type = XFS;
1: - } else {
1: - warn("invalid filesystem\n");
1: - argp_usage(state);
1: - }
1: - break;
1: - case 'p':
1: - errno = 0;
1: - target_pid = strtol(arg, NULL, 10);
1: - if (errno || target_pid <= 0) {
1: - warn("invalid PID: %s\n", arg);
1: - argp_usage(state);
1: - }
1: - break;
1: - case 'h':
1: - argp_state_help(state, stderr, ARGP_HELP_STD_HELP);
1: - break;
1: - default:
1: - return ARGP_ERR_UNKNOWN;
1: - }
1: - return 0;
1: -}
1: -
1: -static void alias_parse(char *prog)
1: -{
1: - char *name = basename(prog);
1: -
1: - if (!strcmp(name, "btrfsslower")) {
1: - fs_type = BTRFS;
1: - } else if (!strcmp(name, "ext4slower")) {
1: - fs_type = EXT4;
1: - } else if (!strcmp(name, "nfsslower")) {
1: - fs_type = NFS;
1: - } else if (!strcmp(name, "xfsslower")) {
1: - fs_type = XFS;
1: - }
1: +static error_t parse_arg(int key, char *arg, struct argp_state *state) {
1: + switch (key) {
1: + case 'v':
1: + verbose = true;
1: + break;
1: + case 'c':
1: + csv = true;
1: + break;
1: + case 'd':
1: + errno = 0;
1: + duration = strtol(arg, NULL, 10);
1: + if (errno || duration <= 0) {
1: + warn("invalid DURATION: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + break;
1: + case 'm':
1: + errno = 0;
1: + min_lat_ms = strtoll(arg, NULL, 10);
1: + if (errno || min_lat_ms < 0) {
1: + warn("invalid latency (in ms): %s\n", arg);
1: + }
1: + break;
1: + case 't':
1: + if (!strcmp(arg, "btrfs")) {
1: + fs_type = BTRFS;
1: + } else if (!strcmp(arg, "ext4")) {
1: + fs_type = EXT4;
1: + } else if (!strcmp(arg, "nfs")) {
1: + fs_type = NFS;
1: + } else if (!strcmp(arg, "xfs")) {
1: + fs_type = XFS;
1: + } else {
1: + warn("invalid filesystem\n");
1: + argp_usage(state);
1: + }
1: + break;
1: + case 'p':
1: + errno = 0;
1: + target_pid = strtol(arg, NULL, 10);
1: + if (errno || target_pid <= 0) {
1: + warn("invalid PID: %s\n", arg);
1: + argp_usage(state);
1: + }
1: + break;
1: + case 'h':
1: + argp_state_help(state, stderr, ARGP_HELP_STD_HELP);
1: + break;
1: + default:
1: + return ARGP_ERR_UNKNOWN;
1: + }
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 && !verbose)
1: - return 0;
1: - return vfprintf(stderr, format, args);
1: +static void alias_parse(char *prog) {
1: + char *name = basename(prog);
1: +
1: + if (!strcmp(name, "btrfsslower")) {
1: + fs_type = BTRFS;
1: + } else if (!strcmp(name, "ext4slower")) {
1: + fs_type = EXT4;
1: + } else if (!strcmp(name, "nfsslower")) {
1: + fs_type = NFS;
1: + } else if (!strcmp(name, "xfsslower")) {
1: + fs_type = XFS;
1: + }
1: }
1:
1: -static void sig_handler(int sig)
1: -{
1: - exiting = 1;
1: +static int libbpf_print_fn(enum libbpf_print_level level, const char *format,
1: + va_list args) {
1: + if (level == LIBBPF_DEBUG && !verbose)
1: + return 0;
1: + return vfprintf(stderr, format, args);
1: }
1:
1: -static bool check_fentry()
1: -{
1: - int i;
1: - const char *fn_name, *module;
1: - bool support_fentry = true;
1: -
1: - for (i = 0; i < MAX_OP; i++) {
1: - fn_name = fs_configs[fs_type].op_funcs[i];
1: - module = fs_configs[fs_type].fs;
1: - if (fn_name && !fentry_exists(fn_name, module)) {
1: - support_fentry = false;
1: - break;
1: - }
1: - }
1: - return support_fentry;
1: +static void sig_handler(int sig) { exiting = 1; }
1: +
1: +static bool check_fentry() {
1: + int i;
1: + const char *fn_name, *module;
1: + bool support_fentry = true;
1: +
1: + for (i = 0; i < MAX_OP; i++) {
1: + fn_name = fs_configs[fs_type].op_funcs[i];
1: + module = fs_configs[fs_type].fs;
1: + if (fn_name && !fentry_exists(fn_name, module)) {
1: + support_fentry = false;
1: + break;
1: + }
1: + }
1: + return support_fentry;
1: }
1:
1: -static int fentry_set_attach_target(struct fsslower_bpf *obj)
1: -{
1: - struct fs_config *cfg = &fs_configs[fs_type];
1: - int err = 0;
1: -
1: - err = err ?: bpf_program__set_attach_target(obj->progs.file_read_fentry, 0, cfg->op_funcs[READ]);
1: - err = err ?: bpf_program__set_attach_target(obj->progs.file_read_fexit, 0, cfg->op_funcs[READ]);
1: - err = err ?: bpf_program__set_attach_target(obj->progs.file_write_fentry, 0, cfg->op_funcs[WRITE]);
1: - err = err ?: bpf_program__set_attach_target(obj->progs.file_write_fexit, 0, cfg->op_funcs[WRITE]);
1: - err = err ?: bpf_program__set_attach_target(obj->progs.file_open_fentry, 0, cfg->op_funcs[OPEN]);
1: - err = err ?: bpf_program__set_attach_target(obj->progs.file_open_fexit, 0, cfg->op_funcs[OPEN]);
1: - err = err ?: bpf_program__set_attach_target(obj->progs.file_sync_fentry, 0, cfg->op_funcs[FSYNC]);
1: - err = err ?: bpf_program__set_attach_target(obj->progs.file_sync_fexit, 0, cfg->op_funcs[FSYNC]);
1: - return err;
1: +static int fentry_set_attach_target(struct fsslower_bpf *obj) {
1: + struct fs_config *cfg = &fs_configs[fs_type];
1: + int err = 0;
1: +
1: + err = err ?: bpf_program__set_attach_target(obj->progs.file_read_fentry, 0,
1: + cfg->op_funcs[READ]);
1: + err = err ?: bpf_program__set_attach_target(obj->progs.file_read_fexit, 0,
1: + cfg->op_funcs[READ]);
1: + err = err ?: bpf_program__set_attach_target(obj->progs.file_write_fentry, 0,
1: + cfg->op_funcs[WRITE]);
1: + err = err ?: bpf_program__set_attach_target(obj->progs.file_write_fexit, 0,
1: + cfg->op_funcs[WRITE]);
1: + err = err ?: bpf_program__set_attach_target(obj->progs.file_open_fentry, 0,
1: + cfg->op_funcs[OPEN]);
1: + err = err ?: bpf_program__set_attach_target(obj->progs.file_open_fexit, 0,
1: + cfg->op_funcs[OPEN]);
1: + err = err ?: bpf_program__set_attach_target(obj->progs.file_sync_fentry, 0,
1: + cfg->op_funcs[FSYNC]);
1: + err = err ?: bpf_program__set_attach_target(obj->progs.file_sync_fexit, 0,
1: + cfg->op_funcs[FSYNC]);
1: + return err;
1: }
1:
1: -static void disable_fentry(struct fsslower_bpf *obj)
1: -{
1: - bpf_program__set_autoload(obj->progs.file_read_fentry, false);
1: - bpf_program__set_autoload(obj->progs.file_read_fexit, false);
1: - bpf_program__set_autoload(obj->progs.file_write_fentry, false);
1: - bpf_program__set_autoload(obj->progs.file_write_fexit, false);
1: - bpf_program__set_autoload(obj->progs.file_open_fentry, false);
1: - bpf_program__set_autoload(obj->progs.file_open_fexit, false);
1: - bpf_program__set_autoload(obj->progs.file_sync_fentry, false);
1: - bpf_program__set_autoload(obj->progs.file_sync_fexit, false);
1: +static void disable_fentry(struct fsslower_bpf *obj) {
1: + bpf_program__set_autoload(obj->progs.file_read_fentry, false);
1: + bpf_program__set_autoload(obj->progs.file_read_fexit, false);
1: + bpf_program__set_autoload(obj->progs.file_write_fentry, false);
1: + bpf_program__set_autoload(obj->progs.file_write_fexit, false);
1: + bpf_program__set_autoload(obj->progs.file_open_fentry, false);
1: + bpf_program__set_autoload(obj->progs.file_open_fexit, false);
1: + bpf_program__set_autoload(obj->progs.file_sync_fentry, false);
1: + bpf_program__set_autoload(obj->progs.file_sync_fexit, false);
1: }
1:
1: -static void disable_kprobes(struct fsslower_bpf *obj)
1: -{
1: - bpf_program__set_autoload(obj->progs.file_read_entry, false);
1: - bpf_program__set_autoload(obj->progs.file_read_exit, false);
1: - bpf_program__set_autoload(obj->progs.file_write_entry, false);
1: - bpf_program__set_autoload(obj->progs.file_write_exit, false);
1: - bpf_program__set_autoload(obj->progs.file_open_entry, false);
1: - bpf_program__set_autoload(obj->progs.file_open_exit, false);
1: - bpf_program__set_autoload(obj->progs.file_sync_entry, false);
1: - bpf_program__set_autoload(obj->progs.file_sync_exit, false);
1: +static void disable_kprobes(struct fsslower_bpf *obj) {
1: + bpf_program__set_autoload(obj->progs.file_read_entry, false);
1: + bpf_program__set_autoload(obj->progs.file_read_exit, false);
1: + bpf_program__set_autoload(obj->progs.file_write_entry, false);
1: + bpf_program__set_autoload(obj->progs.file_write_exit, false);
1: + bpf_program__set_autoload(obj->progs.file_open_entry, false);
1: + bpf_program__set_autoload(obj->progs.file_open_exit, false);
1: + bpf_program__set_autoload(obj->progs.file_sync_entry, false);
1: + bpf_program__set_autoload(obj->progs.file_sync_exit, false);
1: }
1:
1: -static int attach_kprobes(struct fsslower_bpf *obj)
1: -{
1: - long err = 0;
1: - struct fs_config *cfg = &fs_configs[fs_type];
1: -
1: - /* READ */
1: - obj->links.file_read_entry = bpf_program__attach_kprobe(obj->progs.file_read_entry, false, cfg->op_funcs[READ]);
1: - err = libbpf_get_error(obj->links.file_read_entry);
1: - if (err)
1: - goto errout;
1: - obj->links.file_read_exit = bpf_program__attach_kprobe(obj->progs.file_read_exit, true, cfg->op_funcs[READ]);
1: - err = libbpf_get_error(obj->links.file_read_exit);
1: - if (err)
1: - goto errout;
1: - /* WRITE */
1: - obj->links.file_write_entry = bpf_program__attach_kprobe(obj->progs.file_write_entry, false, cfg->op_funcs[WRITE]);
1: - err = libbpf_get_error(obj->links.file_write_entry);
1: - if (err)
1: - goto errout;
1: - obj->links.file_write_exit = bpf_program__attach_kprobe(obj->progs.file_write_exit, true, cfg->op_funcs[WRITE]);
1: - err = libbpf_get_error(obj->links.file_write_exit);
1: - if (err)
1: - goto errout;
1: - /* OPEN */
1: - obj->links.file_open_entry = bpf_program__attach_kprobe(obj->progs.file_open_entry, false, cfg->op_funcs[OPEN]);
1: - err = libbpf_get_error(obj->links.file_open_entry);
1: - if (err)
1: - goto errout;
1: - obj->links.file_open_exit = bpf_program__attach_kprobe(obj->progs.file_open_exit, true, cfg->op_funcs[OPEN]);
1: - err = libbpf_get_error(obj->links.file_open_exit);
1: - if (err)
1: - goto errout;
1: - /* FSYNC */
1: - obj->links.file_sync_entry = bpf_program__attach_kprobe(obj->progs.file_sync_entry, false, cfg->op_funcs[FSYNC]);
1: - err = libbpf_get_error(obj->links.file_sync_entry);
1: - if (err)
1: - goto errout;
1: - obj->links.file_sync_exit = bpf_program__attach_kprobe(obj->progs.file_sync_exit, true, cfg->op_funcs[FSYNC]);
1: - err = libbpf_get_error(obj->links.file_sync_exit);
1: - if (err)
1: - goto errout;
1: - return 0;
1: +static int attach_kprobes(struct fsslower_bpf *obj) {
1: + long err = 0;
1: + struct fs_config *cfg = &fs_configs[fs_type];
1: +
1: + /* READ */
1: + obj->links.file_read_entry = bpf_program__attach_kprobe(
1: + obj->progs.file_read_entry, false, cfg->op_funcs[READ]);
1: + err = libbpf_get_error(obj->links.file_read_entry);
1: + if (err)
1: + goto errout;
1: + obj->links.file_read_exit = bpf_program__attach_kprobe(
1: + obj->progs.file_read_exit, true, cfg->op_funcs[READ]);
1: + err = libbpf_get_error(obj->links.file_read_exit);
1: + if (err)
1: + goto errout;
1: + /* WRITE */
1: + obj->links.file_write_entry = bpf_program__attach_kprobe(
1: + obj->progs.file_write_entry, false, cfg->op_funcs[WRITE]);
1: + err = libbpf_get_error(obj->links.file_write_entry);
1: + if (err)
1: + goto errout;
1: + obj->links.file_write_exit = bpf_program__attach_kprobe(
1: + obj->progs.file_write_exit, true, cfg->op_funcs[WRITE]);
1: + err = libbpf_get_error(obj->links.file_write_exit);
1: + if (err)
1: + goto errout;
1: + /* OPEN */
1: + obj->links.file_open_entry = bpf_program__attach_kprobe(
1: + obj->progs.file_open_entry, false, cfg->op_funcs[OPEN]);
1: + err = libbpf_get_error(obj->links.file_open_entry);
1: + if (err)
1: + goto errout;
1: + obj->links.file_open_exit = bpf_program__attach_kprobe(
1: + obj->progs.file_open_exit, true, cfg->op_funcs[OPEN]);
1: + err = libbpf_get_error(obj->links.file_open_exit);
1: + if (err)
1: + goto errout;
1: + /* FSYNC */
1: + obj->links.file_sync_entry = bpf_program__attach_kprobe(
1: + obj->progs.file_sync_entry, false, cfg->op_funcs[FSYNC]);
1: + err = libbpf_get_error(obj->links.file_sync_entry);
1: + if (err)
1: + goto errout;
1: + obj->links.file_sync_exit = bpf_program__attach_kprobe(
1: + obj->progs.file_sync_exit, true, cfg->op_funcs[FSYNC]);
1: + err = libbpf_get_error(obj->links.file_sync_exit);
1: + if (err)
1: + goto errout;
1: + return 0;
1:
1: errout:
1: - warn("failed to attach kprobe: %ld\n", err);
1: - return err;
1: + warn("failed to attach kprobe: %ld\n", err);
1: + return err;
1: }
1:
1: -static void print_headers()
1: -{
1: - const char *fs = fs_configs[fs_type].fs;
1: +static void print_headers() {
1: + const char *fs = fs_configs[fs_type].fs;
1:
1: - if (csv) {
1: - printf("ENDTIME_ns,TASK,PID,TYPE,BYTES,OFFSET_b,LATENCY_us,FILE\n");
1: - return;
1: - }
1: + if (csv) {
1: + printf("ENDTIME_ns,TASK,PID,TYPE,BYTES,OFFSET_b,LATENCY_us,FILE\n");
1: + return;
1: + }
1:
1: - if (min_lat_ms)
1: - printf("Tracing %s operations slower than %llu ms", fs, min_lat_ms);
1: - else
1: - printf("Tracing %s operations", fs);
1: + if (min_lat_ms)
1: + printf("Tracing %s operations slower than %llu ms", fs, min_lat_ms);
1: + else
1: + printf("Tracing %s operations", fs);
1:
1: - if (duration)
1: - printf(" for %ld secs.\n", duration);
1: - else
1: - printf("... Hit Ctrl-C to end.\n");
1: + if (duration)
1: + printf(" for %ld secs.\n", duration);
1: + else
1: + printf("... Hit Ctrl-C to end.\n");
1:
1: - printf("%-8s %-16s %-7s %1s %-7s %-8s %7s %s\n",
1: - "TIME", "COMM", "PID", "T", "BYTES", "OFF_KB", "LAT(ms)", "FILENAME");
1: + printf("%-8s %-16s %-7s %1s %-7s %-8s %7s %s\n", "TIME", "COMM", "PID", "T",
1: + "BYTES", "OFF_KB", "LAT(ms)", "FILENAME");
1: }
1:
1: -static void handle_event(void *ctx, int cpu, void *data, __u32 data_sz)
1: -{
1: - const struct event *e = data;
1: - struct tm *tm;
1: - char ts[32];
1: - time_t t;
1: -
1: - if (csv) {
1: - printf("%lld,%s,%d,%c,", e->end_ns, e->task, e->pid, file_op[e->op]);
1: - if (e->size == LLONG_MAX)
1: - printf("LL_MAX,");
1: - else
1: - printf("%ld,", e->size);
1: - printf("%lld,%lld,%s\n", e->offset, e->delta_us, e->file);
1: - return;
1: - }
1: -
1: - time(&t);
1: - tm = localtime(&t);
1: - strftime(ts, sizeof(ts), "%H:%M:%S", tm);
1: -
1: - printf("%-8s %-16s %-7d %c ", ts, e->task, e->pid, file_op[e->op]);
1: - if (e->size == LLONG_MAX)
1: - printf("%-7s ", "LL_MAX");
1: - else
1: - printf("%-7ld ", e->size);
1: - printf("%-8lld %7.2f %s\n", e->offset / 1024, (double)e->delta_us / 1000, e->file);
1: +static void handle_event(void *ctx, int cpu, void *data, __u32 data_sz) {
1: + const struct event *e = data;
1: + struct tm *tm;
1: + char ts[32];
1: + time_t t;
1: +
1: + if (csv) {
1: + printf("%lld,%s,%d,%c,", e->end_ns, e->task, e->pid, file_op[e->op]);
1: + if (e->size == LLONG_MAX)
1: + printf("LL_MAX,");
1: + else
1: + printf("%ld,", e->size);
1: + printf("%lld,%lld,%s\n", e->offset, e->delta_us, e->file);
1: + return;
1: + }
1: +
1: + time(&t);
1: + tm = localtime(&t);
1: + strftime(ts, sizeof(ts), "%H:%M:%S", tm);
1: +
1: + printf("%-8s %-16s %-7d %c ", ts, e->task, e->pid, file_op[e->op]);
1: + if (e->size == LLONG_MAX)
1: + printf("%-7s ", "LL_MAX");
1: + else
1: + printf("%-7ld ", e->size);
1: + printf("%-8lld %7.2f %s\n", e->offset / 1024, (double)e->delta_us / 1000,
1: + e->file);
1: }
1:
1: -static void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt)
1: -{
1: - warn("lost %llu events on CPU #%d\n", lost_cnt, cpu);
1: +static void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt) {
1: + warn("lost %llu events on CPU #%d\n", lost_cnt, cpu);
1: }
1:
1: -int main(int argc, char **argv)
1: -{
1: - static const struct argp argp = {
1: - .options = opts,
1: - .parser = parse_arg,
1: - .doc = argp_program_doc,
1: - };
1: - struct perf_buffer_opts pb_opts;
1: - struct perf_buffer *pb = NULL;
1: - struct fsslower_bpf *skel;
1: - __u64 time_end = 0;
1: - int err;
1: - bool support_fentry;
1: -
1: - alias_parse(argv[0]);
1: - err = argp_parse(&argp, argc, argv, 0, NULL, NULL);
1: - if (err)
1: - return err;
1: - if (fs_type == NONE) {
1: - warn("filesystem must be specified using -t option.\n");
1: - return 1;
1: - }
1: -
1: - libbpf_set_print(libbpf_print_fn);
1: -
1: - err = bump_memlock_rlimit();
1: - if (err) {
1: - warn("failed to increase rlimit: %d\n", err);
1: - return 1;
1: - }
1: -
1: - skel = fsslower_bpf__open();
1: - if (!skel) {
1: - warn("failed to open BPF object\n");
1: - return 1;
1: - }
1: -
1: - skel->rodata->target_pid = target_pid;
1: - skel->rodata->min_lat_ns = min_lat_ms * 1000 * 1000;
1: -
1: - /*
1: - * before load
1: - * if fentry is supported, we set attach target and disable kprobes
1: - * otherwise, we disable fentry and attach kprobes after loading
1: - */
1: - support_fentry = check_fentry();
1: - if (support_fentry) {
1: - err = fentry_set_attach_target(skel);
1: - if (err) {
1: - warn("failed to set attach target: %d\n", err);
1: - goto cleanup;
1: - }
1: - disable_kprobes(skel);
1: - } else {
1: - disable_fentry(skel);
1: - }
1: -
1: - err = fsslower_bpf__load(skel);
1: - if (err) {
1: - warn("failed to load BPF object: %d\n", err);
1: - goto cleanup;
1: - }
1: -
1: - /*
1: - * after load
1: - * if fentry is supported, let libbpf do auto load
1: - * otherwise, we attach to kprobes manually
1: - */
1: - err = support_fentry ? fsslower_bpf__attach(skel) : attach_kprobes(skel);
1: - if (err) {
1: - warn("failed to attach BPF programs: %d\n", err);
1: - goto cleanup;
1: - }
1: -
1: - signal(SIGINT, sig_handler);
1: -
1: - pb_opts.sample_cb = handle_event;
1: - pb_opts.lost_cb = handle_lost_events;
1: - pb = perf_buffer__new(bpf_map__fd(skel->maps.events), PERF_BUFFER_PAGES,
1: - &pb_opts);
1: - err = libbpf_get_error(pb);
1: - if (err) {
1: - pb = NULL;
1: - warn("failed to open perf buffer: %d\n", err);
1: - goto cleanup;
1: - }
1: -
1: - print_headers();
1: -
1: - if (duration)
1: - time_end = get_ktime_ns() + duration * NSEC_PER_SEC;
1: -
1: - while (1) {
1: - if ((err = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS)) < 0)
1: - break;
1: - if (duration && get_ktime_ns() > time_end)
1: - goto cleanup;
1: - }
1: - warn("failed with polling perf buffer: %d\n", err);
1: +int main(int argc, char **argv) {
1: + static const struct argp argp = {
1: + .options = opts, .parser = parse_arg, .doc = argp_program_doc,
1: + };
1: + struct perf_buffer_opts pb_opts;
1: + struct perf_buffer *pb = NULL;
1: + struct fsslower_bpf *skel;
1: + __u64 time_end = 0;
1: + int err;
1: + bool support_fentry;
1: +
1: + alias_parse(argv[0]);
1: + err = argp_parse(&argp, argc, argv, 0, NULL, NULL);
1: + if (err)
1: + return err;
1: + if (fs_type == NONE) {
1: + warn("filesystem must be specified using -t option.\n");
1: + return 1;
1: + }
1: +
1: + libbpf_set_print(libbpf_print_fn);
1: +
1: + err = bump_memlock_rlimit();
1: + if (err) {
1: + warn("failed to increase rlimit: %d\n", err);
1: + return 1;
1: + }
1: +
1: + skel = fsslower_bpf__open();
1: + if (!skel) {
1: + warn("failed to open BPF object\n");
1: + return 1;
1: + }
1: +
1: + skel->rodata->target_pid = target_pid;
1: + skel->rodata->min_lat_ns = min_lat_ms * 1000 * 1000;
1: +
1: + /*
1: + * before load
1: + * if fentry is supported, we set attach target and disable kprobes
1: + * otherwise, we disable fentry and attach kprobes after loading
1: + */
1: + support_fentry = check_fentry();
1: + if (support_fentry) {
1: + err = fentry_set_attach_target(skel);
1: + if (err) {
1: + warn("failed to set attach target: %d\n", err);
1: + goto cleanup;
1: + }
1: + disable_kprobes(skel);
1: + } else {
1: + disable_fentry(skel);
1: + }
1: +
1: + err = fsslower_bpf__load(skel);
1: + if (err) {
1: + warn("failed to load BPF object: %d\n", err);
1: + goto cleanup;
1: + }
1: +
1: + /*
1: + * after load
1: + * if fentry is supported, let libbpf do auto load
1: + * otherwise, we attach to kprobes manually
1: + */
1: + err = support_fentry ? fsslower_bpf__attach(skel) : attach_kprobes(skel);
1: + if (err) {
1: + warn("failed to attach BPF programs: %d\n", err);
1: + goto cleanup;
1: + }
1: +
1: + signal(SIGINT, sig_handler);
1: +
1: + pb_opts.sample_cb = handle_event;
1: + pb_opts.lost_cb = handle_lost_events;
1: + pb = perf_buffer__new(bpf_map__fd(skel->maps.events), PERF_BUFFER_PAGES,
1: + &pb_opts);
1: + err = libbpf_get_error(pb);
1: + if (err) {
1: + pb = NULL;
1: + warn("failed to open perf buffer: %d\n", err);
1: + goto cleanup;
1: + }
1: +
1: + print_headers();
1: +
1: + if (duration)
1: + time_end = get_ktime_ns() + duration * NSEC_PER_SEC;
1: +
1: + while (1) {
1: + if ((err = perf_buffer__poll(pb, PERF_POLL_TIMEOUT_MS)) < 0)
1: + break;
1: + if (duration && get_ktime_ns() > time_end)
1: + goto cleanup;
1: + }
1: + warn("failed with polling perf buffer: %d\n", err);
1:
1: cleanup:
1: - perf_buffer__free(pb);
1: - fsslower_bpf__destroy(skel);
1: + perf_buffer__free(pb);
1: + fsslower_bpf__destroy(skel);
1:
1: - return err != 0;
1: + return err != 0;
1: }
1: diff --git a/libbpf-tools/fsslower.h b/libbpf-tools/fsslower.h
1: index 5c5ec4b..7d66cea 100644
1: --- a/libbpf-tools/fsslower.h
1: +++ b/libbpf-tools/fsslower.h
1: @@ -2,26 +2,26 @@
1: #ifndef __FSSLOWER_H
1: #define __FSSLOWER_H
1:
1: -#define FILE_NAME_LEN 32
1: -#define TASK_COMM_LEN 16
1: +#define FILE_NAME_LEN 32
1: +#define TASK_COMM_LEN 16
1:
1: enum fs_file_op {
1: - READ,
1: - WRITE,
1: - OPEN,
1: - FSYNC,
1: - MAX_OP,
1: + READ,
1: + WRITE,
1: + OPEN,
1: + FSYNC,
1: + MAX_OP,
1: };
1:
1: struct event {
1: - __u64 delta_us;
1: - __u64 end_ns;
1: - __s64 offset;
1: - ssize_t size;
1: - pid_t pid;
1: - enum fs_file_op op;
1: - char file[FILE_NAME_LEN];
1: - char task[TASK_COMM_LEN];
1: + __u64 delta_us;
1: + __u64 end_ns;
1: + __s64 offset;
1: + ssize_t size;
1: + pid_t pid;
1: + enum fs_file_op op;
1: + char file[FILE_NAME_LEN];
1: + char task[TASK_COMM_LEN];
1: };
1:
1: #endif /* __FSSLOWER_H */
1: diff --git a/libbpf-tools/trace_helpers.c b/libbpf-tools/trace_helpers.c
1: index 0e9b019..914992b 100644
1: --- a/libbpf-tools/trace_helpers.c
1: +++ b/libbpf-tools/trace_helpers.c
1: @@ -1013,19 +1013,19 @@ bool fentry_exists(const char *name, const char *mod)
1: sysfs_vmlinux, strerror(-libbpf_get_error(base)));
1: goto err_out;
1: }
1: - if (mod && module_btf_exists(mod)) {
1: - snprintf(sysfs_mod, sizeof(sysfs_mod), "/sys/kernel/btf/%s", mod);
1: - btf = btf__parse_split(sysfs_mod, base);
1: - if (libbpf_get_error(btf)) {
1: - fprintf(stderr, "failed to load BTF from %s: %s\n",
1: - sysfs_mod, strerror(-libbpf_get_error(btf)));
1: - btf = base;
1: - base = NULL;
1: - }
1: + if (mod && module_btf_exists(mod)) {
1: + snprintf(sysfs_mod, sizeof(sysfs_mod), "/sys/kernel/btf/%s", mod);
1: + btf = btf__parse_split(sysfs_mod, base);
1: + if (libbpf_get_error(btf)) {
1: + fprintf(stderr, "failed to load BTF from %s: %s\n", sysfs_mod,
1: + strerror(-libbpf_get_error(btf)));
1: + btf = base;
1: + base = NULL;
1: + }
1: } else {
1: btf = base;
1: - base = NULL;
1: - }
1: + base = NULL;
1: + }
1:
1: id = btf__find_by_name_kind(btf, "bpf_attach_type", BTF_KIND_ENUM);
1: if (id < 0)
1: @@ -1046,9 +1046,9 @@ bool fentry_exists(const char *name, const char *mod)
1: }
1:
1: err_out:
1: - btf__free(btf);
1: - btf__free(base);
1: - return id > 0;
1: + btf__free(btf);
1: + btf__free(base);
1: + return id > 0;
1: }
1:
1: bool kprobe_exists(const char *name)
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/fsslower.c
1: libbpf-tools/fsdist.c
1: libbpf-tools/fsslower.h
1: libbpf-tools/fsslower.bpf.c
1: libbpf-tools/trace_helpers.h
1: libbpf-tools/trace_helpers.c
1: old tree: 33e44de8f4703ba4fac1748c72641642726435d2
1: new tree: 51880313516b66d47c1937ef77425be172140a94
1/45 Test #1: style-check ...................... Passed 1.69 sec
test 2
Start 2: c_test_static
2: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "c_test_static" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc/test_static"
2: Test timeout computed to be: 9.99988e+06
2: clang -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -coverage-file /usr/src/kernels/4.13.16-100.fc25.x86_64/main.c -nostdsysteminc -nobuiltininc -resource-dir ../lib64/clang/3.9.1 -isystem /virtual/lib/clang/include -include ./include/linux/kconfig.h -include /virtual/include/bcc/bpf.h -include /virtual/include/bcc/bpf_workaround.h -include /virtual/include/bcc/helpers.h -isystem /virtual/include -I /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc -D __BPF_TRACING__ -I arch/x86/include/ -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated -I include -I /lib/modules/4.13.16-100.fc25.x86_64/build/include -I arch/x86/include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated/uapi -I include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/include/generated/uapi -D __KERNEL__ -D KBUILD_MODNAME="bcc" -O2 -Wno-deprecated-declarations -Wno-gnu-variable-sized-type-not-at-end -Wno-pragma-once-outside-header -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-unused-value -Wno-pointer-sign -fdebug-compilation-dir /usr/src/kernels/4.13.16-100.fc25.x86_64 -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o main.bc -x c /virtual/main.c
2: #if defined(BPF_LICENSE)
2: #error BPF_LICENSE cannot be specified through cflags
2: #endif
2: #if !defined(CONFIG_CC_STACKPROTECTOR)
2: #if defined(CONFIG_CC_STACKPROTECTOR_AUTO) \
2: || defined(CONFIG_CC_STACKPROTECTOR_REGULAR) \
2: || defined(CONFIG_CC_STACKPROTECTOR_STRONG)
2: #define CONFIG_CC_STACKPROTECTOR
2: #endif
2: #endif
2: #define bpf_probe_read_kernel bpf_probe_read
2: #define bpf_probe_read_kernel_str bpf_probe_read_str
2: #define bpf_probe_read_user bpf_probe_read
2: #define bpf_probe_read_user_str bpf_probe_read_str
2: BPF_TABLE("array", int, int, stats, 10);
2:
2: #include <bcc/footer.h>
2: Running from kernel directory at: /lib/modules/4.13.16-100.fc25.x86_64/source
2/45 Test #2: c_test_static .................... Passed 1.60 sec
test 3
Start 3: test_libbcc
3: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "c_test_all" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc/test_libbcc"
3: Test timeout computed to be: 9.99988e+06
3: Parse error:
3: 4@i%ra+1r
3: -------^
3: unshare: failed to execute ruby: No such file or directory
3:
3: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3: test_libbcc is a Catch v1.4.0 host application.
3: Run with -? for options
3:
3: -------------------------------------------------------------------------------
3: test probing running Ruby process in namespaces
3: in separate mount namespace
3: -------------------------------------------------------------------------------
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/cc/test_usdt_probes.cc:352
3: ...............................................................................
3:
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/cc/test_usdt_probes.cc:367: FAILED:
3: REQUIRE( res.msg() == "" )
3: with expansion:
3: "Unable to load USDT ruby:gc__mark__begin from binary PID 6488 for probe
3: on_event"
3: ==
3: ""
3:
3: unshare: unrecognized option '--kill-child'
3:
3: Usage:
3: unshare [options] <program> [<argument>...]
3:
3: Run a program with some namespaces unshared from the parent.
3:
3: Options:
3: -m, --mount[=<file>] unshare mounts namespace
3: -u, --uts[=<file>] unshare UTS namespace (hostname etc)
3: -i, --ipc[=<file>] unshare System V IPC namespace
3: -n, --net[=<file>] unshare network namespace
3: -p, --pid[=<file>] unshare pid namespace
3: -U, --user[=<file>] unshare user namespace
3: -C, --cgroup[=<file>] unshare cgroup namespace
3: -f, --fork fork before launching <program>
3: --mount-proc[=<dir>] mount proc filesystem first (implies --mount)
3: -r, --map-root-user map current user to root (implies --user)
3: --propagation slave|shared|private|unchanged
3: modify mount propagation in mount namespace
3: -s, --setgroups allow|deny control the setgroups syscall in user namespaces
3:
3: -h, --help display this help and exit
3: -V, --version output version information and exit
3:
3: For more details see unshare(1).
3: -------------------------------------------------------------------------------
3: test probing running Ruby process in namespaces
3: in separate mount namespace and separate PID namespace
3: -------------------------------------------------------------------------------
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/cc/test_usdt_probes.cc:352
3: ...............................................................................
3:
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/cc/test_usdt_probes.cc:393: FAILED:
3: REQUIRE( res.msg() == "" )
3: with expansion:
3: "Unable to load USDT ruby:gc__mark__begin from binary PID 32581 for probe
3: on_event"
3: ==
3: ""
3:
3: ===============================================================================
3: test cases: 40 | 39 passed | 1 failed as expected
3: assertions: 646 | 644 passed | 2 failed as expected
3:
3/45 Test #3: test_libbcc ...................... Passed 14.53 sec
test 4
Start 4: py_test_stat1_b
4: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_stat1_b" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_stat1.py" "test_stat1.b" "proto.b"
4: Test timeout computed to be: 9.99988e+06
4: Actual changes:
4: tx-checksumming: off
4: tx-checksum-ip-generic: off
4: tx-checksum-sctp: off
4: tcp-segmentation-offload: off
4: tx-tcp-segmentation: off [requested on]
4: tx-tcp-ecn-segmentation: off [requested on]
4: tx-tcp-mangleid-segmentation: off [requested on]
4: tx-tcp6-segmentation: off [requested on]
4: udp-fragmentation-offload: off [requested on]
4: .PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
4: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4: --- 172.16.1.1 ping statistics ---
4: 100 packets transmitted, 100 received, 0% packet loss, time 1ms
4: rtt min/avg/max/mdev = 0.004/0.011/0.492/0.048 ms, ipg/ewma 0.019/0.006 ms
4: .
4: ----------------------------------------------------------------------
4: Ran 2 tests in 0.468s
4:
4: OK
4/45 Test #4: py_test_stat1_b .................. Passed 1.29 sec
test 5
Start 5: py_test_bpf_log
5: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_bpf_prog" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_bpf_log.py"
5: Test timeout computed to be: 9.99988e+06
5/45 Test #5: py_test_bpf_log .................. Passed 0.96 sec
test 6
Start 6: py_test_stat1_c
6: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_stat1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_stat1.py" "test_stat1.c"
6: Test timeout computed to be: 9.99988e+06
6: Actual changes:
6: tx-checksumming: off
6: tx-checksum-ip-generic: off
6: tx-checksum-sctp: off
6: tcp-segmentation-offload: off
6: tx-tcp-segmentation: off [requested on]
6: tx-tcp-ecn-segmentation: off [requested on]
6: tx-tcp-mangleid-segmentation: off [requested on]
6: tx-tcp6-segmentation: off [requested on]
6: udp-fragmentation-offload: off [requested on]
6: .PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
6: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6: --- 172.16.1.1 ping statistics ---
6: 100 packets transmitted, 100 received, 0% packet loss, time 2ms
6: rtt min/avg/max/mdev = 0.004/0.009/0.183/0.021 ms, ipg/ewma 0.025/0.005 ms
6: .
6: ----------------------------------------------------------------------
6: Ran 2 tests in 0.447s
6:
6: OK
6/45 Test #6: py_test_stat1_c .................. Passed 0.75 sec
test 7
Start 7: py_test_xlate1_c
7: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_xlate1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_xlate1.py" "test_xlate1.c"
7: Test timeout computed to be: 9.99988e+06
7: Actual changes:
7: tx-checksumming: off
7: tx-checksum-ip-generic: off
7: tx-checksum-sctp: off
7: tcp-segmentation-offload: off
7: tx-tcp-segmentation: off [requested on]
7: tx-tcp-ecn-segmentation: off [requested on]
7: tx-tcp-mangleid-segmentation: off [requested on]
7: tx-tcp6-segmentation: off [requested on]
7: udp-fragmentation-offload: off [requested on]
7: PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
7: 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.046 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.046/0.046/0.046/0.000 ms
7: .
7: ----------------------------------------------------------------------
7: Ran 1 test in 0.443s
7:
7: OK
7/45 Test #7: py_test_xlate1_c ................. Passed 1.03 sec
test 8
Start 8: py_test_call1
8: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_call1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_call1.py" "test_call1.c"
8: Test timeout computed to be: 9.99988e+06
8: Actual changes:
8: tx-checksumming: off
8: tx-checksum-ip-generic: off
8: tx-checksum-sctp: off
8: tcp-segmentation-offload: off
8: tx-tcp-segmentation: off [requested on]
8: tx-tcp-ecn-segmentation: off [requested on]
8: tx-tcp-mangleid-segmentation: off [requested on]
8: tx-tcp6-segmentation: off [requested on]
8: udp-fragmentation-offload: off [requested on]
8: .
8: ----------------------------------------------------------------------
8: Ran 1 test in 0.260s
8:
8: OK
8/45 Test #8: py_test_call1 .................... Passed 0.85 sec
test 9
Start 9: py_test_trace1
9: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace1" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace1.py" "test_trace1.b" "kprobe.b"
9: Test timeout computed to be: 9.99988e+06
9: .
9: ----------------------------------------------------------------------
9: Ran 1 test in 0.315s
9:
9: OK
9: ('fd 8:', 'stat1 0', 'stat2 1')
9: ('fd ffff8fcc5363cc00:', 'stat1 2', 'stat2 0')
9: ('fd a:', 'stat1 200', 'stat2 100')
9: ('fd 9:', 'stat1 1', 'stat2 1')
9/45 Test #9: py_test_trace1 ................... Passed 0.47 sec
test 10
Start 10: py_test_trace2
10: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace2.py"
10: Test timeout computed to be: 9.99988e+06
10: .
10: ----------------------------------------------------------------------
10: Ran 1 test in 4.665s
10:
10: OK
10: ('ptr ffff8fcc55ab4c80:', 'stat1 (0 1)')
10: ('ptr ffffffffbee10480:', 'stat1 (0 46)')
10: ('ptr ffff8fcc56a18000:', 'stat1 (0 3)')
10: ('ptr ffff8fcc5357cc80:', 'stat1 (0 6)')
10: ('ptr ffff8fcc56a20000:', 'stat1 (0 101)')
10: ('ptr ffff8fcc53548000:', 'stat1 (0 22)')
10: ('ptr ffff8fcc53558000:', 'stat1 (0 3)')
10: ('ptr ffff8fcc56a94c80:', 'stat1 (0 1)')
10: ('ptr ffff8fcc538a2640:', 'stat1 (0 1)')
10: ('ptr ffff8fcc31ba0000:', 'stat1 (0 100)')
10: ('ptr ffff8fcc5357a640:', 'stat1 (0 10)')
10: ('ptr ffff8fcc532b2640:', 'stat1 (0 3)')
10/45 Test #10: py_test_trace2 ................... Passed 4.77 sec
test 11
Start 11: py_test_trace3_c
11: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace3_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace3.py" "test_trace3.c"
11: Test timeout computed to be: 9.99988e+06
11: 1024+0 records in
11: 1024+0 records out
11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.0035246 s, 1.2 GB/s
11: 1024+0 records in
11: 1024+0 records out
11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.00384851 s, 1.1 GB/s
11: ('latency 0:', 'count 0')
11: ('latency 1:', 'count 0')
11: ('latency 2:', 'count 0')
11: ('latency 3:', 'count 0')
11: ('latency 4:', 'count 0')
11: ('latency 5:', 'count 0')
11: ('latency 6:', 'count 0')
11: ('latency 7:', 'count 0')
11: ('latency 8:', 'count 0')
11: ('latency 9:', 'count 0')
11: ('latency 10:', 'count 0')
11: ('latency 11:', 'count 0')
11: ('latency 12:', 'count 0')
11: ('latency 13:', 'count 0')
11: ('latency 14:', 'count 0')
11: ('latency 15:', 'count 0')
11: ('latency 16:', 'count 0')
11: ('latency 17:', 'count 0')
11: ('latency 18:', 'count 0')
11: ('latency 19:', 'count 0')
11: ('latency 20:', 'count 0')
11: ('latency 21:', 'count 0')
11: ('latency 22:', 'count 0')
11: ('latency 23:', 'count 0')
11: ('latency 24:', 'count 0')
11: ('latency 25:', 'count 0')
11: ('latency 26:', 'count 0')
11: ('latency 27:', 'count 0')
11: ('latency 28:', 'count 0')
11: ('latency 29:', 'count 0')
11: ('latency 30:', 'count 0')
11: ('latency 31:', 'count 0')
11: ('latency 32:', 'count 0')
11: ('latency 33:', 'count 0')
11: ('latency 34:', 'count 0')
11: ('latency 35:', 'count 0')
11: ('latency 36:', 'count 0')
11: ('latency 37:', 'count 0')
11: ('latency 38:', 'count 0')
11: ('latency 39:', 'count 0')
11: ('latency 40:', 'count 0')
11: ('latency 41:', 'count 0')
11: ('latency 42:', 'count 0')
11: ('latency 43:', 'count 0')
11: ('latency 44:', 'count 0')
11: ('latency 45:', 'count 0')
11: ('latency 46:', 'count 0')
11: ('latency 47:', 'count 0')
11: ('latency 48:', 'count 0')
11: ('latency 49:', 'count 3')
11: ('latency 50:', 'count 0')
11: ('latency 51:', 'count 1')
11: ('latency 52:', 'count 0')
11: ('latency 53:', 'count 0')
11: ('latency 54:', 'count 0')
11: ('latency 55:', 'count 0')
11: ('latency 56:', 'count 0')
11: ('latency 57:', 'count 0')
11: ('latency 58:', 'count 1')
11: ('latency 59:', 'count 4')
11: ('latency 60:', 'count 23')
11: ('latency 61:', 'count 0')
11: ('latency 62:', 'count 37')
11: ('latency 63:', 'count 29')
11: ('latency 64:', 'count 39')
11: ('latency 65:', 'count 29')
11: ('latency 66:', 'count 109')
11: ('latency 67:', 'count 82')
11: ('latency 68:', 'count 1')
11: ('latency 69:', 'count 46')
11: ('latency 70:', 'count 3')
11: ('latency 71:', 'count 1')
11: ('latency 72:', 'count 0')
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.289s
11:
11: OK
11/45 Test #11: py_test_trace3_c ................. Passed 2.45 sec
test 12
Start 12: py_test_trace4
12: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace4" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace4.py"
12: Test timeout computed to be: 9.99988e+06
12: ..
12: ----------------------------------------------------------------------
12: Ran 2 tests in 1.376s
12:
12: OK
12/45 Test #12: py_test_trace4 ................... Passed 1.56 sec
test 13
Start 13: py_test_trace_maxactive
13: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace_maxactive" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace_maxactive.py"
13: Test timeout computed to be: 9.99988e+06
13: .
13: ----------------------------------------------------------------------
13: Ran 1 test in 0.871s
13:
13: OK
13/45 Test #13: py_test_trace_maxactive .......... Passed 1.00 sec
test 14
Start 14: py_test_probe_count
14: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_probe_count" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_probe_count.py"
14: Test timeout computed to be: 9.99988e+06
14: ...cannot attach kprobe, probe entry may not exist
14: ...
14: ----------------------------------------------------------------------
14: Ran 6 tests in 3.826s
14:
14: OK
14/45 Test #14: py_test_probe_count .............. Passed 3.91 sec
test 15
Start 15: py_test_debuginfo
15: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_debuginfo" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_debuginfo.py"
15: Test timeout computed to be: 9.99988e+06
15: ......
15: ----------------------------------------------------------------------
15: Ran 6 tests in 0.577s
15:
15: OK
15/45 Test #15: py_test_debuginfo ................ Passed 0.66 sec
test 16
Start 16: py_test_brb
16: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_brb_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_brb.py" "test_brb.c"
16: Test timeout computed to be: 9.99988e+06
16: net.ipv4.ip_forward = 1
16: ARPING 100.1.1.254 from 100.1.1.1 eth0
16: Unicast reply from 100.1.1.254 [C6:69:50:B6:E6:44] 0.798ms
16: Sent 1 probes (1 broadcast(s))
16: Received 1 response(s)
16: ARPING 200.1.1.254 from 200.1.1.1 eth0
16: Unicast reply from 200.1.1.254 [72:58:72:F9:0B:3C] 0.642ms
16: Sent 1 probes (1 broadcast(s))
16: Received 1 response(s)
16: PING 200.1.1.1 (200.1.1.1) 56(84) bytes of data.
16: 64 bytes from 200.1.1.1: icmp_seq=1 ttl=63 time=0.132 ms
16: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.068 ms
16:
16: --- 200.1.1.1 ping statistics ---
16: 2 packets transmitted, 2 received, 0% packet loss, time 1040ms
16: rtt min/avg/max/mdev = 0.068/0.100/0.132/0.032 ms
16: [ ID] Interval Transfer Bandwidth
16: [ 7] 0.0- 1.0 sec 2.49 GBytes 21.4 Gbits/sec
16: [ ID] Interval Transfer Bandwidth
16: [ 10] 0.0- 1.0 sec 2.49 GBytes 21.2 Gbits/sec
16: Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC
16: MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET
16: Recv Send Send
16: Socket Socket Message Elapsed
16: Size Size Size Time Throughput
16: bytes bytes bytes secs. 10^6bits/sec
16:
16: 87380 16384 65160 1.00 24382.71
16: MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET : first burst 0
16: Local /Remote
16: Socket Size Request Resp. Elapsed Trans.
16: Send Recv Size Size Time Rate
16: bytes Bytes bytes bytes secs. per sec
16:
16: 16384 87380 1 1 1.00 22859.00
16: 16384 87380
16: .
16: ----------------------------------------------------------------------
16: Ran 1 test in 7.307s
16:
16: OK
16/45 Test #16: py_test_brb ...................... Passed 7.52 sec
test 17
Start 17: py_test_brb2
17: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_brb2_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_brb2.py" "test_brb2.c"
17: Test timeout computed to be: 9.99988e+06
17: net.ipv4.ip_forward = 1
17: PING 200.1.1.1 (200.1.1.1) 56(84) bytes of data.
17: 64 bytes from 200.1.1.1: icmp_seq=1 ttl=63 time=0.170 ms
17: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.102 ms
17:
17: --- 200.1.1.1 ping statistics ---
17: 2 packets transmitted, 2 received, 0% packet loss, time 1023ms
17: rtt min/avg/max/mdev = 0.102/0.136/0.170/0.034 ms
17: [ ID] Interval Transfer Bandwidth
17: [ 7] 0.0- 1.0 sec 2.41 GBytes 20.7 Gbits/sec
17: [ ID] Interval Transfer Bandwidth
17: [ 10] 0.0- 1.0 sec 2.41 GBytes 20.5 Gbits/sec
17: Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC
17: MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET
17: Recv Send Send
17: Socket Socket Message Elapsed
17: Size Size Size Time Throughput
17: bytes bytes bytes secs. 10^6bits/sec
17:
17: 87380 16384 65160 1.00 23203.14
17: MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET : first burst 0
17: Local /Remote
17: Socket Size Request Resp. Elapsed Trans.
17: Send Recv Size Size Time Rate
17: bytes Bytes bytes bytes secs. per sec
17:
17: 16384 87380 1 1 1.00 22612.91
17: 16384 87380
17: .
17: ----------------------------------------------------------------------
17: Ran 1 test in 7.512s
17:
17: OK
17/45 Test #17: py_test_brb2 ..................... Passed 7.66 sec
test 18
Start 18: py_test_clang
18: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_clang" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_clang.py"
18: Test timeout computed to be: 9.99988e+06
18: .............In file included from /virtual/main.c:3:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ./virtual/main.c:2:1: error: field has incomplete type 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: /virtual/include/bcc/helpers.h:256:48: note: expanded from macro 'BPF_HASH'
18: BPF_HASHX(__VA_ARGS__, BPF_HASH4, BPF_HASH3, BPF_HASH2, BPF_HASH1)(__VA_ARGS__)
18: ^
18: /virtual/main.c:2:24: note: forward declaration of 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: /virtual/main.c:2:1: error: field has incomplete type 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: /virtual/include/bcc/helpers.h:256:48: note: expanded from macro 'BPF_HASH'
18: BPF_HASHX(__VA_ARGS__, BPF_HASH4, BPF_HASH3, BPF_HASH2, BPF_HASH1)(__VA_ARGS__)
18: ^
18: /virtual/main.c:2:24: note: forward declaration of 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: 2 errors generated.
18: ../virtual/main.c:6:12: error: cannot call non-static helper function
18: return bar();
18: ^
18: 1 error generated.
18: ..ss....In file included from /virtual/main.c:3:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ...In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .........In file included from /virtual/main.c:2:
18: In file included from include/net/tcp.h:24:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/tcp.h:24:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .......In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ..In file included from /virtual/main.c:3:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ...In file included from /virtual/main.c:3:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ../virtual/main.c:7:12: warning: incompatible pointer to integer conversion returning 'u32 *' (aka 'unsigned int *') from a function with result type 'int' [-Wint-conversion]
18: return *(&skp->sk_daddr);
18: ^~~~~~~~~~~~~~~~~
18: 1 warning generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ...In file included from /virtual/main.c:2:
18: In file included from include/net/tcp.h:24:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/tcp.h:24:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ........./virtual/main.c:1:30: error: expected expression
18: int failure(void *ctx) { if (); return 0; }
18: ^
18: 1 error generated.
18: ../virtual/main.c:3:73: error: too many arguments, bcc only supports in-register parameters
18: int many(struct pt_regs *ctx, int a, int b, int c, int d, int e, int f, int g) {
18: ^
18: 1 error generated.
18: ....
18: ----------------------------------------------------------------------
18: Ran 83 tests in 100.897s
18:
18: OK (skipped=2)
18: 0
18/45 Test #18: py_test_clang .................... Passed 101.17 sec
test 19
Start 19: py_test_histogram
19: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_histogram" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_histogram.py"
19: Test timeout computed to be: 9.99988e+06
19: ....
19: ----------------------------------------------------------------------
19: Ran 4 tests in 3.683s
19:
19: OK
19:
19: Bucket ptr = 'java'
19: value : count distribution
19: 0 -> 1 : 1 |* |
19: 2 -> 3 : 26 |****************************************|
19:
19: Bucket ptr = 'python'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 100 |****************************************|
19:
19: Bucket ptr = 'kworker/u4:0'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 1 |****************************************|
19:
19: Bucket ptr = 'rcu_sched'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 3 |****************************************|
19:
19: Bucket ptr = 'kworker/0:1H'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 1 |****************************************|
19:
19: Bucket ptr = 'kworker/0:9'
19: value : count distribution
19: 0 -> 1 : 1 |****************************************|
19:
19: Bucket ptr = 'swapper/0'
19: value : count distribution
19: 0 -> 1 : 41 |****************************************|
19:
19: Bucket ptr = 'kworker/1:1'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 1 |****************************************|
19:
19: Bucket ptr = 'ctest'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 10 |****************************************|
19:
19: Bucket ptr = 'swapper/1'
19: value : count distribution
19: 0 -> 1 : 101 |****************************************|
19/45 Test #19: py_test_histogram ................ Passed 3.77 sec
test 20
Start 20: py_array
20: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_array" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_array.py"
20: Test timeout computed to be: 9.99988e+06
20: ....
20: ----------------------------------------------------------------------
20: Ran 4 tests in 1.368s
20:
20: OK
20/45 Test #20: py_array ......................... Passed 1.45 sec
test 21
Start 21: py_uprobes
21: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_uprobes" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_uprobes.py"
21: Test timeout computed to be: 9.99988e+06
21: .Python 2.7.13
21: .Arena 0:
21: system bytes = 24739840
21: in use bytes = 3093248
21: Total (incl. mmap):
21: system bytes = 25530368
21: in use bytes = 3883776
21: max mmap regions = 7
21: max mmap bytes = 9203712
21: .
21: ----------------------------------------------------------------------
21: Ran 3 tests in 8.572s
21:
21: OK
21/45 Test #21: py_uprobes ....................... Passed 8.65 sec
test 22
Start 22: py_uprobes_2
22: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_uprobes2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_uprobes2.py"
22: Test timeout computed to be: 9.99988e+06
22: .
22: ----------------------------------------------------------------------
22: Ran 1 test in 0.249s
22:
22: OK
22/45 Test #22: py_uprobes_2 ..................... Passed 0.34 sec
test 23
Start 23: py_test_stackid
23: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_stackid" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_stackid.py"
23: Test timeout computed to be: 9.99988e+06
23: s.
23: ----------------------------------------------------------------------
23: Ran 2 tests in 0.314s
23:
23: OK (skipped=1)
23/45 Test #23: py_test_stackid .................. Passed 0.42 sec
test 24
Start 24: py_test_tracepoint
24: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_tracepoint" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_tracepoint.py"
24: Test timeout computed to be: 9.99988e+06
24: ..
24: ----------------------------------------------------------------------
24: Ran 2 tests in 2.450s
24:
24: OK
24/45 Test #24: py_test_tracepoint ............... Passed 2.55 sec
test 25
Start 25: py_test_perf_event
25: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_perf_event" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_perf_event.py"
25: Test timeout computed to be: 9.99988e+06
25: perf_event_open: No such file or directory
25: s
25: ----------------------------------------------------------------------
25: Ran 1 test in 0.307s
25:
25: OK (skipped=1)
25/45 Test #25: py_test_perf_event ............... Passed 0.44 sec
test 26
Start 26: py_test_utils
26: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_utils" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_utils.py"
26: Test timeout computed to be: 9.99988e+06
26: ..
26: ----------------------------------------------------------------------
26: Ran 2 tests in 0.001s
26:
26: OK
26/45 Test #26: py_test_utils .................... Passed 0.08 sec
test 27
Start 27: py_test_percpu
27: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_percpu" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_percpu.py"
27: Test timeout computed to be: 9.99988e+06
27: ....
27: ----------------------------------------------------------------------
27: Ran 4 tests in 2.620s
27:
27: OK
27/45 Test #27: py_test_percpu ................... Passed 2.70 sec
test 28
Start 28: py_test_dump_func
28: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_dump_func" "simple" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_dump_func.py"
28: Test timeout computed to be: 9.99988e+06
28: .
28: ----------------------------------------------------------------------
28: Ran 1 test in 0.146s
28:
28: OK
28/45 Test #28: py_test_dump_func ................ Passed 0.22 sec
test 29
Start 29: py_test_disassembler
29: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_disassembler" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_disassembler.py"
29: Test timeout computed to be: 9.99988e+06
29: ..
29: ----------------------------------------------------------------------
29: Ran 2 tests in 0.219s
29:
29: OK
29/45 Test #29: py_test_disassembler ............. Passed 0.30 sec
test 30
Start 30: py_test_tools_smoke
30: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_tools_smoke" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_tools_smoke.py"
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/lib64/python2.7/site.py", line 355, in __call__
30: raise SystemExit(code)
30: SystemExit: None
30: ..In file included from /virtual/main.c:17:
30: In file included from include/net/sock.h:58:
30: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
30: count_memcg_events(page->mem_cgroup, idx, 1);
30: ~~~~~~~~~~~~~~~~~~ ^~~
30: 5 warnings generated.
30: ...'unknown': unknown terminal type.
30: .'unknown': unknown terminal type.
30: 'unknown': unknown terminal type.
30: 'unknown': unknown terminal type.
30: 'unknown': unknown terminal type.
30: .......s.............'unknown': unknown terminal type.
30: ....../bin/sh: line 1: 7188 Killed timeout -s KILL -k 5s 5s ../../tools/killsnoop.py > /dev/null
30: .s..........libbpf: failed to find valid kernel BTF
30: libbpf: vmlinux BTF is not found
30: ......'unknown': unknown terminal type.
30: .In file included from /virtual/main.c:6:
30: In file included from include/net/sock.h:58:
30: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
30: count_memcg_events(page->mem_cgroup, idx, 1);
30: ~~~~~~~~~~~~~~~~~~ ^~~
30: 5 warnings generated.
30: ........In file included from /virtual/main.c:15:
30: In file included from include/net/sock.h:58:
30: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
30: count_memcg_events(page->mem_cgroup, idx, 1);
30: ~~~~~~~~~~~~~~~~~~ ^~~
30: 5 warnings generated.
30: .In file included from /virtual/main.c:15:
30: In file included from include/net/sock.h:58:
30: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
30: count_memcg_events(page->mem_cgroup, idx, 1);
30: ~~~~~~~~~~~~~~~~~~ ^~~
30: 5 warnings generated.
30: .In file included from /virtual/main.c:3:
30: In file included from include/net/sock.h:58:
30: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
30: count_memcg_events(page->mem_cgroup, idx, 1);
30: ~~~~~~~~~~~~~~~~~~ ^~~
30: 5 warnings generated.
30: .In file included from /virtual/main.c:5:
30: In file included from include/net/sock.h:58:
30: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
30: count_memcg_events(page->mem_cgroup, idx, 1);
30: ~~~~~~~~~~~~~~~~~~ ^~~
30: 5 warnings generated.
30: .In file included from /virtual/main.c:3:
30: In file included from include/linux/tcp.h:23:
30: In file included from include/net/sock.h:58:
30: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
30: count_memcg_events(page->mem_cgroup, idx, 1);
30: ~~~~~~~~~~~~~~~~~~ ^~~
30: 5 warnings generated.
30: .In file included from /virtual/main.c:3:
30: In file included from include/net/sock.h:58:
30: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
30: count_memcg_events(page->mem_cgroup, idx, 1);
30: ~~~~~~~~~~~~~~~~~~ ^~~
30: 5 warnings generated.
30: .In file included from /virtual/main.c:15:
30: In file included from include/net/sock.h:58:
30: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(pn->memcg, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: __mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
30: mod_memcg_state(page->mem_cgroup, idx, val);
30: ~~~~~~~~~~~~~~~ ^~~
30: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
30: count_memcg_events(page->mem_cgroup, idx, 1);
30: ~~~~~~~~~~~~~~~~~~ ^~~
30: 5 warnings generated.
30: 'unknown': unknown terminal type.
30: ...'unknown': unknown terminal type.
30: .....'unknown': unknown terminal type.
30: ...libbpf: failed to find valid kernel BTF
30: libbpf: vmlinux BTF is not found
30: ......
30: ----------------------------------------------------------------------
30: Ran 83 tests in 269.830s
30:
30: OK (skipped=2)
30/45 Test #30: py_test_tools_smoke .............. Passed 269.89 sec
test 31
Start 31: py_test_tools_memleak
31: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_tools_memleak" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_tools_memleak.py"
31: Test timeout computed to be: 9.99988e+06
31: cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .cannot attach uprobe, Device or resource busy
31: .
31: ----------------------------------------------------------------------
31: Ran 8 tests in 22.031s
31:
31: OK
31/45 Test #31: py_test_tools_memleak ............ Passed 22.08 sec
test 32
Start 32: py_test_usdt
32: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_usdt" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_usdt.py"
32: Test timeout computed to be: 9.99988e+06
32: <stdin>:23:17: warning: null character(s) preserved in literal
32: <stdin>:28:17: warning: null character(s) preserved in literal
32: clang -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -coverage-file /usr/src/kernels/4.13.16-100.fc25.x86_64/main.c -nostdsysteminc -nobuiltininc -resource-dir ../lib64/clang/3.9.1 -isystem /virtual/lib/clang/include -include ./include/linux/kconfig.h -include /virtual/include/bcc/bpf.h -include /virtual/include/bcc/bpf_workaround.h -include /virtual/include/bcc/helpers.h -isystem /virtual/include -I /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python -D __BPF_TRACING__ -I arch/x86/include/ -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated -I include -I /lib/modules/4.13.16-100.fc25.x86_64/build/include -I arch/x86/include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated/uapi -I include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/include/generated/uapi -D __KERNEL__ -D KBUILD_MODNAME="bcc" -O2 -Wno-deprecated-declarations -Wno-gnu-variable-sized-type-not-at-end -Wno-pragma-once-outside-header -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-unused-value -Wno-pointer-sign -fdebug-compilation-dir /usr/src/kernels/4.13.16-100.fc25.x86_64 -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o main.bc -x c /virtual/main.c
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 0x400697ULL: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
32: case 0x4006a0ULL: *((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 0x400697ULL: { u64 __addr = ctx->bp + -24; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
32: case 0x4006a0ULL: { u64 __addr = ctx->bp + -20; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
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 0x400698ULL: { u64 __addr = ctx->bp + -20; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
32: case 0x4006b7ULL: *((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 0x400698ULL: { u64 __addr = ctx->bp + -24; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
32: case 0x4006b7ULL: *((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.057s
32:
32: OK
32: Running from kernel directory at: /lib/modules/4.13.16-100.fc25.x86_64/source
32: str4
32: str5
32: str6
32: str7
32: str8
32: str9
32/45 Test #32: py_test_usdt ..................... Passed 4.34 sec
test 33
Start 33: py_test_usdt2
33: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_usdt2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_usdt2.py"
33: Test timeout computed to be: 9.99988e+06
33: .
33: ----------------------------------------------------------------------
33: Ran 1 test in 3.050s
33:
33: OK
33/45 Test #33: py_test_usdt2 .................... Passed 3.20 sec
test 34
Start 34: py_test_usdt3
34: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_usdt3" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_usdt3.py"
34: Test timeout computed to be: 9.99988e+06
34: test:probe [sema 0x0]
34: location #1 /proc/7416/root/tmp/tmpQNDqHj/liba.so 0x657
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #2 /proc/7416/root/tmp/tmpQNDqHj/libb.so 0x657
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #3 /proc/7416/root/tmp/tmpQNDqHj/a.out 0x40070d
34: argument #1 4 signed bytes @ *(bp - 4)
34: test_dup_name:probe [sema 0x0]
34: location #1 /proc/7416/root/tmp/tmpQNDqHj/liba.so 0x658
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #2 /proc/7416/root/tmp/tmpQNDqHj/libb.so 0x658
34: argument #1 4 signed bytes @ *(bp - 4)
34: location #3 /proc/7416/root/tmp/tmpQNDqHj/a.out 0x40070e
34: argument #1 4 signed bytes @ *(bp - 4)
34: libc:setjmp [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x35651
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/7416/root/usr/lib64/libc-2.24.so 0x35733
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/7416/root/usr/lib64/libc-2.24.so 0x119fd3
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/7416/root/usr/lib64/libc-2.24.so 0x3574f
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/7416/root/usr/lib64/libc-2.24.so 0x119fef
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/7416/root/usr/lib64/libc-2.24.so 0x7fde8
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/7416/root/usr/lib64/libc-2.24.so 0x8013c
34: argument #1 8 unsigned bytes @ dx
34: libc:memory_sbrk_less [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x8033e
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 signed bytes @ r12
34: libc:memory_arena_reuse_wait [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x8042c
34: argument #1 8 unsigned bytes @ r8
34: argument #2 8 unsigned bytes @ r8
34: argument #3 8 unsigned bytes @ bx
34: libc:memory_arena_reuse [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x8055c
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/7416/root/usr/lib64/libc-2.24.so 0x807d8
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/7416/root/usr/lib64/libc-2.24.so 0x809d9
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/7416/root/usr/lib64/libc-2.24.so 0x8272c
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/7416/root/usr/lib64/libc-2.24.so 0x82902
34: argument #1 8 unsigned bytes @ r15
34: argument #2 8 unsigned bytes @ r10
34: libc:memory_heap_more [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x834c5
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/7416/root/usr/lib64/libc-2.24.so 0x837a7
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 signed bytes @ dx
34: libc:memory_malloc_retry [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x85fb8
34: argument #1 8 unsigned bytes @ bp
34: location #2 /proc/7416/root/usr/lib64/libc-2.24.so 0x87748
34: argument #1 8 unsigned bytes @ bp
34: libc:memory_mallopt_free_dyn_thresholds [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x862e1
34: argument #1 8 unsigned bytes @ ax
34: argument #2 8 unsigned bytes @ cx
34: libc:memory_realloc_retry [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x86740
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bp
34: location #2 /proc/7416/root/usr/lib64/libc-2.24.so 0x87ae0
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bp
34: libc:memory_memalign_retry [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x869e8
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bx
34: location #2 /proc/7416/root/usr/lib64/libc-2.24.so 0x87da8
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bx
34: location #3 /proc/7416/root/usr/lib64/libc-2.24.so 0x88060
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bx
34: location #4 /proc/7416/root/usr/lib64/libc-2.24.so 0x88330
34: argument #1 8 unsigned bytes @ r12
34: argument #2 8 unsigned bytes @ bx
34: location #5 /proc/7416/root/usr/lib64/libc-2.24.so 0x890c8
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/7416/root/usr/lib64/libc-2.24.so 0x86cf0
34: argument #1 8 unsigned bytes @ r12
34: libc:memory_mallopt [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x870a4
34: argument #1 4 signed bytes @ bp
34: argument #2 4 signed bytes @ bx
34: libc:memory_mallopt_mxfast [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x870d2
34: argument #1 4 signed bytes @ bx
34: argument #2 8 unsigned bytes @ *(&global_max_fast + 0)
34: libc:memory_mallopt_arena_max [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x87100
34: argument #1 4 signed bytes @ bx
34: argument #2 8 unsigned bytes @ *(&mp_ + 32)
34: libc:memory_mallopt_arena_test [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x87159
34: argument #1 4 signed bytes @ bx
34: argument #2 8 unsigned bytes @ *(&mp_ + 24)
34: libc:memory_mallopt_mmap_max [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x87168
34: argument #1 4 signed bytes @ bx
34: argument #2 4 signed bytes @ *(&mp_ + 44)
34: argument #3 4 signed bytes @ *(&mp_ + 52)
34: libc:memory_mallopt_mmap_threshold [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x8718a
34: argument #1 4 signed bytes @ bx
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/7416/root/usr/lib64/libc-2.24.so 0x871b0
34: argument #1 4 signed bytes @ bx
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/7416/root/usr/lib64/libc-2.24.so 0x871d0
34: argument #1 4 signed bytes @ bx
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/7416/root/usr/lib64/libc-2.24.so 0x871f0
34: argument #1 4 signed bytes @ bx
34: argument #2 4 signed bytes @ *(&perturb_byte + 0)
34: libc:memory_mallopt_check_action [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x87208
34: argument #1 4 signed bytes @ bx
34: argument #2 4 signed bytes @ *(&check_action + 0)
34: libc:lll_lock_wait_private [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/libc-2.24.so 0x115e44
34: argument #1 8 unsigned bytes @ di
34: rtld:init_start [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/ld-2.24.so 0x38b7
34: argument #1 4 signed bytes @ 0
34: argument #2 8 unsigned bytes @ bx
34: rtld:init_complete [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/ld-2.24.so 0x40e9
34: argument #1 4 signed bytes @ 0
34: argument #2 8 unsigned bytes @ bx
34: rtld:map_failed [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/ld-2.24.so 0x5836
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/7416/root/usr/lib64/ld-2.24.so 0x67aa
34: argument #1 8 signed bytes @ *(bp + 40)
34: argument #2 8 unsigned bytes @ bx
34: rtld:map_complete [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/ld-2.24.so 0x15c67
34: argument #1 8 signed bytes @ *(r15 + 40)
34: argument #2 8 unsigned bytes @ bx
34: argument #3 8 unsigned bytes @ *(bp - 104)
34: rtld:reloc_complete [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/ld-2.24.so 0x15e31
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/7416/root/usr/lib64/ld-2.24.so 0x15fe6
34: argument #1 8 signed bytes @ *(cx + 40)
34: argument #2 8 unsigned bytes @ *(bp - 120)
34: rtld:unmap_start [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/ld-2.24.so 0x16c2a
34: argument #1 8 signed bytes @ r15
34: argument #2 8 unsigned bytes @ r14
34: rtld:unmap_complete [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/ld-2.24.so 0x16eb1
34: argument #1 8 signed bytes @ *(bp - 112)
34: argument #2 8 unsigned bytes @ bx
34: rtld:setjmp [sema 0x0]
34: location #1 /proc/7416/root/usr/lib64/ld-2.24.so 0x1be6d
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/7416/root/usr/lib64/ld-2.24.so 0x1bead
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/7416/root/usr/lib64/ld-2.24.so 0x1bec9
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.138s
34:
34: OK
34: temp directory: /tmp/tmpQNDqHj
34/45 Test #34: py_test_usdt3 .................... Passed 1.27 sec
test 35
Start 35: py_test_license
35: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_license" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_license.py"
35: Test timeout computed to be: 9.99988e+06
35: /virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
35: #error BPF_LICENSE cannot be specified through cflags
35: ^
35: 1 error generated.
35: x/virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
35: #error BPF_LICENSE cannot be specified through cflags
35: ^
35: 1 error generated.
35: x.bpf: Failed to load program: Invalid argument
35: 0: (bf) r6 = r1
35: 1: (85) call bpf_ktime_get_ns#5
35: cannot call GPL only function from proprietary program
35:
35: x../virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
35: #error BPF_LICENSE cannot be specified through cflags
35: ^
35: 1 error generated.
35: xbpf: Failed to load program: Invalid argument
35: 0: (bf) r6 = r1
35: 1: (85) call bpf_ktime_get_ns#5
35: cannot call GPL only function from proprietary program
35:
35: x..
35: ----------------------------------------------------------------------
35: Ran 10 tests in 2.596s
35:
35: OK (expected failures=5)
35/45 Test #35: py_test_license .................. Passed 2.68 sec
test 36
Start 36: py_test_free_bcc_memory
36: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_free_bcc_memory" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_free_bcc_memory.py"
36: Test timeout computed to be: 9.99988e+06
36: .
36: ----------------------------------------------------------------------
36: Ran 1 test in 0.228s
36:
36: OK
36: Before freeing llvm memory: RssFile: 58692 kB
36: After freeing llvm memory: RssFile: 42968 kB
36/45 Test #36: py_test_free_bcc_memory .......... Passed 0.31 sec
test 37
Start 37: py_test_rlimit
37: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_rlimit" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_rlimit.py"
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.438s
37:
37: OK
37/45 Test #37: py_test_rlimit ................... Passed 0.52 sec
test 38
Start 38: py_test_lpm_trie
38: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_lpm_trie" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_lpm_trie.py"
38: Test timeout computed to be: 9.99988e+06
38: ..
38: ----------------------------------------------------------------------
38: Ran 2 tests in 0.440s
38:
38: OK
38/45 Test #38: py_test_lpm_trie ................. Passed 0.54 sec
test 39
Start 39: py_ringbuf
39: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_ringbuf" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_ringbuf.py"
39: Test timeout computed to be: 9.99988e+06
39: ssss
39: ----------------------------------------------------------------------
39: Ran 4 tests in 0.000s
39:
39: OK (skipped=4)
39/45 Test #39: py_ringbuf ....................... Passed 0.09 sec
test 40
Start 40: py_queuestack
40: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_queuestack" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_queuestack.py"
40: Test timeout computed to be: 9.99988e+06
40: ss
40: ----------------------------------------------------------------------
40: Ran 2 tests in 0.000s
40:
40: OK (skipped=2)
40/45 Test #40: py_queuestack .................... Passed 0.08 sec
test 41
Start 41: py_test_map_batch_ops
41: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_map_batch_ops" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_map_batch_ops.py"
41: Test timeout computed to be: 9.99988e+06
41: ssssss
41: ----------------------------------------------------------------------
41: Ran 6 tests in 0.000s
41:
41: OK (skipped=6)
41/45 Test #41: py_test_map_batch_ops ............ Passed 0.08 sec
test 42
Start 42: lua_test_clang
42: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "lua_test_clang" "sudo" "/usr/bin/luajit" "test_clang.lua"
42: Test timeout computed to be: 9.99988e+06
42: /virtual/main.c:1:30: error: expected expression
42: int failure(void *ctx) { if (); return 0; }
42: ^
42: 1 error generated.
42: ....................
42: Ran 20 tests in 15.842 seconds, 20 successes, 0 failures
42: OK
42/45 Test #42: lua_test_clang ................... Passed 16.10 sec
test 43
Start 43: lua_test_uprobes
43: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "lua_test_uprobes" "sudo" "/usr/bin/luajit" "test_uprobes.lua"
43: Test timeout computed to be: 9.99988e+06
43: Python 2.7.13
43: Arena 0:
43: system bytes = 21581824
43: in use bytes = 1133840
43: Total (incl. mmap):
43: system bytes = 21581824
43: in use bytes = 1133840
43: max mmap regions = 6
43: max mmap bytes = 8413184
43: ..
43: Ran 2 tests in 0.481 seconds, 2 successes, 0 failures
43: OK
43/45 Test #43: lua_test_uprobes ................. Passed 0.58 sec
test 44
Start 44: lua_test_dump
44: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "lua_test_dump" "sudo" "/usr/bin/luajit" "test_dump.lua"
44: Test timeout computed to be: 9.99988e+06
44: .
44: Ran 1 tests in 0.214 seconds, 1 successes, 0 failures
44: OK
44/45 Test #44: lua_test_dump .................... Passed 0.25 sec
test 45
Start 45: lua_test_standalone
45: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/lua/test_standalone.sh
45: Test timeout computed to be: 9.99988e+06
45: + cd src/lua
45: + [[ ! -x bcc-lua ]]
45: + echo 'bcc-lua not built --- skipping'
45: bcc-lua not built --- skipping
45: + exit 0
45/45 Test #45: lua_test_standalone .............. Passed 0.00 sec
100% tests passed, 0 tests failed out of 45
Total Test time (real) = 496.86 sec
++ head -n 1 Testing/TAG
+ cp Testing/20210610-1607/Test.xml ./CTestResults.xml
Taking single-use agent fedora25-slave-582 offline.
Finished: SUCCESS