[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zj4x4g0avd6ZW8Jl@x1>
Date: Fri, 10 May 2024 11:40:34 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Namhyung Kim <namhyung@...nel.org>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: perf annotate --data-type segfault
root@...ber:~# perf --debug type-profile annotate --data-type -i perf.data.perf-trace-bpf &> perf--debug.type-profile-annotate--data-type.perf-trace-bpf.output
Segmentation fault (core dumped)
root@...ber:~#
The output ended in:
Annotate type: 'struct sk_security_struct' in [kernel.kallsyms] (1 samples):
============================================================================
Percent offset size field
100.00 0 32 struct sk_security_struct {
0.00 0 4 enum nlbl_state;
0.00 8 8 struct netlbl_lsm_secattr* nlbl_secattr;
100.00 16 4 u32 sid;
0.00 20 4 u32 peer_sid;
0.00 24 2 u16 sclass;
0.00 28 4 enum sctp_assoc_state;
};
Annotate type: 'struct hlist_head[]' in [kernel.kallsyms] (1 samples):
============================================================================
Percent offset size field
100.00 0 72 struct hlist_head[] ;
Annotate type: 'struct x86_pmu' in [kernel.kallsyms] (5 samples):
============================================================================
Percent offset size field
100.00 0 640 struct x86_pmu {
0.00 0 8 char* name;
0.00 8 4 int version;
100.00 16 8 (function_type)* handle_irq;
0.00 24 8 (function_type)* disable_all;
0.00 32 8 (function_type)* enable_all;
0.00 40 8 (function_type)* enable;
0.00 48 8 (function_type)* disable;
0.00 56 8 (function_type)* assign;
0.00 64 8 (function_type)* add;
0.00 72 8 (function_type)* del;
0.00 80 8 (function_type)* read;
0.00 88 8 (function_type)* set_period;
0.00 96 8 (function_type)* update;
0.00 104 8 (function_type)* hw_config;
0.00 112 8 (function_type)* schedule_events;
0.00 120 4 unsigned int eventsel;
0.00 124 4 unsigned int perfctr;
0.00 128 8 (function_type)* addr_offset;
0.00 136 8 (function_type)* rdpmc_index;
0.00 144 8 (function_type)* event_map;
0.00 152 4 int max_events;
0.00 156 4 int num_counters;
0.00 160 4 int num_counters_fixed;
0.00 164 4 int cntval_bits;
0.00 168 8 u64 cntval_mask;
0.00 176 8 union {
0.00 176 8 long unsigned int events_maskl;
0.00 176 8 long unsigned int[] events_mask;
};
0.00 184 4 int events_mask_len;
0.00 188 4 int apic;
0.00 192 8 u64 max_period;
0.00 200 8 (function_type)* get_event_constraints;
0.00 208 8 (function_type)* put_event_constraints;
0.00 216 8 (function_type)* start_scheduling;
0.00 224 8 (function_type)* commit_scheduling;
0.00 232 8 (function_type)* stop_scheduling;
0.00 240 8 struct event_constraint* event_constraints;
0.00 248 8 struct x86_pmu_quirk* quirks;
0.00 256 8 (function_type)* limit_period;
0.00 0 4 unsigned int late_ack;
0.00 0 4 unsigned int mid_ack;
0.00 0 4 unsigned int enabled_ack;
0.00 268 4 int attr_rdpmc_broken;
0.00 272 4 int attr_rdpmc;
0.00 280 8 struct attribute** format_attrs;
0.00 288 8 (function_type)* events_sysfs_show;
0.00 296 8 struct attribute_group** attr_update;
0.00 304 8 long unsigned int attr_freeze_on_smi;
0.00 312 8 (function_type)* cpu_prepare;
0.00 320 8 (function_type)* cpu_starting;
0.00 328 8 (function_type)* cpu_dying;
0.00 336 8 (function_type)* cpu_dead;
0.00 344 8 (function_type)* check_microcode;
0.00 352 8 (function_type)* sched_task;
0.00 360 8 u64 intel_ctrl;
0.00 368 8 union perf_capabilities intel_cap {
0.00 368 8 struct {
0.00 368 8 u64 lbr_format;
0.00 368 8 u64 pebs_trap;
0.00 368 8 u64 pebs_arch_reg;
0.00 368 8 u64 pebs_format;
0.00 368 8 u64 smm_freeze;
0.00 368 8 u64 full_width_write;
0.00 368 8 u64 pebs_baseline;
0.00 368 8 u64 perf_metrics;
0.00 368 8 u64 pebs_output_pt_available;
0.00 368 8 u64 pebs_timing_info;
0.00 368 8 u64 anythread_deprecated;
};
0.00 368 8 u64 capabilities;
};
0.00 0 4 unsigned int bts;
0.00 0 4 unsigned int bts_active;
0.00 0 4 unsigned int pebs;
0.00 0 4 unsigned int pebs_active;
0.00 0 4 unsigned int pebs_broken;
0.00 0 4 unsigned int pebs_prec_dist;
0.00 0 4 unsigned int pebs_no_tlb;
0.00 0 4 unsigned int pebs_no_isolation;
0.00 0 4 unsigned int pebs_block;
0.00 0 4 unsigned int pebs_ept;
0.00 380 4 int pebs_record_size;
0x00000000006c3fba in __zfree (ptr=0x0) at ../../lib/zalloc.c:13
13 free(*ptr);
(gdb) bt
#0 0x00000000006c3fba in __zfree (ptr=0x0) at ../../lib/zalloc.c:13
#1 0x00000000006728b5 in delete_data_type_histograms (adt=0xd151f70) at util/annotate-data.c:1829
#2 0x0000000000672958 in annotated_data_type__tree_delete (root=0xe82e40) at util/annotate-data.c:1843
#3 0x000000000055658e in dso__delete (dso=0xe82dd0) at util/dso.c:1487
#4 0x000000000055673e in dso__put (dso=0xe82dd0) at util/dso.c:1523
#5 0x000000000058289d in __dso__zput (dso=0x11fc500) at util/dso.h:644
#6 0x0000000000583dc5 in map__exit (map=0x11fc4e0) at util/map.c:298
#7 0x0000000000583e03 in map__delete (map=0x11fc4e0) at util/map.c:303
#8 0x0000000000583e6c in map__put (map=0x11fc4e0) at util/map.c:310
#9 0x00000000005854c3 in __map__zput (map=0x11fcdf0) at util/map.h:196
#10 0x0000000000585e13 in maps__exit (maps=0x11fb740) at util/maps.c:236
#11 0x0000000000585f0e in maps__delete (maps=0x11fb740) at util/maps.c:258
#12 0x0000000000585fcf in maps__put (maps=0x11fb740) at util/maps.c:275
#13 0x0000000000597d2c in thread__delete (thread=0x11fb580) at util/thread.c:96
#14 0x0000000000597fd6 in thread__put (thread=0x11fb580) at util/thread.c:140
#15 0x00000000005c4940 in __thread__zput (thread=0x25bb7c8) at util/thread.h:83
#16 0x00000000005c8267 in hist_entry__delete (he=0x25bb720) at util/hist.c:1318
#17 0x00000000005c5bc2 in hists__delete_entry (hists=0xe7f9f0, he=0x25bb720) at util/hist.c:388
#18 0x00000000005c5d10 in hists__delete_entries (hists=0xe7f9f0) at util/hist.c:416
#19 0x00000000005cc62d in hists__delete_all_entries (hists=0xe7f9f0) at util/hist.c:2872
#20 0x00000000005cc6a7 in hists_evsel__exit (evsel=0xe7f780) at util/hist.c:2884
#21 0x000000000053378a in evsel__exit (evsel=0xe7f780) at util/evsel.c:1495
#22 0x00000000005337cf in evsel__delete (evsel=0xe7f780) at util/evsel.c:1503
#23 0x00000000005288af in evlist__purge (evlist=0xe7e410) at util/evlist.c:163
#24 0x00000000005289bc in evlist__delete (evlist=0xe7e410) at util/evlist.c:185
#25 0x0000000000589c2d in perf_session__delete (session=0xe7daf0) at util/session.c:313
#26 0x00000000004136cb in cmd_annotate (argc=0, argv=0x7fffffffe400) at builtin-annotate.c:936
#27 0x0000000000507cf9 in run_builtin (p=0xe55fd8 <commands+408>, argc=4, argv=0x7fffffffe400) at perf.c:350
#28 0x0000000000507f68 in handle_internal_command (argc=4, argv=0x7fffffffe400) at perf.c:403
#29 0x00000000005080b7 in run_argv (argcp=0x7fffffffe1dc, argv=0x7fffffffe1d0) at perf.c:447
#30 0x00000000005083ae in main (argc=4, argv=0x7fffffffe400) at perf.c:561
(gdb)
1826 static void delete_data_type_histograms(struct annotated_data_type *adt)
1827 {
1828 for (int i = 0; i < adt->nr_histograms; i++)
1829 zfree(&(adt->histograms[i]));
1830 zfree(&adt->histograms);
1831 }
Powered by blists - more mailing lists