Messages in this thread | | | Subject | Re: perf seg fault | From | Adrian Hunter <> | Date | Tue, 12 May 2020 19:17:04 +0300 |
| |
On 12/05/20 6:55 pm, Jiri Olsa wrote: > On Tue, May 12, 2020 at 06:45:24PM +0300, Adrian Hunter wrote: >> On 12/05/20 6:10 pm, Jiri Olsa wrote: >>> On Tue, May 12, 2020 at 05:58:29PM +0300, Adrian Hunter wrote: >>>> Forgot to cc mailing list >>>> >>>> On 12/05/20 5:50 pm, Adrian Hunter wrote: >>>>> Hi >>>>> >>>>> I am getting a seg fault from your perf/core branch, as follows: >>>>> >>>>> # perf record uname >>>>> Linux >>>>> [ perf record: Woken up 1 times to write data ] >>>>> [ perf record: Captured and wrote 0.005 MB perf.data (7 samples) ] >>>>> perf: Segmentation fault >>>>> Obtained 6 stack frames. >>>>> [0x4e75b4] >>>>> [0x5d1ad0] >>>>> [0x5c9860] >>>>> [0x4a6e5c] >>>>> [0x5cb39b] >>>>> [0x76c89f] >>>>> Segmentation fault >>>>> >>>>> It goes away with --no-bpf-event: >>>>> >>>>> # perf record --no-bpf-event uname >>>>> Linux >>>>> [ perf record: Woken up 1 times to write data ] >>>>> [ perf record: Captured and wrote 0.005 MB perf.data (7 samples) ] >>>>> # >>>>> >>>>> kernel is from the same branch >>>>> >>>>> # uname -a >>>>> Linux buildroot 5.7.0-rc2-00028-g0fdddf5a583a #165 SMP Tue May 12 16:27:53 >>>>> EEST 2020 x86_64 GNU/Linux >>>>> >>>>> # perf version --build-options >>>>> perf version 5.6.g0fdddf5a583a >>>>> dwarf: [ OFF ] # HAVE_DWARF_SUPPORT >>>>> dwarf_getlocations: [ OFF ] # HAVE_DWARF_GETLOCATIONS_SUPPORT >>>>> glibc: [ on ] # HAVE_GLIBC_SUPPORT >>>>> gtk2: [ OFF ] # HAVE_GTK2_SUPPORT >>>>> syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT >>>>> libbfd: [ on ] # HAVE_LIBBFD_SUPPORT >>>>> libelf: [ on ] # HAVE_LIBELF_SUPPORT >>>>> libnuma: [ OFF ] # HAVE_LIBNUMA_SUPPORT >>>>> numa_num_possible_cpus: [ OFF ] # HAVE_LIBNUMA_SUPPORT >>>>> libperl: [ OFF ] # HAVE_LIBPERL_SUPPORT >>>>> libpython: [ OFF ] # HAVE_LIBPYTHON_SUPPORT >>>>> libslang: [ on ] # HAVE_SLANG_SUPPORT >>>>> libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT >>>>> libunwind: [ OFF ] # HAVE_LIBUNWIND_SUPPORT >>>>> libdw-dwarf-unwind: [ OFF ] # HAVE_DWARF_SUPPORT >>>>> zlib: [ OFF ] # HAVE_ZLIB_SUPPORT >>>>> lzma: [ OFF ] # HAVE_LZMA_SUPPORT >>>>> get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT >>>>> bpf: [ OFF ] # HAVE_LIBBPF_SUPPORT >>>>> aio: [ on ] # HAVE_AIO_SUPPORT >>>>> zstd: [ OFF ] # HAVE_ZSTD_SUPPORT >>>>> >>>>> >>>>> Any thoughts? >>> >>> hum, I don't see that, do you reproduce with DEBUG=1? >>> to get more verbose backtrace >> >> It will require a kernel with support for bpf events otherwise the >> --no-bpf-event option would have no effect. > > ok, reproduced.. I think we need to think about better way, > but this fixes the issue for me now > > jirka > > > --- > diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c > index 4d4502b7fea0..173012a25df3 100644 > --- a/tools/perf/builtin-record.c > +++ b/tools/perf/builtin-record.c > @@ -2564,6 +2564,10 @@ int cmd_record(int argc, const char **argv) > if (quiet) > perf_quiet_option(); > > +#ifndef HAVE_LIBBPF_SUPPORT > + rec->opts.no_bpf_event = true; > +#endif > + > /* Make system wide (-a) the default target. */ > if (!argc && target__none(&rec->opts.target)) > rec->opts.target.system_wide = true; >
Thank you!
| |