Console Output
Skipping 189 KB..
Full Log1: - &sym_addr, &sym_type, sym_name, mod_info);
1: - if (ret == EOF && feof(f))
1: - break;
1: - if (ret < 3) {
1: - p_err("failed to read kallsyms entry: %d", ret);
1: - err = -EINVAL;
1: - goto out;
1: - }
1: - if (strcmp(func->name, sym_name) != 0)
1: - continue;
1: - func->ip = sym_addr;
1: - func->mod[0] = '\0';
1: - /* get module name from [modname] */
1: - if (ret == 4) {
1: - if (sscanf(mod_info, "%*[\t ][%[^]]", func->mod) < 1) {
1: - p_err("failed to read module name");
1: - err = -EINVAL;
1: - goto out;
1: - }
1: - }
1: - p_debug("%s = <ip %llx, mod %s>", func->name, func->ip,
1: - strlen(func->mod) > 0 ? func->mod : "vmlinux");
1: - break;
1: - }
1: +static int get_func_ip_mod(struct func *func) {
1: + char sym_type, sym_name[MAX_STR], mod_info[MAX_STR];
1: + unsigned long long sym_addr;
1: + int ret, err = 0;
1: + FILE *f;
1: +
1: + f = fopen("/proc/kallsyms", "r");
1: + if (!f) {
1: + err = errno;
1: + p_err("failed to open /proc/kallsyms: %d", strerror(err));
1: + return err;
1: + }
1: +
1: + while (true) {
1: + ret = fscanf(f, "%llx %c %128s%[^\n]\n", &sym_addr, &sym_type, sym_name,
1: + mod_info);
1: + if (ret == EOF && feof(f))
1: + break;
1: + if (ret < 3) {
1: + p_err("failed to read kallsyms entry: %d", ret);
1: + err = -EINVAL;
1: + goto out;
1: + }
1: + if (strcmp(func->name, sym_name) != 0)
1: + continue;
1: + func->ip = sym_addr;
1: + func->mod[0] = '\0';
1: + /* get module name from [modname] */
1: + if (ret == 4) {
1: + if (sscanf(mod_info, "%*[\t ][%[^]]", func->mod) < 1) {
1: + p_err("failed to read module name");
1: + err = -EINVAL;
1: + goto out;
1: + }
1: + }
1: + p_debug("%s = <ip %llx, mod %s>", func->name, func->ip,
1: + strlen(func->mod) > 0 ? func->mod : "vmlinux");
1: + break;
1: + }
1: out:
1: - fclose(f);
1: - return err;
1: + fclose(f);
1: + return err;
1: }
1:
1: -static void trace_printf(void *ctx, const char *fmt, va_list args)
1: -{
1: - vprintf(fmt, args);
1: +static void trace_printf(void *ctx, const char *fmt, va_list args) {
1: + vprintf(fmt, args);
1: }
1:
1: -#define VALID_NAME "%[A-Za-z0-9\\-_]"
1: -#define ARGDATA "%[^)]"
1: -
1: -static int parse_trace(char *str, struct trace *trace)
1: -{
1: - __u8 i, nr_predicates = 0, nr_entry = 0, nr_return = 0;
1: - char argname[MAX_NAME], membername[MAX_NAME];
1: - char tracestr[MAX_STR], argdata[MAX_STR];
1: - struct func *func = &trace->func;
1: - struct btf_dump_opts opts = { };
1: - char *arg, *saveptr;
1: - int ret;
1: -
1: - copy_without_spaces(tracestr, str);
1: -
1: - p_debug("Parsing trace '%s'", tracestr);
1: -
1: - trace->filter_pid = (__u32)filter_pid;
1: - if (filter_pid)
1: - p_debug("Using pid %lu as filter", trace->filter_pid);
1: -
1: - trace->btf = vmlinux_btf;
1: -
1: - ret = sscanf(tracestr, VALID_NAME "(" ARGDATA ")", func->name, argdata);
1: - if (ret <= 0)
1: - usage();
1: - if (ret == 1) {
1: - if (strlen(tracestr) > strlen(func->name)) {
1: - p_err("Invalid function specification '%s'", tracestr);
1: - usage();
1: - }
1: - argdata[0] = '\0';
1: - p_debug("got func '%s'", func->name);
1: - } else {
1: - if (strlen(tracestr) >
1: - strlen(func->name) + strlen(argdata) + 2) {
1: - p_err("Invalid function specification '%s'", tracestr);
1: - usage();
1: - }
1: - p_debug("got func '%s', args '%s'", func->name, argdata);
1: - trace->flags |= KSNOOP_F_CUSTOM;
1: - }
1: -
1: - ret = get_func_ip_mod(func);
1: - if (ret) {
1: - p_err("could not get address of '%s'", func->name);
1: - return ret;
1: - }
1: - trace->btf = get_btf(func->mod);
1: - if (libbpf_get_error(trace->btf)) {
1: - p_err("could not get BTF for '%s': %s",
1: - strlen(func->mod) ? func->mod : "vmlinux",
1: - libbpf_errstr(trace->btf));
1: - return -ENOENT;
1: - }
1: - trace->dump = btf_dump__new(trace->btf, NULL, &opts, trace_printf);
1: - if (libbpf_get_error(trace->dump)) {
1: - p_err("could not create BTF dump : %n",
1: - libbpf_errstr(trace->btf));
1: - return -EINVAL;
1: - }
1: -
1: - ret = get_func_btf(trace->btf, func);
1: - if (ret) {
1: - p_debug("unexpected return value '%d' getting function", ret);
1: - return ret;
1: - }
1: -
1: - for (arg = strtok_r(argdata, ",", &saveptr), i = 0;
1: - arg;
1: - arg = strtok_r(NULL, ",", &saveptr), i++) {
1: - char *predicate = NULL;
1: -
1: - ret = sscanf(arg, VALID_NAME "->" VALID_NAME,
1: - argname, membername);
1: - if (ret == 2) {
1: - if (strlen(arg) >
1: - strlen(argname) + strlen(membername) + 2) {
1: - predicate = arg + strlen(argname) +
1: - strlen(membername) + 2;
1: - }
1: - p_debug("'%s' dereferences '%s', predicate '%s'",
1: - argname, membername, predicate);
1: - } else {
1: - if (strlen(arg) > strlen(argname))
1: - predicate = arg + strlen(argname);
1: - p_debug("'%s' arg, predcate '%s'", argname, predicate);
1: - membername[0] = '\0';
1: - }
1: -
1: - if (i >= MAX_TRACES) {
1: - p_err("Too many arguments; up to %d are supported",
1: - MAX_TRACES);
1: - return -EINVAL;
1: - }
1: - if (trace_to_value(trace->btf, func, argname, membername,
1: - predicate, &trace->traces[i]))
1: - return -EINVAL;
1: -
1: - if (predicate)
1: - nr_predicates++;
1: - if (trace->traces[i].base_arg == KSNOOP_RETURN)
1: - nr_return++;
1: - else
1: - nr_entry++;
1: - trace->nr_traces++;
1: - }
1: -
1: - if (trace->nr_traces > 0) {
1: - trace->flags |= KSNOOP_F_CUSTOM;
1: - p_debug("custom trace with %d args", trace->nr_traces);
1: -
1: - /* If we have one or more predicates _and_ references to
1: - * entry and return values, we need to activate "stash"
1: - * mode where arg traces are stored on entry and not
1: - * sent until return to ensure predicates are satisfied.
1: - */
1: - if (nr_predicates > 0 && nr_entry > 0 && nr_return > 0) {
1: - trace->flags |= KSNOOP_F_STASH;
1: - p_debug("activating stash mode on entry");
1: - }
1: - } else {
1: - p_debug("Standard trace, function with %d arguments",
1: - func->nr_args);
1: - /* copy function arg/return value to trace specification. */
1: - memcpy(trace->traces, func->args, sizeof(trace->traces));
1: - for (i = 0; i < MAX_TRACES; i++)
1: - trace->traces[i].base_arg = i;
1: - trace->nr_traces = MAX_TRACES;
1: - }
1: -
1: - return 0;
1: +#define VALID_NAME "%[A-Za-z0-9\\-_]"
1: +#define ARGDATA "%[^)]"
1: +
1: +static int parse_trace(char *str, struct trace *trace) {
1: + __u8 i, nr_predicates = 0, nr_entry = 0, nr_return = 0;
1: + char argname[MAX_NAME], membername[MAX_NAME];
1: + char tracestr[MAX_STR], argdata[MAX_STR];
1: + struct func *func = &trace->func;
1: + struct btf_dump_opts opts = {};
1: + char *arg, *saveptr;
1: + int ret;
1: +
1: + copy_without_spaces(tracestr, str);
1: +
1: + p_debug("Parsing trace '%s'", tracestr);
1: +
1: + trace->filter_pid = (__u32)filter_pid;
1: + if (filter_pid)
1: + p_debug("Using pid %lu as filter", trace->filter_pid);
1: +
1: + trace->btf = vmlinux_btf;
1: +
1: + ret = sscanf(tracestr, VALID_NAME "(" ARGDATA ")", func->name, argdata);
1: + if (ret <= 0)
1: + usage();
1: + if (ret == 1) {
1: + if (strlen(tracestr) > strlen(func->name)) {
1: + p_err("Invalid function specification '%s'", tracestr);
1: + usage();
1: + }
1: + argdata[0] = '\0';
1: + p_debug("got func '%s'", func->name);
1: + } else {
1: + if (strlen(tracestr) > strlen(func->name) + strlen(argdata) + 2) {
1: + p_err("Invalid function specification '%s'", tracestr);
1: + usage();
1: + }
1: + p_debug("got func '%s', args '%s'", func->name, argdata);
1: + trace->flags |= KSNOOP_F_CUSTOM;
1: + }
1: +
1: + ret = get_func_ip_mod(func);
1: + if (ret) {
1: + p_err("could not get address of '%s'", func->name);
1: + return ret;
1: + }
1: + trace->btf = get_btf(func->mod);
1: + if (libbpf_get_error(trace->btf)) {
1: + p_err("could not get BTF for '%s': %s",
1: + strlen(func->mod) ? func->mod : "vmlinux", libbpf_errstr(trace->btf));
1: + return -ENOENT;
1: + }
1: + trace->dump = btf_dump__new(trace->btf, NULL, &opts, trace_printf);
1: + if (libbpf_get_error(trace->dump)) {
1: + p_err("could not create BTF dump : %n", libbpf_errstr(trace->btf));
1: + return -EINVAL;
1: + }
1: +
1: + ret = get_func_btf(trace->btf, func);
1: + if (ret) {
1: + p_debug("unexpected return value '%d' getting function", ret);
1: + return ret;
1: + }
1: +
1: + for (arg = strtok_r(argdata, ",", &saveptr), i = 0; arg;
1: + arg = strtok_r(NULL, ",", &saveptr), i++) {
1: + char *predicate = NULL;
1: +
1: + ret = sscanf(arg, VALID_NAME "->" VALID_NAME, argname, membername);
1: + if (ret == 2) {
1: + if (strlen(arg) > strlen(argname) + strlen(membername) + 2) {
1: + predicate = arg + strlen(argname) + strlen(membername) + 2;
1: + }
1: + p_debug("'%s' dereferences '%s', predicate '%s'", argname, membername,
1: + predicate);
1: + } else {
1: + if (strlen(arg) > strlen(argname))
1: + predicate = arg + strlen(argname);
1: + p_debug("'%s' arg, predcate '%s'", argname, predicate);
1: + membername[0] = '\0';
1: + }
1: +
1: + if (i >= MAX_TRACES) {
1: + p_err("Too many arguments; up to %d are supported", MAX_TRACES);
1: + return -EINVAL;
1: + }
1: + if (trace_to_value(trace->btf, func, argname, membername, predicate,
1: + &trace->traces[i]))
1: + return -EINVAL;
1: +
1: + if (predicate)
1: + nr_predicates++;
1: + if (trace->traces[i].base_arg == KSNOOP_RETURN)
1: + nr_return++;
1: + else
1: + nr_entry++;
1: + trace->nr_traces++;
1: + }
1: +
1: + if (trace->nr_traces > 0) {
1: + trace->flags |= KSNOOP_F_CUSTOM;
1: + p_debug("custom trace with %d args", trace->nr_traces);
1: +
1: + /* If we have one or more predicates _and_ references to
1: + * entry and return values, we need to activate "stash"
1: + * mode where arg traces are stored on entry and not
1: + * sent until return to ensure predicates are satisfied.
1: + */
1: + if (nr_predicates > 0 && nr_entry > 0 && nr_return > 0) {
1: + trace->flags |= KSNOOP_F_STASH;
1: + p_debug("activating stash mode on entry");
1: + }
1: + } else {
1: + p_debug("Standard trace, function with %d arguments", func->nr_args);
1: + /* copy function arg/return value to trace specification. */
1: + memcpy(trace->traces, func->args, sizeof(trace->traces));
1: + for (i = 0; i < MAX_TRACES; i++)
1: + trace->traces[i].base_arg = i;
1: + trace->nr_traces = MAX_TRACES;
1: + }
1: +
1: + return 0;
1: }
1:
1: -static int parse_traces(int argc, char **argv, struct trace **traces)
1: -{
1: - __u8 i;
1: -
1: - if (argc == 0)
1: - usage();
1: -
1: - if (argc > MAX_FUNC_TRACES) {
1: - p_err("A maximum of %d traces are supported", MAX_FUNC_TRACES);
1: - return -EINVAL;
1: - }
1: - *traces = calloc(argc, sizeof(struct trace));
1: - if (!*traces) {
1: - p_err("Could not allocate %d traces", argc);
1: - return -ENOMEM;
1: - }
1: - for (i = 0; i < argc; i++) {
1: - if (parse_trace(argv[i], &((*traces)[i])))
1: - return -EINVAL;
1: - if (!stack_mode || i == 0)
1: - continue;
1: - /* tell stack mode trace which function to expect next */
1: - (*traces)[i].prev_ip = (*traces)[i-1].func.ip;
1: - (*traces)[i-1].next_ip = (*traces)[i].func.ip;
1: - }
1: - return i;
1: +static int parse_traces(int argc, char **argv, struct trace **traces) {
1: + __u8 i;
1: +
1: + if (argc == 0)
1: + usage();
1: +
1: + if (argc > MAX_FUNC_TRACES) {
1: + p_err("A maximum of %d traces are supported", MAX_FUNC_TRACES);
1: + return -EINVAL;
1: + }
1: + *traces = calloc(argc, sizeof(struct trace));
1: + if (!*traces) {
1: + p_err("Could not allocate %d traces", argc);
1: + return -ENOMEM;
1: + }
1: + for (i = 0; i < argc; i++) {
1: + if (parse_trace(argv[i], &((*traces)[i])))
1: + return -EINVAL;
1: + if (!stack_mode || i == 0)
1: + continue;
1: + /* tell stack mode trace which function to expect next */
1: + (*traces)[i].prev_ip = (*traces)[i - 1].func.ip;
1: + (*traces)[i - 1].next_ip = (*traces)[i].func.ip;
1: + }
1: + return i;
1: }
1:
1: -static int cmd_info(int argc, char **argv)
1: -{
1: - struct trace *traces;
1: - char str[MAX_STR];
1: - int nr_traces;
1: - __u8 i, j;
1: -
1: - nr_traces = parse_traces(argc, argv, &traces);
1: - if (nr_traces < 0)
1: - return nr_traces;
1: -
1: - for (i = 0; i < nr_traces; i++) {
1: - struct func *func = &traces[i].func;
1: -
1: - printf("%s %s(",
1: - value_to_str(traces[i].btf, &func->args[KSNOOP_RETURN],
1: - str),
1: - func->name);
1: - for (j = 0; j < func->nr_args; j++) {
1: - if (j > 0)
1: - printf(", ");
1: - printf("%s", value_to_str(traces[i].btf, &func->args[j],
1: - str));
1: - }
1: - if (func->nr_args > MAX_ARGS)
1: - printf(" /* and %d more args that are not traceable */",
1: - func->nr_args - MAX_ARGS);
1: - printf(");\n");
1: - }
1: - return 0;
1: +static int cmd_info(int argc, char **argv) {
1: + struct trace *traces;
1: + char str[MAX_STR];
1: + int nr_traces;
1: + __u8 i, j;
1: +
1: + nr_traces = parse_traces(argc, argv, &traces);
1: + if (nr_traces < 0)
1: + return nr_traces;
1: +
1: + for (i = 0; i < nr_traces; i++) {
1: + struct func *func = &traces[i].func;
1: +
1: + printf("%s %s(",
1: + value_to_str(traces[i].btf, &func->args[KSNOOP_RETURN], str),
1: + func->name);
1: + for (j = 0; j < func->nr_args; j++) {
1: + if (j > 0)
1: + printf(", ");
1: + printf("%s", value_to_str(traces[i].btf, &func->args[j], str));
1: + }
1: + if (func->nr_args > MAX_ARGS)
1: + printf(" /* and %d more args that are not traceable */",
1: + func->nr_args - MAX_ARGS);
1: + printf(");\n");
1: + }
1: + return 0;
1: }
1:
1: -static void trace_handler(void *ctx, int cpu, void *data, __u32 size)
1: -{
1: - struct trace *trace = data;
1: - int i, shown, ret;
1: -
1: - p_debug("got trace, size %d", size);
1: - if (size < (sizeof(*trace) - MAX_TRACE_BUF)) {
1: - p_err("\t/* trace buffer size '%u' < min %ld */",
1: - size, sizeof(trace) - MAX_TRACE_BUF);
1: - return;
1: - }
1: - printf("%16lld %4d %8u %s(\n", trace->time, trace->cpu, trace->pid,
1: - trace->func.name);
1: -
1: - for (i = 0, shown = 0; i < trace->nr_traces; i++) {
1: - DECLARE_LIBBPF_OPTS(btf_dump_type_data_opts, opts);
1: - bool entry = trace->data_flags & KSNOOP_F_ENTRY;
1: - struct value *val = &trace->traces[i];
1: - struct trace_data *data = &trace->trace_data[i];
1: -
1: - opts.indent_level = 36;
1: - opts.indent_str = " ";
1: -
1: - /* skip if it's entry data and trace data is for return, or
1: - * if it's return and trace data is entry; only exception in
1: - * the latter case is if we stashed data; in such cases we
1: - * want to see it as it's a mix of entry/return data with
1: - * predicates.
1: - */
1: - if ((entry && !base_arg_is_entry(val->base_arg)) ||
1: - (!entry && base_arg_is_entry(val->base_arg) &&
1: - !(trace->flags & KSNOOP_F_STASH)))
1: - continue;
1: -
1: - if (val->type_id == 0)
1: - continue;
1: -
1: - if (shown > 0)
1: - printf(",\n");
1: - printf("%34s %s = ", "", val->name);
1: - if (val->flags & KSNOOP_F_PTR)
1: - printf("*(0x%llx)", data->raw_value);
1: - printf("\n");
1: -
1: - if (data->err_type_id != 0) {
1: - char typestr[MAX_STR];
1: -
1: - printf("%36s /* Cannot show '%s' as '%s%s'; invalid/userspace ptr? */\n",
1: - "",
1: - val->name,
1: - type_id_to_str(trace->btf,
1: - val->type_id,
1: - typestr),
1: - val->flags & KSNOOP_F_PTR ?
1: - " *" : "");
1: - } else {
1: - ret = btf_dump__dump_type_data
1: - (trace->dump, val->type_id,
1: - trace->buf + data->buf_offset,
1: - data->buf_len, &opts);
1: - /* truncated? */
1: - if (ret == -E2BIG)
1: - printf("%36s... /* %d bytes of %d */", "",
1: - data->buf_len,
1: - val->size);
1: - }
1: - shown++;
1: -
1: - }
1: - printf("\n%31s);\n\n", "");
1: - fflush(stdout);
1: +static void trace_handler(void *ctx, int cpu, void *data, __u32 size) {
1: + struct trace *trace = data;
1: + int i, shown, ret;
1: +
1: + p_debug("got trace, size %d", size);
1: + if (size < (sizeof(*trace) - MAX_TRACE_BUF)) {
1: + p_err("\t/* trace buffer size '%u' < min %ld */", size,
1: + sizeof(trace) - MAX_TRACE_BUF);
1: + return;
1: + }
1: + printf("%16lld %4d %8u %s(\n", trace->time, trace->cpu, trace->pid,
1: + trace->func.name);
1: +
1: + for (i = 0, shown = 0; i < trace->nr_traces; i++) {
1: + DECLARE_LIBBPF_OPTS(btf_dump_type_data_opts, opts);
1: + bool entry = trace->data_flags & KSNOOP_F_ENTRY;
1: + struct value *val = &trace->traces[i];
1: + struct trace_data *data = &trace->trace_data[i];
1: +
1: + opts.indent_level = 36;
1: + opts.indent_str = " ";
1: +
1: + /* skip if it's entry data and trace data is for return, or
1: + * if it's return and trace data is entry; only exception in
1: + * the latter case is if we stashed data; in such cases we
1: + * want to see it as it's a mix of entry/return data with
1: + * predicates.
1: + */
1: + if ((entry && !base_arg_is_entry(val->base_arg)) ||
1: + (!entry && base_arg_is_entry(val->base_arg) &&
1: + !(trace->flags & KSNOOP_F_STASH)))
1: + continue;
1: +
1: + if (val->type_id == 0)
1: + continue;
1: +
1: + if (shown > 0)
1: + printf(",\n");
1: + printf("%34s %s = ", "", val->name);
1: + if (val->flags & KSNOOP_F_PTR)
1: + printf("*(0x%llx)", data->raw_value);
1: + printf("\n");
1: +
1: + if (data->err_type_id != 0) {
1: + char typestr[MAX_STR];
1: +
1: + printf("%36s /* Cannot show '%s' as '%s%s'; invalid/userspace ptr? */\n",
1: + "", val->name, type_id_to_str(trace->btf, val->type_id, typestr),
1: + val->flags & KSNOOP_F_PTR ? " *" : "");
1: + } else {
1: + ret = btf_dump__dump_type_data(trace->dump, val->type_id,
1: + trace->buf + data->buf_offset,
1: + data->buf_len, &opts);
1: + /* truncated? */
1: + if (ret == -E2BIG)
1: + printf("%36s... /* %d bytes of %d */", "", data->buf_len, val->size);
1: + }
1: + shown++;
1: + }
1: + printf("\n%31s);\n\n", "");
1: + fflush(stdout);
1: }
1:
1: -static void lost_handler(void *ctx, int cpu, __u64 cnt)
1: -{
1: - p_err("\t/* lost %llu events */", cnt);
1: +static void lost_handler(void *ctx, int cpu, __u64 cnt) {
1: + p_err("\t/* lost %llu events */", cnt);
1: }
1:
1: static int add_traces(struct bpf_map *func_map, struct trace *traces,
1: - int nr_traces)
1: -{
1: - int i, j, ret, nr_cpus = libbpf_num_possible_cpus();
1: - struct trace *map_traces;
1: -
1: - map_traces = calloc(nr_cpus, sizeof(struct trace));
1: - if (!map_traces) {
1: - p_err("Could not allocate memory for %d traces", nr_traces);
1: - return -ENOMEM;
1: - }
1: - for (i = 0; i < nr_traces; i++) {
1: - for (j = 0; j < nr_cpus; j++)
1: - memcpy(&map_traces[j], &traces[i],
1: - sizeof(map_traces[j]));
1: -
1: - ret = bpf_map_update_elem(bpf_map__fd(func_map),
1: - &traces[i].func.ip,
1: - map_traces,
1: - BPF_NOEXIST);
1: - if (ret) {
1: - p_err("Could not add map entry for '%s': %s",
1: - traces[i].func.name, strerror(-ret));
1: - break;
1: - }
1: - }
1: - free(map_traces);
1: - return ret;
1: + int nr_traces) {
1: + int i, j, ret, nr_cpus = libbpf_num_possible_cpus();
1: + struct trace *map_traces;
1: +
1: + map_traces = calloc(nr_cpus, sizeof(struct trace));
1: + if (!map_traces) {
1: + p_err("Could not allocate memory for %d traces", nr_traces);
1: + return -ENOMEM;
1: + }
1: + for (i = 0; i < nr_traces; i++) {
1: + for (j = 0; j < nr_cpus; j++)
1: + memcpy(&map_traces[j], &traces[i], sizeof(map_traces[j]));
1: +
1: + ret = bpf_map_update_elem(bpf_map__fd(func_map), &traces[i].func.ip,
1: + map_traces, BPF_NOEXIST);
1: + if (ret) {
1: + p_err("Could not add map entry for '%s': %s", traces[i].func.name,
1: + strerror(-ret));
1: + break;
1: + }
1: + }
1: + free(map_traces);
1: + return ret;
1: }
1:
1: static int attach_traces(struct ksnoop_bpf *skel, struct trace *traces,
1: - int nr_traces)
1: -{
1: - struct bpf_link *link;
1: - int i, ret;
1: -
1: - for (i = 0; i < nr_traces; i++) {
1: - link = bpf_program__attach_kprobe(skel->progs.kprobe_entry,
1: - false,
1: - traces[i].func.name);
1: - ret = libbpf_get_error(link);
1: - if (ret) {
1: - p_err("Could not attach kprobe to '%s': %s",
1: - traces[i].func.name, strerror(-ret));
1: - return ret;
1: - }
1: - p_debug("Attached kprobe for '%s'", traces[i].func.name);
1: -
1: - link = bpf_program__attach_kprobe(skel->progs.kprobe_return,
1: - true,
1: - traces[i].func.name);
1: - ret = libbpf_get_error(link);
1: - if (ret) {
1: - p_err("Could not attach kretprobe to '%s': %s",
1: - traces[i].func.name, strerror(-ret));
1: - return ret;
1: - }
1: - p_debug("Attached kretprobe for '%s'", traces[i].func.name);
1: - }
1: - return 0;
1: + int nr_traces) {
1: + struct bpf_link *link;
1: + int i, ret;
1: +
1: + for (i = 0; i < nr_traces; i++) {
1: + link = bpf_program__attach_kprobe(skel->progs.kprobe_entry, false,
1: + traces[i].func.name);
1: + ret = libbpf_get_error(link);
1: + if (ret) {
1: + p_err("Could not attach kprobe to '%s': %s", traces[i].func.name,
1: + strerror(-ret));
1: + return ret;
1: + }
1: + p_debug("Attached kprobe for '%s'", traces[i].func.name);
1: +
1: + link = bpf_program__attach_kprobe(skel->progs.kprobe_return, true,
1: + traces[i].func.name);
1: + ret = libbpf_get_error(link);
1: + if (ret) {
1: + p_err("Could not attach kretprobe to '%s': %s", traces[i].func.name,
1: + strerror(-ret));
1: + return ret;
1: + }
1: + p_debug("Attached kretprobe for '%s'", traces[i].func.name);
1: + }
1: + return 0;
1: }
1:
1: -static int cmd_trace(int argc, char **argv)
1: -{
1: - struct perf_buffer_opts pb_opts = {};
1: - struct bpf_map *perf_map, *func_map;
1: - struct perf_buffer *pb;
1: - struct ksnoop_bpf *skel;
1: - int nr_traces, ret = 0;
1: - struct trace *traces;
1: -
1: - nr_traces = parse_traces(argc, argv, &traces);
1: - if (nr_traces < 0)
1: - return nr_traces;
1: -
1: - skel = ksnoop_bpf__open_and_load();
1: - if (!skel) {
1: - p_err("Could not load ksnoop BPF: %s", libbpf_errstr(skel));
1: - return 1;
1: - }
1: -
1: - perf_map = skel->maps.ksnoop_perf_map;
1: - if (!perf_map) {
1: - p_err("Could not find '%s'", "ksnoop_perf_map");
1: - return 1;
1: - }
1: - func_map = bpf_object__find_map_by_name(skel->obj, "ksnoop_func_map");
1: - if (!func_map) {
1: - p_err("Could not find '%s'", "ksnoop_func_map");
1: - return 1;
1: - }
1: -
1: - if (add_traces(func_map, traces, nr_traces)) {
1: - p_err("Could not add traces to '%s'", "ksnoop_func_map");
1: - return 1;
1: - }
1: -
1: - if (attach_traces(skel, traces, nr_traces)) {
1: - p_err("Could not attach %d traces", nr_traces);
1: - return 1;
1: - }
1: -
1: - pb_opts.sample_cb = trace_handler;
1: - pb_opts.lost_cb = lost_handler;
1: - pb = perf_buffer__new(bpf_map__fd(perf_map), pages, &pb_opts);
1: - if (libbpf_get_error(pb)) {
1: - p_err("Could not create perf buffer: %s",
1: - libbpf_errstr(pb));
1: - return 1;
1: - }
1: -
1: - printf("%16s %4s %8s %s\n", "TIME", "CPU", "PID", "FUNCTION/ARGS");
1: -
1: - while (1) {
1: - ret = perf_buffer__poll(pb, 1);
1: - if (ret < 0 && ret != -EINTR) {
1: - p_err("Polling failed: %s", strerror(-ret));
1: - break;
1: - }
1: - }
1: -
1: - perf_buffer__free(pb);
1: - ksnoop_bpf__destroy(skel);
1: -
1: - return ret;
1: +static int cmd_trace(int argc, char **argv) {
1: + struct perf_buffer_opts pb_opts = {};
1: + struct bpf_map *perf_map, *func_map;
1: + struct perf_buffer *pb;
1: + struct ksnoop_bpf *skel;
1: + int nr_traces, ret = 0;
1: + struct trace *traces;
1: +
1: + nr_traces = parse_traces(argc, argv, &traces);
1: + if (nr_traces < 0)
1: + return nr_traces;
1: +
1: + skel = ksnoop_bpf__open_and_load();
1: + if (!skel) {
1: + p_err("Could not load ksnoop BPF: %s", libbpf_errstr(skel));
1: + return 1;
1: + }
1: +
1: + perf_map = skel->maps.ksnoop_perf_map;
1: + if (!perf_map) {
1: + p_err("Could not find '%s'", "ksnoop_perf_map");
1: + return 1;
1: + }
1: + func_map = bpf_object__find_map_by_name(skel->obj, "ksnoop_func_map");
1: + if (!func_map) {
1: + p_err("Could not find '%s'", "ksnoop_func_map");
1: + return 1;
1: + }
1: +
1: + if (add_traces(func_map, traces, nr_traces)) {
1: + p_err("Could not add traces to '%s'", "ksnoop_func_map");
1: + return 1;
1: + }
1: +
1: + if (attach_traces(skel, traces, nr_traces)) {
1: + p_err("Could not attach %d traces", nr_traces);
1: + return 1;
1: + }
1: +
1: + pb_opts.sample_cb = trace_handler;
1: + pb_opts.lost_cb = lost_handler;
1: + pb = perf_buffer__new(bpf_map__fd(perf_map), pages, &pb_opts);
1: + if (libbpf_get_error(pb)) {
1: + p_err("Could not create perf buffer: %s", libbpf_errstr(pb));
1: + return 1;
1: + }
1: +
1: + printf("%16s %4s %8s %s\n", "TIME", "CPU", "PID", "FUNCTION/ARGS");
1: +
1: + while (1) {
1: + ret = perf_buffer__poll(pb, 1);
1: + if (ret < 0 && ret != -EINTR) {
1: + p_err("Polling failed: %s", strerror(-ret));
1: + break;
1: + }
1: + }
1: +
1: + perf_buffer__free(pb);
1: + ksnoop_bpf__destroy(skel);
1: +
1: + return ret;
1: }
1:
1: struct cmd {
1: - const char *cmd;
1: - int (*func)(int argc, char **argv);
1: + const char *cmd;
1: + int (*func)(int argc, char **argv);
1: };
1:
1: struct cmd cmds[] = {
1: - { "info", cmd_info },
1: - { "trace", cmd_trace },
1: - { "help", cmd_help },
1: - { NULL, NULL }
1: -};
1: + {"info", cmd_info}, {"trace", cmd_trace}, {"help", cmd_help}, {NULL, NULL}};
1:
1: -static int cmd_select(int argc, char **argv)
1: -{
1: - int i;
1: +static int cmd_select(int argc, char **argv) {
1: + int i;
1:
1: - for (i = 0; cmds[i].cmd; i++) {
1: - if (strncmp(*argv, cmds[i].cmd, strlen(*argv)) == 0)
1: - return cmds[i].func(argc - 1, argv + 1);
1: - }
1: - return cmd_trace(argc, argv);
1: + for (i = 0; cmds[i].cmd; i++) {
1: + if (strncmp(*argv, cmds[i].cmd, strlen(*argv)) == 0)
1: + return cmds[i].func(argc - 1, argv + 1);
1: + }
1: + return cmd_trace(argc, argv);
1: }
1:
1: -static int print_all_levels(enum libbpf_print_level level,
1: - const char *format, va_list args)
1: -{
1: - return vfprintf(stderr, format, args);
1: +static int print_all_levels(enum libbpf_print_level level, const char *format,
1: + va_list args) {
1: + return vfprintf(stderr, format, args);
1: }
1:
1: -int main(int argc, char *argv[])
1: -{
1: - static const struct option options[] = {
1: - { "debug", no_argument, NULL, 'd' },
1: - { "help", no_argument, NULL, 'h' },
1: - { "version", no_argument, NULL, 'V' },
1: - { "pages", required_argument, NULL, 'P' },
1: - { "pid", required_argument, NULL, 'p' },
1: - { 0 }
1: - };
1: - int opt;
1: -
1: - bin_name = argv[0];
1: -
1: - while ((opt = getopt_long(argc, argv, "dhp:P:sV", options,
1: - NULL)) >= 0) {
1: - switch (opt) {
1: - case 'd':
1: - libbpf_set_print(print_all_levels);
1: - log_level = DEBUG;
1: - break;
1: - case 'h':
1: - return cmd_help(argc, argv);
1: - case 'V':
1: - return do_version(argc, argv);
1: - case 'p':
1: - filter_pid = atoi(optarg);
1: - break;
1: - case 'P':
1: - pages = atoi(optarg);
1: - break;
1: - case 's':
1: - stack_mode = true;
1: - break;
1: - default:
1: - p_err("unrecognized option '%s'", argv[optind - 1]);
1: - usage();
1: - }
1: - }
1: - if (argc == 1)
1: - usage();
1: - argc -= optind;
1: - argv += optind;
1: - if (argc < 0)
1: - usage();
1: -
1: - return cmd_select(argc, argv);
1: +int main(int argc, char *argv[]) {
1: + static const struct option options[] = {
1: + {"debug", no_argument, NULL, 'd'},
1: + {"help", no_argument, NULL, 'h'},
1: + {"version", no_argument, NULL, 'V'},
1: + {"pages", required_argument, NULL, 'P'},
1: + {"pid", required_argument, NULL, 'p'},
1: + {0}};
1: + int opt;
1: +
1: + bin_name = argv[0];
1: +
1: + while ((opt = getopt_long(argc, argv, "dhp:P:sV", options, NULL)) >= 0) {
1: + switch (opt) {
1: + case 'd':
1: + libbpf_set_print(print_all_levels);
1: + log_level = DEBUG;
1: + break;
1: + case 'h':
1: + return cmd_help(argc, argv);
1: + case 'V':
1: + return do_version(argc, argv);
1: + case 'p':
1: + filter_pid = atoi(optarg);
1: + break;
1: + case 'P':
1: + pages = atoi(optarg);
1: + break;
1: + case 's':
1: + stack_mode = true;
1: + break;
1: + default:
1: + p_err("unrecognized option '%s'", argv[optind - 1]);
1: + usage();
1: + }
1: + }
1: + if (argc == 1)
1: + usage();
1: + argc -= optind;
1: + argv += optind;
1: + if (argc < 0)
1: + usage();
1: +
1: + return cmd_select(argc, argv);
1: }
1: diff --git a/libbpf-tools/ksnoop.h b/libbpf-tools/ksnoop.h
1: index 6c55b0e..64f77d4 100644
1: --- a/libbpf-tools/ksnoop.h
1: +++ b/libbpf-tools/ksnoop.h
1: @@ -2,121 +2,120 @@
1: /* Copyright (c) 2021, Oracle and/or its affiliates. */
1:
1: /* maximum number of different functions we can trace at once */
1: -#define MAX_FUNC_TRACES 64
1: +#define MAX_FUNC_TRACES 64
1:
1: enum arg {
1: - KSNOOP_ARG1,
1: - KSNOOP_ARG2,
1: - KSNOOP_ARG3,
1: - KSNOOP_ARG4,
1: - KSNOOP_ARG5,
1: - KSNOOP_RETURN
1: + KSNOOP_ARG1,
1: + KSNOOP_ARG2,
1: + KSNOOP_ARG3,
1: + KSNOOP_ARG4,
1: + KSNOOP_ARG5,
1: + KSNOOP_RETURN
1: };
1:
1: /* we choose "return" as the name for the returned value because as
1: * a C keyword it can't clash with a function entry parameter.
1: */
1: -#define KSNOOP_RETURN_NAME "return"
1: +#define KSNOOP_RETURN_NAME "return"
1:
1: /* if we can't get a type id for a type (such as module-specific type)
1: * mark it as KSNOOP_ID_UNKNOWN since BTF lookup in bpf_snprintf_btf()
1: * will fail and the data will be simply displayed as a __u64.
1: */
1: -#define KSNOOP_ID_UNKNOWN 0xffffffff
1: -
1: -#define MAX_NAME 96
1: -#define MAX_STR 256
1: -#define MAX_PATH 512
1: -#define MAX_VALUES 6
1: -#define MAX_ARGS (MAX_VALUES - 1)
1: -#define KSNOOP_F_PTR 0x1 /* value is a pointer */
1: -#define KSNOOP_F_MEMBER 0x2 /* member reference */
1: -#define KSNOOP_F_ENTRY 0x4
1: -#define KSNOOP_F_RETURN 0x8
1: -#define KSNOOP_F_CUSTOM 0x10 /* custom trace */
1: -#define KSNOOP_F_STASH 0x20 /* store values on entry,
1: - * no perf events.
1: - */
1: -#define KSNOOP_F_STASHED 0x40 /* values stored on entry */
1: -
1: -#define KSNOOP_F_PREDICATE_EQ 0x100
1: -#define KSNOOP_F_PREDICATE_NOTEQ 0x200
1: -#define KSNOOP_F_PREDICATE_GT 0x400
1: -#define KSNOOP_F_PREDICATE_LT 0x800
1: -
1: -#define KSNOOP_F_PREDICATE_MASK (KSNOOP_F_PREDICATE_EQ | \
1: - KSNOOP_F_PREDICATE_NOTEQ | \
1: - KSNOOP_F_PREDICATE_GT | \
1: - KSNOOP_F_PREDICATE_LT)
1: +#define KSNOOP_ID_UNKNOWN 0xffffffff
1: +
1: +#define MAX_NAME 96
1: +#define MAX_STR 256
1: +#define MAX_PATH 512
1: +#define MAX_VALUES 6
1: +#define MAX_ARGS (MAX_VALUES - 1)
1: +#define KSNOOP_F_PTR 0x1 /* value is a pointer */
1: +#define KSNOOP_F_MEMBER 0x2 /* member reference */
1: +#define KSNOOP_F_ENTRY 0x4
1: +#define KSNOOP_F_RETURN 0x8
1: +#define KSNOOP_F_CUSTOM 0x10 /* custom trace */
1: +#define KSNOOP_F_STASH \
1: + 0x20 /* store values on entry, \
1: + * no perf events. \
1: + */
1: +#define KSNOOP_F_STASHED 0x40 /* values stored on entry */
1: +
1: +#define KSNOOP_F_PREDICATE_EQ 0x100
1: +#define KSNOOP_F_PREDICATE_NOTEQ 0x200
1: +#define KSNOOP_F_PREDICATE_GT 0x400
1: +#define KSNOOP_F_PREDICATE_LT 0x800
1: +
1: +#define KSNOOP_F_PREDICATE_MASK \
1: + (KSNOOP_F_PREDICATE_EQ | KSNOOP_F_PREDICATE_NOTEQ | KSNOOP_F_PREDICATE_GT | \
1: + KSNOOP_F_PREDICATE_LT)
1:
1: /* for kprobes, entry is function IP + sizeof(kprobe_opcode_t),
1: * subtract in BPF prog context to get fn address.
1: */
1: #ifdef __TARGET_ARCH_x86
1: -#define KSNOOP_IP_FIX(ip) (ip - sizeof(kprobe_opcode_t))
1: +#define KSNOOP_IP_FIX(ip) (ip - sizeof(kprobe_opcode_t))
1: #else
1: -#define KSNOOP_IP_FIX(ip) ip
1: +#define KSNOOP_IP_FIX(ip) ip
1: #endif
1:
1: struct value {
1: - char name[MAX_STR];
1: - enum arg base_arg;
1: - __u32 offset;
1: - __u32 size;
1: - __u64 type_id;
1: - __u64 flags;
1: - __u64 predicate_value;
1: + char name[MAX_STR];
1: + enum arg base_arg;
1: + __u32 offset;
1: + __u32 size;
1: + __u64 type_id;
1: + __u64 flags;
1: + __u64 predicate_value;
1: };
1:
1: struct func {
1: - char name[MAX_NAME];
1: - char mod[MAX_NAME];
1: - __s32 id;
1: - __u8 nr_args;
1: - __u64 ip;
1: - struct value args[MAX_VALUES];
1: + char name[MAX_NAME];
1: + char mod[MAX_NAME];
1: + __s32 id;
1: + __u8 nr_args;
1: + __u64 ip;
1: + struct value args[MAX_VALUES];
1: };
1:
1: #define MAX_TRACES MAX_VALUES
1:
1: -#define MAX_TRACE_DATA 2048
1: +#define MAX_TRACE_DATA 2048
1:
1: struct trace_data {
1: - __u64 raw_value;
1: - __u32 err_type_id; /* type id we can't dereference */
1: - int err;
1: - __u32 buf_offset;
1: - __u16 buf_len;
1: + __u64 raw_value;
1: + __u32 err_type_id; /* type id we can't dereference */
1: + int err;
1: + __u32 buf_offset;
1: + __u16 buf_len;
1: };
1:
1: -#define MAX_TRACE_BUF (MAX_TRACES * MAX_TRACE_DATA)
1: +#define MAX_TRACE_BUF (MAX_TRACES * MAX_TRACE_DATA)
1:
1: struct trace {
1: - /* initial values are readonly in tracing context */
1: - struct btf *btf;
1: - struct btf_dump *dump;
1: - struct func func;
1: - __u8 nr_traces;
1: - __u32 filter_pid;
1: - __u64 prev_ip; /* these are used in stack-mode tracing */
1: - __u64 next_ip;
1: - struct value traces[MAX_TRACES];
1: - __u64 flags;
1: - /* values below this point are set or modified in tracing context */
1: - __u64 task;
1: - __u32 pid;
1: - __u32 cpu;
1: - __u64 time;
1: - __u64 data_flags;
1: - struct trace_data trace_data[MAX_TRACES];
1: - __u16 buf_len;
1: - char buf[MAX_TRACE_BUF];
1: - char buf_end[0];
1: + /* initial values are readonly in tracing context */
1: + struct btf *btf;
1: + struct btf_dump *dump;
1: + struct func func;
1: + __u8 nr_traces;
1: + __u32 filter_pid;
1: + __u64 prev_ip; /* these are used in stack-mode tracing */
1: + __u64 next_ip;
1: + struct value traces[MAX_TRACES];
1: + __u64 flags;
1: + /* values below this point are set or modified in tracing context */
1: + __u64 task;
1: + __u32 pid;
1: + __u32 cpu;
1: + __u64 time;
1: + __u64 data_flags;
1: + struct trace_data trace_data[MAX_TRACES];
1: + __u16 buf_len;
1: + char buf[MAX_TRACE_BUF];
1: + char buf_end[0];
1: };
1:
1: -#define PAGES_DEFAULT 16
1: +#define PAGES_DEFAULT 16
1:
1: -static inline int base_arg_is_entry(enum arg base_arg)
1: -{
1: - return base_arg != KSNOOP_RETURN;
1: +static inline int base_arg_is_entry(enum arg base_arg) {
1: + return base_arg != KSNOOP_RETURN;
1: }
1: Ignoring changes in the following files (wrong extension):
1: libbpf-tools/Makefile
1: libbpf-tools/.gitignore
1: src/cc/libbpf
1: man/man8/ksnoop.8
1: Running clang-format on the following files:
1: libbpf-tools/ksnoop.h
1: libbpf-tools/ksnoop.bpf.c
1: libbpf-tools/ksnoop.c
1: old tree: 675c000024a766bd7b1c4f8b9469349951c8f924
1: new tree: eb52c045c2f9e27db855286351e9d24599b82fb0
1/47 Test #1: style-check ...................... Passed 1.40 sec
test 2
Start 2: c_test_static
2: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "c_test_static" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc/test_static"
2: Test timeout computed to be: 9.99988e+06
2: clang -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -coverage-file /usr/src/kernels/4.13.16-100.fc25.x86_64/main.c -nostdsysteminc -nobuiltininc -resource-dir ../lib64/clang/3.9.1 -isystem /virtual/lib/clang/include -include ./include/linux/kconfig.h -include /virtual/include/bcc/bpf.h -include /virtual/include/bcc/bpf_workaround.h -include /virtual/include/bcc/helpers.h -isystem /virtual/include -I /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc -D __BPF_TRACING__ -I arch/x86/include/ -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated -I include -I /lib/modules/4.13.16-100.fc25.x86_64/build/include -I arch/x86/include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated/uapi -I include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/include/generated/uapi -D __KERNEL__ -D KBUILD_MODNAME="bcc" -O2 -Wno-deprecated-declarations -Wno-gnu-variable-sized-type-not-at-end -Wno-pragma-once-outside-header -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-unused-value -Wno-pointer-sign -fdebug-compilation-dir /usr/src/kernels/4.13.16-100.fc25.x86_64 -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o main.bc -x c /virtual/main.c
2: #if defined(BPF_LICENSE)
2: #error BPF_LICENSE cannot be specified through cflags
2: #endif
2: #if !defined(CONFIG_CC_STACKPROTECTOR)
2: #if defined(CONFIG_CC_STACKPROTECTOR_AUTO) \
2: || defined(CONFIG_CC_STACKPROTECTOR_REGULAR) \
2: || defined(CONFIG_CC_STACKPROTECTOR_STRONG)
2: #define CONFIG_CC_STACKPROTECTOR
2: #endif
2: #endif
2: #define bpf_probe_read_kernel bpf_probe_read
2: #define bpf_probe_read_kernel_str bpf_probe_read_str
2: #define bpf_probe_read_user bpf_probe_read
2: #define bpf_probe_read_user_str bpf_probe_read_str
2: BPF_TABLE("array", int, int, stats, 10);
2:
2: #include <bcc/footer.h>
2: Running from kernel directory at: /lib/modules/4.13.16-100.fc25.x86_64/source
2/47 Test #2: c_test_static .................... Passed 1.15 sec
test 3
Start 3: test_libbcc
3: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "c_test_all" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/cc/test_libbcc"
3: Test timeout computed to be: 9.99988e+06
3: Parse error:
3: 4@i%ra+1r
3: -------^
3: unshare: failed to execute ruby: No such file or directory
3:
3: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3: test_libbcc is a Catch v1.4.0 host application.
3: Run with -? for options
3:
3: -------------------------------------------------------------------------------
3: test probing running Ruby process in namespaces
3: in separate mount namespace
3: -------------------------------------------------------------------------------
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/cc/test_usdt_probes.cc:352
3: ...............................................................................
3:
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/cc/test_usdt_probes.cc:367: FAILED:
3: REQUIRE( res.msg() == "" )
3: with expansion:
3: "Unable to load USDT ruby:gc__mark__begin from binary PID 6627 for probe
3: on_event"
3: ==
3: ""
3:
3: unshare: unrecognized option '--kill-child'
3:
3: Usage:
3: unshare [options] <program> [<argument>...]
3:
3: Run a program with some namespaces unshared from the parent.
3:
3: Options:
3: -m, --mount[=<file>] unshare mounts namespace
3: -u, --uts[=<file>] unshare UTS namespace (hostname etc)
3: -i, --ipc[=<file>] unshare System V IPC namespace
3: -n, --net[=<file>] unshare network namespace
3: -p, --pid[=<file>] unshare pid namespace
3: -U, --user[=<file>] unshare user namespace
3: -C, --cgroup[=<file>] unshare cgroup namespace
3: -f, --fork fork before launching <program>
3: --mount-proc[=<dir>] mount proc filesystem first (implies --mount)
3: -r, --map-root-user map current user to root (implies --user)
3: --propagation slave|shared|private|unchanged
3: modify mount propagation in mount namespace
3: -s, --setgroups allow|deny control the setgroups syscall in user namespaces
3:
3: -h, --help display this help and exit
3: -V, --version output version information and exit
3:
3: For more details see unshare(1).
3: -------------------------------------------------------------------------------
3: test probing running Ruby process in namespaces
3: in separate mount namespace and separate PID namespace
3: -------------------------------------------------------------------------------
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/cc/test_usdt_probes.cc:352
3: ...............................................................................
3:
3: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/cc/test_usdt_probes.cc:393: FAILED:
3: REQUIRE( res.msg() == "" )
3: with expansion:
3: "Unable to load USDT ruby:gc__mark__begin from binary PID 32754 for probe
3: on_event"
3: ==
3: ""
3:
3: ===============================================================================
3: test cases: 41 | 40 passed | 1 failed as expected
3: assertions: 665 | 663 passed | 2 failed as expected
3:
3/47 Test #3: test_libbcc ...................... Passed 14.55 sec
test 4
Start 4: py_test_stat1_b
4: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_stat1_b" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_stat1.py" "test_stat1.b" "proto.b"
4: Test timeout computed to be: 9.99988e+06
4: Actual changes:
4: tx-checksumming: off
4: tx-checksum-ip-generic: off
4: tx-checksum-sctp: off
4: tcp-segmentation-offload: off
4: tx-tcp-segmentation: off [requested on]
4: tx-tcp-ecn-segmentation: off [requested on]
4: tx-tcp-mangleid-segmentation: off [requested on]
4: tx-tcp6-segmentation: off [requested on]
4: udp-fragmentation-offload: off [requested on]
4: .PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
4: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4: --- 172.16.1.1 ping statistics ---
4: 100 packets transmitted, 100 received, 0% packet loss, time 1ms
4: rtt min/avg/max/mdev = 0.005/0.007/0.118/0.011 ms, ipg/ewma 0.018/0.006 ms
4: .
4: ----------------------------------------------------------------------
4: Ran 2 tests in 0.467s
4:
4: OK
4/47 Test #4: py_test_stat1_b .................. Passed 1.10 sec
test 5
Start 5: py_test_bpf_log
5: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_bpf_prog" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_bpf_log.py"
5: Test timeout computed to be: 9.99988e+06
5/47 Test #5: py_test_bpf_log .................. Passed 0.93 sec
test 6
Start 6: py_test_stat1_c
6: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_stat1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_stat1.py" "test_stat1.c"
6: Test timeout computed to be: 9.99988e+06
6: Actual changes:
6: tx-checksumming: off
6: tx-checksum-ip-generic: off
6: tx-checksum-sctp: off
6: tcp-segmentation-offload: off
6: tx-tcp-segmentation: off [requested on]
6: tx-tcp-ecn-segmentation: off [requested on]
6: tx-tcp-mangleid-segmentation: off [requested on]
6: tx-tcp6-segmentation: off [requested on]
6: udp-fragmentation-offload: off [requested on]
6: .PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
6: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6: --- 172.16.1.1 ping statistics ---
6: 100 packets transmitted, 100 received, 0% packet loss, time 1ms
6: rtt min/avg/max/mdev = 0.004/0.006/0.114/0.011 ms, ipg/ewma 0.016/0.006 ms
6: .
6: ----------------------------------------------------------------------
6: Ran 2 tests in 0.441s
6:
6: OK
6/47 Test #6: py_test_stat1_c .................. Passed 0.72 sec
test 7
Start 7: py_test_xlate1_c
7: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_xlate1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_xlate1.py" "test_xlate1.c"
7: Test timeout computed to be: 9.99988e+06
7: Actual changes:
7: tx-checksumming: off
7: tx-checksum-ip-generic: off
7: tx-checksum-sctp: off
7: tcp-segmentation-offload: off
7: tx-tcp-segmentation: off [requested on]
7: tx-tcp-ecn-segmentation: off [requested on]
7: tx-tcp-mangleid-segmentation: off [requested on]
7: tx-tcp6-segmentation: off [requested on]
7: udp-fragmentation-offload: off [requested on]
7: PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
7: 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.042 ms
7:
7: --- 192.168.1.1 ping statistics ---
7: 1 packets transmitted, 1 received, 0% packet loss, time 0ms
7: rtt min/avg/max/mdev = 0.042/0.042/0.042/0.000 ms
7: .
7: ----------------------------------------------------------------------
7: Ran 1 test in 0.425s
7:
7: OK
7/47 Test #7: py_test_xlate1_c ................. Passed 1.00 sec
test 8
Start 8: py_test_call1
8: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_call1_c" "namespace" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_call1.py" "test_call1.c"
8: Test timeout computed to be: 9.99988e+06
8: Actual changes:
8: tx-checksumming: off
8: tx-checksum-ip-generic: off
8: tx-checksum-sctp: off
8: tcp-segmentation-offload: off
8: tx-tcp-segmentation: off [requested on]
8: tx-tcp-ecn-segmentation: off [requested on]
8: tx-tcp-mangleid-segmentation: off [requested on]
8: tx-tcp6-segmentation: off [requested on]
8: udp-fragmentation-offload: off [requested on]
8: .
8: ----------------------------------------------------------------------
8: Ran 1 test in 0.259s
8:
8: OK
8/47 Test #8: py_test_call1 .................... Passed 0.82 sec
test 9
Start 9: py_test_trace1
9: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace1" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace1.py" "test_trace1.b" "kprobe.b"
9: Test timeout computed to be: 9.99988e+06
9: .
9: ----------------------------------------------------------------------
9: Ran 1 test in 0.308s
9:
9: OK
9: ('fd 8:', 'stat1 1', 'stat2 1')
9: ('fd ffff970ad366a800:', 'stat1 2', 'stat2 0')
9: ('fd 9:', 'stat1 200', 'stat2 100')
9: ('fd 7:', 'stat1 0', 'stat2 1')
9/47 Test #9: py_test_trace1 ................... Passed 0.45 sec
test 10
Start 10: py_test_trace2
10: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace2.py"
10: Test timeout computed to be: 9.99988e+06
10: .
10: ----------------------------------------------------------------------
10: Ran 1 test in 3.511s
10:
10: OK
10: ('ptr ffff970ad6a20000:', 'stat1 (0 1)')
10: ('ptr ffff970ad42dcc80:', 'stat1 (0 21)')
10: ('ptr ffff970ad6a4a640:', 'stat1 (0 1)')
10: ('ptr ffff970ad6a1cc80:', 'stat1 (0 3)')
10: ('ptr ffff970ad42da640:', 'stat1 (0 5)')
10: ('ptr ffff970ad3174c80:', 'stat1 (0 1)')
10: ('ptr ffffffffa6e10480:', 'stat1 (0 43)')
10: ('ptr ffff970ad41f2640:', 'stat1 (0 10)')
10: ('ptr ffff970ab7064c80:', 'stat1 (0 1)')
10: ('ptr ffff970ad3878000:', 'stat1 (0 101)')
10: ('ptr ffff970ad6442640:', 'stat1 (0 2)')
10: ('ptr ffff970ad6a24c80:', 'stat1 (0 101)')
10/47 Test #10: py_test_trace2 ................... Passed 3.61 sec
test 11
Start 11: py_test_trace3_c
11: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace3_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace3.py" "test_trace3.c"
11: Test timeout computed to be: 9.99988e+06
11: 1024+0 records in
11: 1024+0 records out
11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.00324179 s, 1.3 GB/s
11: 1024+0 records in
11: 1024+0 records out
11: 4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.00381327 s, 1.1 GB/s
11: ('latency 0:', 'count 0')
11: ('latency 1:', 'count 0')
11: ('latency 2:', 'count 0')
11: ('latency 3:', 'count 0')
11: ('latency 4:', 'count 0')
11: ('latency 5:', 'count 0')
11: ('latency 6:', 'count 0')
11: ('latency 7:', 'count 0')
11: ('latency 8:', 'count 0')
11: ('latency 9:', 'count 0')
11: ('latency 10:', 'count 0')
11: ('latency 11:', 'count 0')
11: ('latency 12:', 'count 0')
11: ('latency 13:', 'count 0')
11: ('latency 14:', 'count 0')
11: ('latency 15:', 'count 0')
11: ('latency 16:', 'count 0')
11: ('latency 17:', 'count 0')
11: ('latency 18:', 'count 0')
11: ('latency 19:', 'count 0')
11: ('latency 20:', 'count 0')
11: ('latency 21:', 'count 0')
11: ('latency 22:', 'count 0')
11: ('latency 23:', 'count 0')
11: ('latency 24:', 'count 0')
11: ('latency 25:', 'count 0')
11: ('latency 26:', 'count 0')
11: ('latency 27:', 'count 0')
11: ('latency 28:', 'count 0')
11: ('latency 29:', 'count 0')
11: ('latency 30:', 'count 0')
11: ('latency 31:', 'count 0')
11: ('latency 32:', 'count 0')
11: ('latency 33:', 'count 0')
11: ('latency 34:', 'count 0')
11: ('latency 35:', 'count 0')
11: ('latency 36:', 'count 0')
11: ('latency 37:', 'count 0')
11: ('latency 38:', 'count 0')
11: ('latency 39:', 'count 0')
11: ('latency 40:', 'count 0')
11: ('latency 41:', 'count 0')
11: ('latency 42:', 'count 0')
11: ('latency 43:', 'count 0')
11: ('latency 44:', 'count 0')
11: ('latency 45:', 'count 1')
11: ('latency 46:', 'count 1')
11: ('latency 47:', 'count 0')
11: ('latency 48:', 'count 2')
11: ('latency 49:', 'count 0')
11: ('latency 50:', 'count 0')
11: ('latency 51:', 'count 0')
11: ('latency 52:', 'count 0')
11: ('latency 53:', 'count 0')
11: ('latency 54:', 'count 0')
11: ('latency 55:', 'count 0')
11: ('latency 56:', 'count 0')
11: ('latency 57:', 'count 13')
11: ('latency 58:', 'count 2')
11: ('latency 59:', 'count 11')
11: ('latency 60:', 'count 3')
11: ('latency 61:', 'count 3')
11: ('latency 62:', 'count 11')
11: ('latency 63:', 'count 8')
11: ('latency 64:', 'count 3')
11: ('latency 65:', 'count 28')
11: ('latency 66:', 'count 31')
11: ('latency 67:', 'count 34')
11: ('latency 68:', 'count 50')
11: ('latency 69:', 'count 11')
11: ('latency 70:', 'count 35')
11: ('latency 71:', 'count 37')
11: ('latency 72:', 'count 20')
11: ('latency 73:', 'count 35')
11: ('latency 74:', 'count 12')
11: ('latency 75:', 'count 11')
11: ('latency 76:', 'count 10')
11: ('latency 77:', 'count 40')
11: ('latency 78:', 'count 21')
11: ('latency 79:', 'count 90')
11: ('latency 80:', 'count 13')
11: ('latency 81:', 'count 0')
11: ('latency 82:', 'count 0')
11: ('latency 83:', 'count 0')
11: ('latency 84:', 'count 0')
11: ('latency 85:', 'count 0')
11: ('latency 86:', 'count 0')
11: ('latency 87:', 'count 0')
11: ('latency 88:', 'count 0')
11: ('latency 89:', 'count 0')
11: ('latency 90:', 'count 0')
11: ('latency 91:', 'count 0')
11: ('latency 92:', 'count 0')
11: ('latency 93:', 'count 0')
11: ('latency 94:', 'count 0')
11: ('latency 95:', 'count 0')
11: ('latency 96:', 'count 0')
11: ('latency 97:', 'count 0')
11: ('latency 98:', 'count 0')
11: ('latency 99:', 'count 0')
11: .
11: ----------------------------------------------------------------------
11: Ran 1 test in 2.102s
11:
11: OK
11/47 Test #11: py_test_trace3_c ................. Passed 2.24 sec
test 12
Start 12: py_test_trace4
12: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace4" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace4.py"
12: Test timeout computed to be: 9.99988e+06
12: ..
12: ----------------------------------------------------------------------
12: Ran 2 tests in 1.336s
12:
12: OK
12/47 Test #12: py_test_trace4 ................... Passed 1.50 sec
test 13
Start 13: py_test_trace_maxactive
13: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_trace_maxactive" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_trace_maxactive.py"
13: Test timeout computed to be: 9.99988e+06
13: .
13: ----------------------------------------------------------------------
13: Ran 1 test in 0.845s
13:
13: OK
13/47 Test #13: py_test_trace_maxactive .......... Passed 0.97 sec
test 14
Start 14: py_test_probe_count
14: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_probe_count" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_probe_count.py"
14: Test timeout computed to be: 9.99988e+06
14: ...cannot attach kprobe, probe entry may not exist
14: ...
14: ----------------------------------------------------------------------
14: Ran 6 tests in 3.622s
14:
14: OK
14/47 Test #14: py_test_probe_count .............. Passed 3.69 sec
test 15
Start 15: py_test_debuginfo
15: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_debuginfo" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_debuginfo.py"
15: Test timeout computed to be: 9.99988e+06
15: ......
15: ----------------------------------------------------------------------
15: Ran 6 tests in 0.533s
15:
15: OK
15/47 Test #15: py_test_debuginfo ................ Passed 0.62 sec
test 16
Start 16: py_test_brb
16: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_brb_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_brb.py" "test_brb.c"
16: Test timeout computed to be: 9.99988e+06
16: net.ipv4.ip_forward = 1
16: ARPING 100.1.1.254 from 100.1.1.1 eth0
16: Unicast reply from 100.1.1.254 [4E:AB:43:59:32:D8] 0.725ms
16: Sent 1 probes (1 broadcast(s))
16: Received 1 response(s)
16: ARPING 200.1.1.254 from 200.1.1.1 eth0
16: Unicast reply from 200.1.1.254 [E6:D2:78:C8:12:B3] 1.099ms
16: Sent 1 probes (1 broadcast(s))
16: Received 1 response(s)
16: PING 200.1.1.1 (200.1.1.1) 56(84) bytes of data.
16: 64 bytes from 200.1.1.1: icmp_seq=1 ttl=63 time=0.105 ms
16: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.085 ms
16:
16: --- 200.1.1.1 ping statistics ---
16: 2 packets transmitted, 2 received, 0% packet loss, time 1039ms
16: rtt min/avg/max/mdev = 0.085/0.095/0.105/0.010 ms
16: [ ID] Interval Transfer Bandwidth
16: [ 9] 0.0- 1.0 sec 2.47 GBytes 21.2 Gbits/sec
16: [ ID] Interval Transfer Bandwidth
16: [ 10] 0.0- 1.0 sec 2.47 GBytes 21.1 Gbits/sec
16: Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC
16: MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET
16: Recv Send Send
16: Socket Socket Message Elapsed
16: Size Size Size Time Throughput
16: bytes bytes bytes secs. 10^6bits/sec
16:
16: 87380 16384 65160 1.00 24562.58
16: MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET : first burst 0
16: Local /Remote
16: Socket Size Request Resp. Elapsed Trans.
16: Send Recv Size Size Time Rate
16: bytes Bytes bytes bytes secs. per sec
16:
16: 16384 87380 1 1 1.00 27127.13
16: 16384 87380
16: .
16: ----------------------------------------------------------------------
16: Ran 1 test in 7.217s
16:
16: OK
16/47 Test #16: py_test_brb ...................... Passed 7.43 sec
test 17
Start 17: py_test_brb2
17: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_brb2_c" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_brb2.py" "test_brb2.c"
17: Test timeout computed to be: 9.99988e+06
17: net.ipv4.ip_forward = 1
17: PING 200.1.1.1 (200.1.1.1) 56(84) bytes of data.
17: 64 bytes from 200.1.1.1: icmp_seq=1 ttl=63 time=0.311 ms
17: 64 bytes from 200.1.1.1: icmp_seq=2 ttl=63 time=0.089 ms
17:
17: --- 200.1.1.1 ping statistics ---
17: 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
17: rtt min/avg/max/mdev = 0.089/0.200/0.311/0.111 ms
17: [ ID] Interval Transfer Bandwidth
17: [ 9] 0.0- 1.0 sec 2.33 GBytes 20.0 Gbits/sec
17: [ ID] Interval Transfer Bandwidth
17: [ 10] 0.0- 1.0 sec 2.33 GBytes 19.9 Gbits/sec
17: Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC
17: MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET
17: Recv Send Send
17: Socket Socket Message Elapsed
17: Size Size Size Time Throughput
17: bytes bytes bytes secs. 10^6bits/sec
17:
17: 87380 16384 65160 1.00 23944.49
17: MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 200.1.1.1 () port 0 AF_INET : first burst 0
17: Local /Remote
17: Socket Size Request Resp. Elapsed Trans.
17: Send Recv Size Size Time Rate
17: bytes Bytes bytes bytes secs. per sec
17:
17: 16384 87380 1 1 1.00 26297.00
17: 16384 87380
17: .
17: ----------------------------------------------------------------------
17: Ran 1 test in 7.347s
17:
17: OK
17/47 Test #17: py_test_brb2 ..................... Passed 7.48 sec
test 18
Start 18: py_test_clang
18: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_clang" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_clang.py"
18: Test timeout computed to be: 9.99988e+06
18: .............In file included from /virtual/main.c:3:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ./virtual/main.c:2:1: error: field has incomplete type 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: /virtual/include/bcc/helpers.h:257:48: note: expanded from macro 'BPF_HASH'
18: BPF_HASHX(__VA_ARGS__, BPF_HASH4, BPF_HASH3, BPF_HASH2, BPF_HASH1)(__VA_ARGS__)
18: ^
18: /virtual/main.c:2:24: note: forward declaration of 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: /virtual/main.c:2:1: error: field has incomplete type 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: /virtual/include/bcc/helpers.h:257:48: note: expanded from macro 'BPF_HASH'
18: BPF_HASHX(__VA_ARGS__, BPF_HASH4, BPF_HASH3, BPF_HASH2, BPF_HASH1)(__VA_ARGS__)
18: ^
18: /virtual/main.c:2:24: note: forward declaration of 'struct key_t'
18: BPF_HASH(drops, struct key_t);
18: ^
18: 2 errors generated.
18: ../virtual/main.c:6:12: error: cannot call non-static helper function
18: return bar();
18: ^
18: 1 error generated.
18: ..ss....In file included from /virtual/main.c:3:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ...In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .........In file included from /virtual/main.c:2:
18: In file included from include/net/tcp.h:24:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/tcp.h:24:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .......In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ..In file included from /virtual/main.c:3:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ...In file included from /virtual/main.c:3:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/inet_sock.h:27:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ../virtual/main.c:7:12: warning: incompatible pointer to integer conversion returning 'u32 *' (aka 'unsigned int *') from a function with result type 'int' [-Wint-conversion]
18: return *(&skp->sk_daddr);
18: ^~~~~~~~~~~~~~~~~
18: 1 warning generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:3:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ...In file included from /virtual/main.c:2:
18: In file included from include/net/tcp.h:24:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: .In file included from /virtual/main.c:2:
18: In file included from include/net/tcp.h:24:
18: In file included from include/linux/tcp.h:23:
18: In file included from include/net/sock.h:58:
18: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(pn->memcg, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: __mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
18: mod_memcg_state(page->mem_cgroup, idx, val);
18: ~~~~~~~~~~~~~~~ ^~~
18: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
18: count_memcg_events(page->mem_cgroup, idx, 1);
18: ~~~~~~~~~~~~~~~~~~ ^~~
18: 5 warnings generated.
18: ........./virtual/main.c:1:30: error: expected expression
18: int failure(void *ctx) { if (); return 0; }
18: ^
18: 1 error generated.
18: ../virtual/main.c:3:73: error: too many arguments, bcc only supports in-register parameters
18: int many(struct pt_regs *ctx, int a, int b, int c, int d, int e, int f, int g) {
18: ^
18: 1 error generated.
18: ....
18: ----------------------------------------------------------------------
18: Ran 83 tests in 93.219s
18:
18: OK (skipped=2)
18: 0
18/47 Test #18: py_test_clang .................... Passed 93.50 sec
test 19
Start 19: py_test_histogram
19: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_histogram" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_histogram.py"
19: Test timeout computed to be: 9.99988e+06
19: ....
19: ----------------------------------------------------------------------
19: Ran 4 tests in 3.673s
19:
19: OK
19:
19: Bucket ptr = 'java'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 52 |****************************************|
19:
19: Bucket ptr = 'python'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 200 |****************************************|
19:
19: Bucket ptr = 'rcu_sched'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 6 |****************************************|
19:
19: Bucket ptr = 'swapper/0'
19: value : count distribution
19: 0 -> 1 : 80 |****************************************|
19:
19: Bucket ptr = 'kworker/0:9'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 2 |****************************************|
19:
19: Bucket ptr = 'kworker/1:6'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 2 |****************************************|
19:
19: Bucket ptr = 'ctest'
19: value : count distribution
19: 0 -> 1 : 0 | |
19: 2 -> 3 : 20 |****************************************|
19:
19: Bucket ptr = 'swapper/1'
19: value : count distribution
19: 0 -> 1 : 202 |****************************************|
19/47 Test #19: py_test_histogram ................ Passed 3.75 sec
test 20
Start 20: py_array
20: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_array" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_array.py"
20: Test timeout computed to be: 9.99988e+06
20: ....
20: ----------------------------------------------------------------------
20: Ran 4 tests in 1.342s
20:
20: OK
20/47 Test #20: py_array ......................... Passed 1.42 sec
test 21
Start 21: py_uprobes
21: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_uprobes" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_uprobes.py"
21: Test timeout computed to be: 9.99988e+06
21: .Python 2.7.13
21: .Arena 0:
21: system bytes = 24768512
21: in use bytes = 3044832
21: Total (incl. mmap):
21: system bytes = 25559040
21: in use bytes = 3835360
21: max mmap regions = 7
21: max mmap bytes = 9203712
21: .
21: ----------------------------------------------------------------------
21: Ran 3 tests in 8.594s
21:
21: OK
21/47 Test #21: py_uprobes ....................... Passed 8.67 sec
test 22
Start 22: py_uprobes_2
22: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_uprobes2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_uprobes2.py"
22: Test timeout computed to be: 9.99988e+06
22: .
22: ----------------------------------------------------------------------
22: Ran 1 test in 0.253s
22:
22: OK
22/47 Test #22: py_uprobes_2 ..................... Passed 0.34 sec
test 23
Start 23: py_test_stackid
23: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_stackid" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_stackid.py"
23: Test timeout computed to be: 9.99988e+06
23: s.
23: ----------------------------------------------------------------------
23: Ran 2 tests in 0.306s
23:
23: OK (skipped=1)
23/47 Test #23: py_test_stackid .................. Passed 0.42 sec
test 24
Start 24: py_test_tracepoint
24: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_tracepoint" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_tracepoint.py"
24: Test timeout computed to be: 9.99988e+06
24: ..
24: ----------------------------------------------------------------------
24: Ran 2 tests in 2.440s
24:
24: OK
24/47 Test #24: py_test_tracepoint ............... Passed 2.54 sec
test 25
Start 25: py_test_perf_event
25: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_perf_event" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_perf_event.py"
25: Test timeout computed to be: 9.99988e+06
25: perf_event_open: No such file or directory
25: s
25: ----------------------------------------------------------------------
25: Ran 1 test in 0.298s
25:
25: OK (skipped=1)
25/47 Test #25: py_test_perf_event ............... Passed 0.42 sec
test 26
Start 26: py_test_attach_perf_event
26: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_attach_perf_event" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_attach_perf_event.py"
26: Test timeout computed to be: 9.99988e+06
26: perf_event_open failed: No such file or directory
26: CRITICAL:root:WARNING! Test test_attach_raw_event_powerpc (__main__.TestPerfAttachRaw) failed, but marked as passed because it is decorated with @mayFail.
26: CRITICAL:root: The reason why this mayFail was: This fails on github actions environment, hw perf events are not supported
26: CRITICAL:root: The failure was: "None"
26: CRITICAL:root: Stacktrace: "Traceback (most recent call last):
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/utils.py", line 36, in wrapper
26: res = func(*args, **kwargs)
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_attach_perf_event.py", line 62, in test_attach_raw_event_powerpc
26: exit()
26: File "/usr/lib64/python2.7/site.py", line 355, in __call__
26: raise SystemExit(code)
26: SystemExit: None
26: "
26: .CRITICAL:root:WARNING! Test test_attach_raw_event_x86 (__main__.TestPerfAttachRaw) failed, but marked as passed because it is decorated with @mayFail.
26: CRITICAL:root: The reason why this mayFail was: This fails on github actions environment, hw perf events are not supported
26: CRITICAL:root: The failure was: "bpf_perf_event_data->addr requires kernel >= 4.17"
26: CRITICAL:root: Stacktrace: "Traceback (most recent call last):
26: File "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/utils.py", line 36, in wrapper
26: res = func(*args, **kwargs)
26: File "/usr/lib64/python2.7/unittest/case.py", line 63, in skip_wrapper
26: raise SkipTest(reason)
26: SkipTest: bpf_perf_event_data->addr requires kernel >= 4.17
26: "
26: .s
26: ----------------------------------------------------------------------
26: Ran 3 tests in 1.796s
26:
26: OK (skipped=1)
26: Failed to attach to a raw event. Please check the event attr used
26/47 Test #26: py_test_attach_perf_event ........ Passed 1.88 sec
test 27
Start 27: py_test_utils
27: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_utils" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_utils.py"
27: Test timeout computed to be: 9.99988e+06
27: ..
27: ----------------------------------------------------------------------
27: Ran 2 tests in 0.001s
27:
27: OK
27/47 Test #27: py_test_utils .................... Passed 0.07 sec
test 28
Start 28: py_test_percpu
28: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_percpu" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_percpu.py"
28: Test timeout computed to be: 9.99988e+06
28: ....
28: ----------------------------------------------------------------------
28: Ran 4 tests in 2.560s
28:
28: OK
28/47 Test #28: py_test_percpu ................... Passed 2.64 sec
test 29
Start 29: py_test_dump_func
29: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_dump_func" "simple" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_dump_func.py"
29: Test timeout computed to be: 9.99988e+06
29: .
29: ----------------------------------------------------------------------
29: Ran 1 test in 0.143s
29:
29: OK
29/47 Test #29: py_test_dump_func ................ Passed 0.21 sec
test 30
Start 30: py_test_disassembler
30: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_disassembler" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_disassembler.py"
30: Test timeout computed to be: 9.99988e+06
30: ..
30: ----------------------------------------------------------------------
30: Ran 2 tests in 0.216s
30:
30: OK
30/47 Test #30: py_test_disassembler ............. Passed 0.29 sec
test 31
Start 31: py_test_tools_smoke
31: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_tools_smoke" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_tools_smoke.py"
31: Test timeout computed to be: 9.99988e+06
31: Traceback (most recent call last):
31: File "../../tools/argdist.py", line 708, in run
31: self._main_loop()
31: File "../../tools/argdist.py", line 698, in _main_loop
31: exit()
31: File "/usr/lib64/python2.7/site.py", line 355, in __call__
31: raise SystemExit(code)
31: SystemExit: None
31: ..In file included from /virtual/main.c:17:
31: In file included from include/net/sock.h:58:
31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
31: count_memcg_events(page->mem_cgroup, idx, 1);
31: ~~~~~~~~~~~~~~~~~~ ^~~
31: 5 warnings generated.
31: ...'unknown': unknown terminal type.
31: .'unknown': unknown terminal type.
31: 'unknown': unknown terminal type.
31: 'unknown': unknown terminal type.
31: 'unknown': unknown terminal type.
31: .......s.............'unknown': unknown terminal type.
31: ....../bin/sh: line 1: 7328 Killed timeout -s KILL -k 5s 5s ../../tools/killsnoop.py > /dev/null
31: .s..........libbpf: failed to find valid kernel BTF
31: libbpf: vmlinux BTF is not found
31: ......'unknown': unknown terminal type.
31: .In file included from /virtual/main.c:6:
31: In file included from include/net/sock.h:58:
31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
31: count_memcg_events(page->mem_cgroup, idx, 1);
31: ~~~~~~~~~~~~~~~~~~ ^~~
31: 5 warnings generated.
31: ........In file included from /virtual/main.c:15:
31: In file included from include/net/sock.h:58:
31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
31: count_memcg_events(page->mem_cgroup, idx, 1);
31: ~~~~~~~~~~~~~~~~~~ ^~~
31: 5 warnings generated.
31: .In file included from /virtual/main.c:15:
31: In file included from include/net/sock.h:58:
31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
31: count_memcg_events(page->mem_cgroup, idx, 1);
31: ~~~~~~~~~~~~~~~~~~ ^~~
31: 5 warnings generated.
31: .In file included from /virtual/main.c:3:
31: In file included from include/net/sock.h:58:
31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
31: count_memcg_events(page->mem_cgroup, idx, 1);
31: ~~~~~~~~~~~~~~~~~~ ^~~
31: 5 warnings generated.
31: .In file included from /virtual/main.c:5:
31: In file included from include/net/sock.h:58:
31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
31: count_memcg_events(page->mem_cgroup, idx, 1);
31: ~~~~~~~~~~~~~~~~~~ ^~~
31: 5 warnings generated.
31: .In file included from /virtual/main.c:3:
31: In file included from include/linux/tcp.h:23:
31: In file included from include/net/sock.h:58:
31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
31: count_memcg_events(page->mem_cgroup, idx, 1);
31: ~~~~~~~~~~~~~~~~~~ ^~~
31: 5 warnings generated.
31: .In file included from /virtual/main.c:3:
31: In file included from include/net/sock.h:58:
31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
31: count_memcg_events(page->mem_cgroup, idx, 1);
31: ~~~~~~~~~~~~~~~~~~ ^~~
31: 5 warnings generated.
31: .In file included from /virtual/main.c:15:
31: In file included from include/net/sock.h:58:
31: include/linux/memcontrol.h:580:31: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:593:29: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(pn->memcg, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:605:38: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: __mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:618:36: warning: implicit conversion from enumeration type 'enum node_stat_item' to different enumeration type 'enum memcg_stat_item' [-Wenum-conversion]
31: mod_memcg_state(page->mem_cgroup, idx, val);
31: ~~~~~~~~~~~~~~~ ^~~
31: include/linux/memcontrol.h:639:40: warning: implicit conversion from enumeration type 'enum memcg_stat_item' to different enumeration type 'enum vm_event_item' [-Wenum-conversion]
31: count_memcg_events(page->mem_cgroup, idx, 1);
31: ~~~~~~~~~~~~~~~~~~ ^~~
31: 5 warnings generated.
31: 'unknown': unknown terminal type.
31: ...'unknown': unknown terminal type.
31: .....'unknown': unknown terminal type.
31: ...libbpf: failed to find valid kernel BTF
31: libbpf: vmlinux BTF is not found
31: ......
31: ----------------------------------------------------------------------
31: Ran 83 tests in 268.496s
31:
31: OK (skipped=2)
31/47 Test #31: py_test_tools_smoke .............. Passed 268.55 sec
test 32
Start 32: py_test_tools_memleak
32: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_tools_memleak" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_tools_memleak.py"
32: Test timeout computed to be: 9.99988e+06
32: cannot attach uprobe, Device or resource busy
32: .cannot attach uprobe, Device or resource busy
32: .cannot attach uprobe, Device or resource busy
32: .cannot attach uprobe, Device or resource busy
32: .cannot attach uprobe, Device or resource busy
32: .cannot attach uprobe, Device or resource busy
32: .cannot attach uprobe, Device or resource busy
32: .cannot attach uprobe, Device or resource busy
32: .
32: ----------------------------------------------------------------------
32: Ran 8 tests in 21.988s
32:
32: OK
32/47 Test #32: py_test_tools_memleak ............ Passed 22.05 sec
test 33
Start 33: py_test_usdt
33: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_usdt" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_usdt.py"
33: Test timeout computed to be: 9.99988e+06
33: <stdin>:23:17: warning: null character(s) preserved in literal
33: <stdin>:28:17: warning: null character(s) preserved in literal
33: clang -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.c -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -coverage-file /usr/src/kernels/4.13.16-100.fc25.x86_64/main.c -nostdsysteminc -nobuiltininc -resource-dir ../lib64/clang/3.9.1 -isystem /virtual/lib/clang/include -include ./include/linux/kconfig.h -include /virtual/include/bcc/bpf.h -include /virtual/include/bcc/bpf_workaround.h -include /virtual/include/bcc/helpers.h -isystem /virtual/include -I /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python -D __BPF_TRACING__ -I arch/x86/include/ -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated -I include -I /lib/modules/4.13.16-100.fc25.x86_64/build/include -I arch/x86/include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/arch/x86/include/generated/uapi -I include/uapi -I /lib/modules/4.13.16-100.fc25.x86_64/build/include/generated/uapi -D __KERNEL__ -D KBUILD_MODNAME="bcc" -O2 -Wno-deprecated-declarations -Wno-gnu-variable-sized-type-not-at-end -Wno-pragma-once-outside-header -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-unused-value -Wno-pointer-sign -fdebug-compilation-dir /usr/src/kernels/4.13.16-100.fc25.x86_64 -ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fdiagnostics-show-option -vectorize-loops -vectorize-slp -o main.bc -x c /virtual/main.c
33: #if defined(BPF_LICENSE)
33: #error BPF_LICENSE cannot be specified through cflags
33: #endif
33: #if !defined(CONFIG_CC_STACKPROTECTOR)
33: #if defined(CONFIG_CC_STACKPROTECTOR_AUTO) \
33: || defined(CONFIG_CC_STACKPROTECTOR_REGULAR) \
33: || defined(CONFIG_CC_STACKPROTECTOR_STRONG)
33: #define CONFIG_CC_STACKPROTECTOR
33: #endif
33: #endif
33: #define bpf_probe_read_kernel bpf_probe_read
33: #define bpf_probe_read_kernel_str bpf_probe_read_str
33: #define bpf_probe_read_user bpf_probe_read
33: #define bpf_probe_read_user_str bpf_probe_read_str
33: #include <uapi/linux/ptrace.h>
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace1_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int8_t)) return -1;
33: switch(PT_REGS_IP(ctx)) {
33: case 0x400697ULL: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
33: case 0x4006a0ULL: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
33: }
33: return -1;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace1_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int32_t)) return -1;
33: switch(PT_REGS_IP(ctx)) {
33: case 0x400697ULL: { u64 __addr = ctx->bp + -24; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
33: case 0x4006a0ULL: { u64 __addr = ctx->bp + -20; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
33: }
33: return -1;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace3_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int32_t)) return -1;
33: switch(PT_REGS_IP(ctx)) {
33: case 0x400698ULL: { u64 __addr = ctx->bp + -20; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
33: case 0x4006b7ULL: *((int32_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory"); return 0;
33: }
33: return -1;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace3_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int32_t)) return -1;
33: switch(PT_REGS_IP(ctx)) {
33: case 0x400698ULL: { u64 __addr = ctx->bp + -24; __asm__ __volatile__("": : :"memory"); int32_t __res = 0x0; bpf_probe_read_user(&__res, sizeof(__res), (void *)__addr); *((int32_t *)dest) = __res; } return 0;
33: case 0x4006b7ULL: *((int32_t *)dest) = ctx->dx; __asm__ __volatile__("": : :"memory"); return 0;
33: }
33: return -1;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace2_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int32_t)) return -1;
33: *((int32_t *)dest) = 5;
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace2_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int8_t)) return -1;
33: *((int8_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace4_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int64_t)) return -1;
33: *((int64_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace4_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int64_t)) return -1;
33: *((int64_t *)dest) = ctx->dx; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace5_1(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int64_t)) return -1;
33: *((int64_t *)dest) = ctx->dx; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33: __attribute__((always_inline))
33: static __always_inline int _bpf_readarg_do_trace5_2(struct pt_regs *ctx, void *dest, size_t len) {
33: if (len != sizeof(int64_t)) return -1;
33: *((int64_t *)dest) = ctx->ax; __asm__ __volatile__("": : :"memory");
33: return 0;
33: }
33:
33: #include <linux/blkdev.h>
33: #include <uapi/linux/ptrace.h>
33:
33: struct probe_result_t1 {
33: char v1;
33: int v2;
33: };
33:
33: struct probe_result_t2 {
33: int v1;
33: char v2;
33: };
33:
33: struct probe_result_t3 {
33: int v1;
33: int v2;
33: };
33:
33: struct probe_result_t4 {
33: u64 v1;
33: char v2[8];
33: };
33:
33: struct probe_result_t5 {
33: char v1[8];
33: u64 v2;
33: };
33:
33: BPF_PERF_OUTPUT(event1);
33: BPF_PERF_OUTPUT(event2);
33: BPF_PERF_OUTPUT(event3);
33: BPF_PERF_OUTPUT(event4);
33: BPF_PERF_OUTPUT(event5);
33:
33: __attribute__((section(".bpf.fn.do_trace1")))
33: int do_trace1(struct pt_regs *ctx) {
33:
33: struct probe_result_t1 result = {};
33: _bpf_readarg_do_trace1_1(ctx, &result.v1, sizeof(*(&result.v1)));
33: _bpf_readarg_do_trace1_2(ctx, &result.v2, sizeof(*(&result.v2)));
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -1), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: };
33: __attribute__((section(".bpf.fn.do_trace2")))
33: int do_trace2(struct pt_regs *ctx) {
33:
33: struct probe_result_t2 result = {};
33: _bpf_readarg_do_trace2_1(ctx, &result.v1, sizeof(*(&result.v1)));
33: _bpf_readarg_do_trace2_2(ctx, &result.v2, sizeof(*(&result.v2)));
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -2), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: }
33: __attribute__((section(".bpf.fn.do_trace3")))
33: int do_trace3(struct pt_regs *ctx) {
33:
33: struct probe_result_t3 result = {};
33: _bpf_readarg_do_trace3_1(ctx, &result.v1, sizeof(*(&result.v1)));
33: _bpf_readarg_do_trace3_2(ctx, &result.v2, sizeof(*(&result.v2)));
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -3), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: }
33: __attribute__((section(".bpf.fn.do_trace4")))
33: int do_trace4(struct pt_regs *ctx) {
33:
33: struct probe_result_t4 result = {};
33: _bpf_readarg_do_trace4_1(ctx, &result.v1, sizeof(*(&result.v1)));
33: ({ u64 __addr = 0x0; _bpf_readarg_do_trace4_2(ctx, &__addr, sizeof(__addr));bpf_probe_read(&result.v2, sizeof(result.v2), (void *)__addr);});
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -4), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: }
33: __attribute__((section(".bpf.fn.do_trace5")))
33: int do_trace5(struct pt_regs *ctx) {
33:
33: struct probe_result_t5 result = {};
33: ({ u64 __addr = 0x0; _bpf_readarg_do_trace5_1(ctx, &__addr, sizeof(__addr));bpf_probe_read(&result.v1, sizeof(result.v1), (void *)__addr);});
33: _bpf_readarg_do_trace5_2(ctx, &result.v2, sizeof(*(&result.v2)));
33: bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -5), CUR_CPU_IDENTIFIER, &result, sizeof(result));
33: return 0;
33: }
33:
33: #include <bcc/footer.h>
33: .
33: ----------------------------------------------------------------------
33: Ran 1 test in 3.053s
33:
33: OK
33: Running from kernel directory at: /lib/modules/4.13.16-100.fc25.x86_64/source
33: str4
33: str5
33: str7
33: str6
33/47 Test #33: py_test_usdt ..................... Passed 3.29 sec
test 34
Start 34: py_test_usdt2
34: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_usdt2" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_usdt2.py"
34: Test timeout computed to be: 9.99988e+06
34: .
34: ----------------------------------------------------------------------
34: Ran 1 test in 3.050s
34:
34: OK
34/47 Test #34: py_test_usdt2 .................... Passed 3.20 sec
test 35
Start 35: py_test_usdt3
35: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_usdt3" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_usdt3.py"
35: Test timeout computed to be: 9.99988e+06
35: test:probe [sema 0x0]
35: location #1 /proc/7563/root/tmp/tmp0oXfkS/liba.so 0x657
35: argument #1 4 signed bytes @ *(bp - 4)
35: location #2 /proc/7563/root/tmp/tmp0oXfkS/libb.so 0x657
35: argument #1 4 signed bytes @ *(bp - 4)
35: location #3 /proc/7563/root/tmp/tmp0oXfkS/a.out 0x40070d
35: argument #1 4 signed bytes @ *(bp - 4)
35: test_dup_name:probe [sema 0x0]
35: location #1 /proc/7563/root/tmp/tmp0oXfkS/liba.so 0x658
35: argument #1 4 signed bytes @ *(bp - 4)
35: location #2 /proc/7563/root/tmp/tmp0oXfkS/libb.so 0x658
35: argument #1 4 signed bytes @ *(bp - 4)
35: location #3 /proc/7563/root/tmp/tmp0oXfkS/a.out 0x40070e
35: argument #1 4 signed bytes @ *(bp - 4)
35: libc:setjmp [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x35651
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ ax
35: libc:longjmp [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x35733
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ dx
35: location #2 /proc/7563/root/usr/lib64/libc-2.24.so 0x119fd3
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ dx
35: libc:longjmp_target [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x3574f
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ ax
35: argument #3 8 unsigned bytes @ dx
35: location #2 /proc/7563/root/usr/lib64/libc-2.24.so 0x119fef
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ ax
35: argument #3 8 unsigned bytes @ dx
35: libc:memory_heap_new [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x7fde8
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ bp
35: libc:memory_arena_reuse_free_list [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8013c
35: argument #1 8 unsigned bytes @ dx
35: libc:memory_sbrk_less [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8033e
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 signed bytes @ r12
35: libc:memory_arena_reuse_wait [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8042c
35: argument #1 8 unsigned bytes @ r8
35: argument #2 8 unsigned bytes @ r8
35: argument #3 8 unsigned bytes @ bx
35: libc:memory_arena_reuse [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8055c
35: argument #1 8 unsigned bytes @ dx
35: argument #2 8 unsigned bytes @ bx
35: libc:memory_arena_new [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x807d8
35: argument #1 8 unsigned bytes @ dx
35: argument #2 8 unsigned bytes @ bp
35: libc:memory_arena_retry [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x809d9
35: argument #1 8 unsigned bytes @ si
35: argument #2 8 unsigned bytes @ di
35: libc:memory_heap_free [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8272c
35: argument #1 8 unsigned bytes @ di
35: argument #2 8 unsigned bytes @ ax
35: libc:memory_heap_less [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x82902
35: argument #1 8 unsigned bytes @ r15
35: argument #2 8 unsigned bytes @ r10
35: libc:memory_heap_more [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x834c5
35: argument #1 8 unsigned bytes @ r8
35: argument #2 8 unsigned bytes @ cx
35: libc:memory_sbrk_more [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x837a7
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 signed bytes @ dx
35: libc:memory_malloc_retry [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x85fb8
35: argument #1 8 unsigned bytes @ bp
35: location #2 /proc/7563/root/usr/lib64/libc-2.24.so 0x87748
35: argument #1 8 unsigned bytes @ bp
35: libc:memory_mallopt_free_dyn_thresholds [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x862e1
35: argument #1 8 unsigned bytes @ ax
35: argument #2 8 unsigned bytes @ cx
35: libc:memory_realloc_retry [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x86740
35: argument #1 8 unsigned bytes @ r12
35: argument #2 8 unsigned bytes @ bp
35: location #2 /proc/7563/root/usr/lib64/libc-2.24.so 0x87ae0
35: argument #1 8 unsigned bytes @ r12
35: argument #2 8 unsigned bytes @ bp
35: libc:memory_memalign_retry [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x869e8
35: argument #1 8 unsigned bytes @ r12
35: argument #2 8 unsigned bytes @ bx
35: location #2 /proc/7563/root/usr/lib64/libc-2.24.so 0x87da8
35: argument #1 8 unsigned bytes @ r12
35: argument #2 8 unsigned bytes @ bx
35: location #3 /proc/7563/root/usr/lib64/libc-2.24.so 0x88060
35: argument #1 8 unsigned bytes @ r12
35: argument #2 8 unsigned bytes @ bx
35: location #4 /proc/7563/root/usr/lib64/libc-2.24.so 0x88330
35: argument #1 8 unsigned bytes @ r12
35: argument #2 8 unsigned bytes @ bx
35: location #5 /proc/7563/root/usr/lib64/libc-2.24.so 0x890c8
35: argument #1 8 unsigned bytes @ bx
35: argument #2 8 unsigned bytes @ r12
35: libc:memory_calloc_retry [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x86cf0
35: argument #1 8 unsigned bytes @ r12
35: libc:memory_mallopt [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x870a4
35: argument #1 4 signed bytes @ bp
35: argument #2 4 signed bytes @ bx
35: libc:memory_mallopt_mxfast [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x870d2
35: argument #1 4 signed bytes @ bx
35: argument #2 8 unsigned bytes @ *(&global_max_fast + 0)
35: libc:memory_mallopt_arena_max [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x87100
35: argument #1 4 signed bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 32)
35: libc:memory_mallopt_arena_test [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x87159
35: argument #1 4 signed bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 24)
35: libc:memory_mallopt_mmap_max [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x87168
35: argument #1 4 signed bytes @ bx
35: argument #2 4 signed bytes @ *(&mp_ + 44)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: libc:memory_mallopt_mmap_threshold [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x8718a
35: argument #1 4 signed bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 16)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: libc:memory_mallopt_top_pad [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x871b0
35: argument #1 4 signed bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 8)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: libc:memory_mallopt_trim_threshold [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x871d0
35: argument #1 4 signed bytes @ bx
35: argument #2 8 unsigned bytes @ *(&mp_ + 0)
35: argument #3 4 signed bytes @ *(&mp_ + 52)
35: libc:memory_mallopt_perturb [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x871f0
35: argument #1 4 signed bytes @ bx
35: argument #2 4 signed bytes @ *(&perturb_byte + 0)
35: libc:memory_mallopt_check_action [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x87208
35: argument #1 4 signed bytes @ bx
35: argument #2 4 signed bytes @ *(&check_action + 0)
35: libc:lll_lock_wait_private [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/libc-2.24.so 0x115e44
35: argument #1 8 unsigned bytes @ di
35: rtld:init_start [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x38b7
35: argument #1 4 signed bytes @ 0
35: argument #2 8 unsigned bytes @ bx
35: rtld:init_complete [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x40e9
35: argument #1 4 signed bytes @ 0
35: argument #2 8 unsigned bytes @ bx
35: rtld:map_failed [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x5836
35: argument #1 8 signed bytes @ *(sp + 72)
35: argument #2 8 unsigned bytes @ bp
35: rtld:map_start [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x67aa
35: argument #1 8 signed bytes @ *(bp + 40)
35: argument #2 8 unsigned bytes @ bx
35: rtld:map_complete [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x15c67
35: argument #1 8 signed bytes @ *(r15 + 40)
35: argument #2 8 unsigned bytes @ bx
35: argument #3 8 unsigned bytes @ *(bp - 104)
35: rtld:reloc_complete [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x15e31
35: argument #1 8 signed bytes @ *(ax + 40)
35: argument #2 8 unsigned bytes @ *(bp - 120)
35: argument #3 8 unsigned bytes @ *(bp - 104)
35: rtld:reloc_start [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x15fe6
35: argument #1 8 signed bytes @ *(cx + 40)
35: argument #2 8 unsigned bytes @ *(bp - 120)
35: rtld:unmap_start [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x16c2a
35: argument #1 8 signed bytes @ r15
35: argument #2 8 unsigned bytes @ r14
35: rtld:unmap_complete [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x16eb1
35: argument #1 8 signed bytes @ *(bp - 112)
35: argument #2 8 unsigned bytes @ bx
35: rtld:setjmp [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x1be6d
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ ax
35: rtld:longjmp [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x1bead
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ si
35: argument #3 8 unsigned bytes @ dx
35: rtld:longjmp_target [sema 0x0]
35: location #1 /proc/7563/root/usr/lib64/ld-2.24.so 0x1bec9
35: argument #1 8 unsigned bytes @ di
35: argument #2 4 signed bytes @ ax
35: argument #3 8 unsigned bytes @ dx
35: .
35: ----------------------------------------------------------------------
35: Ran 1 test in 1.144s
35:
35: OK
35: temp directory: /tmp/tmp0oXfkS
35/47 Test #35: py_test_usdt3 .................... Passed 1.28 sec
test 36
Start 36: py_test_license
36: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_license" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_license.py"
36: Test timeout computed to be: 9.99988e+06
36: /virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
36: #error BPF_LICENSE cannot be specified through cflags
36: ^
36: 1 error generated.
36: x/virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
36: #error BPF_LICENSE cannot be specified through cflags
36: ^
36: 1 error generated.
36: x.bpf: Failed to load program: Invalid argument
36: 0: (bf) r6 = r1
36: 1: (85) call bpf_ktime_get_ns#5
36: cannot call GPL only function from proprietary program
36:
36: x../virtual/main.c:2:2: error: BPF_LICENSE cannot be specified through cflags
36: #error BPF_LICENSE cannot be specified through cflags
36: ^
36: 1 error generated.
36: xbpf: Failed to load program: Invalid argument
36: 0: (bf) r6 = r1
36: 1: (85) call bpf_ktime_get_ns#5
36: cannot call GPL only function from proprietary program
36:
36: x..
36: ----------------------------------------------------------------------
36: Ran 10 tests in 2.580s
36:
36: OK (expected failures=5)
36/47 Test #36: py_test_license .................. Passed 2.65 sec
test 37
Start 37: py_test_free_bcc_memory
37: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_free_bcc_memory" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_free_bcc_memory.py"
37: Test timeout computed to be: 9.99988e+06
37: .
37: ----------------------------------------------------------------------
37: Ran 1 test in 0.233s
37:
37: OK
37: Before freeing llvm memory: RssFile: 61220 kB
37: After freeing llvm memory: RssFile: 45476 kB
37/47 Test #37: py_test_free_bcc_memory .......... Passed 0.32 sec
test 38
Start 38: py_test_rlimit
38: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_rlimit" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_rlimit.py"
38: Test timeout computed to be: 9.99988e+06
38: could not open bpf map: unused, error: Operation not permitted
38: .
38: ----------------------------------------------------------------------
38: Ran 1 test in 0.422s
38:
38: OK
38/47 Test #38: py_test_rlimit ................... Passed 0.49 sec
test 39
Start 39: py_test_lpm_trie
39: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_lpm_trie" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_lpm_trie.py"
39: Test timeout computed to be: 9.99988e+06
39: ..
39: ----------------------------------------------------------------------
39: Ran 2 tests in 0.426s
39:
39: OK
39/47 Test #39: py_test_lpm_trie ................. Passed 0.52 sec
test 40
Start 40: py_ringbuf
40: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_ringbuf" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_ringbuf.py"
40: Test timeout computed to be: 9.99988e+06
40: ssss
40: ----------------------------------------------------------------------
40: Ran 4 tests in 0.000s
40:
40: OK (skipped=4)
40/47 Test #40: py_ringbuf ....................... Passed 0.09 sec
test 41
Start 41: py_queuestack
41: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_queuestack" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_queuestack.py"
41: Test timeout computed to be: 9.99988e+06
41: ss
41: ----------------------------------------------------------------------
41: Ran 2 tests in 0.000s
41:
41: OK (skipped=2)
41/47 Test #41: py_queuestack .................... Passed 0.08 sec
test 42
Start 42: py_test_map_batch_ops
42: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_map_batch_ops" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_map_batch_ops.py"
42: Test timeout computed to be: 9.99988e+06
42: ssssss
42: ----------------------------------------------------------------------
42: Ran 6 tests in 0.000s
42:
42: OK (skipped=6)
42/47 Test #42: py_test_map_batch_ops ............ Passed 0.08 sec
test 43
Start 43: py_test_map_in_map
43: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "py_test_map_in_map" "sudo" "/home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/python/test_map_in_map.py"
43: Test timeout computed to be: 9.99988e+06
43: ...
43: ----------------------------------------------------------------------
43: Ran 3 tests in 0.813s
43:
43: OK
43/47 Test #43: py_test_map_in_map ............... Passed 0.90 sec
test 44
Start 44: lua_test_clang
44: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "lua_test_clang" "sudo" "/usr/bin/luajit" "test_clang.lua"
44: Test timeout computed to be: 9.99988e+06
44: /virtual/main.c:1:30: error: expected expression
44: int failure(void *ctx) { if (); return 0; }
44: ^
44: 1 error generated.
44: ....................
44: Ran 20 tests in 15.500 seconds, 20 successes, 0 failures
44: OK
44/47 Test #44: lua_test_clang ................... Passed 15.72 sec
test 45
Start 45: lua_test_uprobes
45: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "lua_test_uprobes" "sudo" "/usr/bin/luajit" "test_uprobes.lua"
45: Test timeout computed to be: 9.99988e+06
45: Python 2.7.13
45: Arena 0:
45: system bytes = 21630976
45: in use bytes = 1134208
45: Total (incl. mmap):
45: system bytes = 21630976
45: in use bytes = 1134208
45: max mmap regions = 6
45: max mmap bytes = 8413184
45: ..
45: Ran 2 tests in 0.468 seconds, 2 successes, 0 failures
45: OK
45/47 Test #45: lua_test_uprobes ................. Passed 0.56 sec
test 46
Start 46: lua_test_dump
46: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/build/tests/wrapper.sh "lua_test_dump" "sudo" "/usr/bin/luajit" "test_dump.lua"
46: Test timeout computed to be: 9.99988e+06
46: .
46: Ran 1 tests in 0.204 seconds, 1 successes, 0 failures
46: OK
46/47 Test #46: lua_test_dump .................... Passed 0.24 sec
test 47
Start 47: lua_test_standalone
47: Test command: /home/fedora/jenkins/workspace/bcc-pr/label/fc25/tests/lua/test_standalone.sh
47: Test timeout computed to be: 9.99988e+06
47: + cd src/lua
47: + [[ ! -x bcc-lua ]]
47: + echo 'bcc-lua not built --- skipping'
47: bcc-lua not built --- skipping
47: + exit 0
47/47 Test #47: lua_test_standalone .............. Passed 0.00 sec
100% tests passed, 0 tests failed out of 47
Total Test time (real) = 485.88 sec
++ head -n 1 Testing/TAG
+ cp Testing/20210906-0306/Test.xml ./CTestResults.xml
Taking single-use agent fedora25-slave-7b6 offline.
Finished: SUCCESS