Re: [PATCH V2 1/9] perf tools: Fix symbol annotation for relocatedkernel

From: Arnaldo Carvalho de Melo
Date: Thu Jan 30 2014 - 13:12:51 EST


Em Thu, Jan 30, 2014 at 03:08:23PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Thu, Jan 30, 2014 at 10:20:36AM +0100, Ingo Molnar escreveu:
> > I'd suggest the whole fix series if perf/urgent material.

> Getting segfaults with:

> [acme@ssdandy linux]$ git log --oneline | head -10
> c059c953531f perf tests: vmlinux-kallsyms test does not need to set up ref_reloc_sym
> be2530836ebe perf symbols: Prevent the use of kcore if the kernel has moved
> 9b2fd7840cb0 perf record: Get ref_reloc_sym from kernel map
> bcf5e06a0c75 perf symbols: Add kallsyms__get_function_start()
> 94591ed0963e perf machine: Add machine__get_kallsyms_filename()
> 18923cddb839 perf symbols: Fix symbol annotation for relocated kernel

Program received signal SIGSEGV, Segmentation fault.
perf_event__synthesize_kernel_mmap (tool=0x81fd20 <record>, process=0x42ad51 <process_synthesized_event>, machine=0x916380) at util/event.c:520
520 size = snprintf(event->mmap.filename, sizeof(event->mmap.filename),
Missing separate debuginfos, use: debuginfo-install audit-libs-2.3.2-1.fc18.x86_64 bzip2-libs-1.0.6-7.fc18.x86_64 elfutils-libelf-0.155-1.fc18.x86_64 elfutils-libs-0.155-1.fc18.x86_64 libunwind-1.0.1-5.fc18.x86_64 nss-softokn-freebl-3.15.2-2.fc18.x86_64 numactl-libs-2.0.7-7.fc18.x86_64 perl-libs-5.16.3-245.fc18.x86_64 python-libs-2.7.3-13.fc18.x86_64 slang-2.2.4-5.fc18.x86_64 xz-libs-5.1.2-2alpha.fc18.x86_64
(gdb) bt
#0 perf_event__synthesize_kernel_mmap (tool=0x81fd20 <record>, process=0x42ad51 <process_synthesized_event>, machine=0x916380) at util/event.c:520
#1 0x000000000042bc24 in __cmd_record (rec=0x81fd20 <record>, argc=2, argv=0x7fffffffe160) at builtin-record.c:456
#2 0x000000000042c960 in cmd_record (argc=2, argv=0x7fffffffe160, prefix=0x0) at builtin-record.c:971
#3 0x000000000041a181 in run_builtin (p=0x81ee30 <commands+144>, argc=3, argv=0x7fffffffe160) at perf.c:319
#4 0x000000000041a3b9 in handle_internal_command (argc=3, argv=0x7fffffffe160) at perf.c:376
#5 0x000000000041a505 in run_argv (argcp=0x7fffffffe03c, argv=0x7fffffffe030) at perf.c:420
#6 0x000000000041a7ec in main (argc=3, argv=0x7fffffffe160) at perf.c:529
(gdb) list
515 event->header.misc = PERF_RECORD_MISC_GUEST_KERNEL;
516 }
517
518 map = machine->vmlinux_maps[MAP__FUNCTION];
519 kmap = map__kmap(map);
520 size = snprintf(event->mmap.filename, sizeof(event->mmap.filename),
521 "%s%s", mmap_name, kmap->ref_reloc_sym->name) + 1;
522 size = PERF_ALIGN(size, sizeof(u64));
523 event->mmap.header.type = PERF_RECORD_MMAP;
524 event->mmap.header.size = (sizeof(event->mmap) -
(gdb) p mmap_name
$4 = 0x7fffffffabd0 "[kernel.kallsyms]"
(gdb) p kmap->ref_reloc_sym
$5 = (struct ref_reloc_sym *) 0x0
(gdb)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/