Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp531554imm; Sat, 26 May 2018 05:19:20 -0700 (PDT) X-Google-Smtp-Source: AB8JxZp6IBxyBbR2xECQk92cBneTIrKudFRKLs/3XbY6wGb+E3ffOpp2JluxCttm5NzgYfQEl0Dh X-Received: by 2002:a63:8dca:: with SMTP id z193-v6mr4889422pgd.451.1527337160839; Sat, 26 May 2018 05:19:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527337160; cv=none; d=google.com; s=arc-20160816; b=MKL2e5QYsr/E3iiFEzEserhqONvUIVrkRrHlPIJxCA12XW1kLNqoBXSuIX5caR4doW 7hL8pePmgYklZWvRAW/tLdrr6wUq8+To4cOczkntp1HN3vpVX9wV1lTMx9WKlkM92Y3g Ce7unafYqksP2SLnzYswSjleBkmGrY6QuASTgOQSNcSoXo1Isxk5o7XrlmPoRRaeboM9 jv3Oaty9MTFAzpDwx8eQRDuwLlSeFkCs0MnEZcEPtzH9+HWpZAQg+cyFcRb5yoWf5a3H DH0ekhP+SCFsf9lJDerqpSYYXdCpfuoAa8txMnIwuMC+4gEMJiSPWnh3/7CDYUuQAWiD p8DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=KtrfEsvXNOHVaymbm/ujWFC3V1848M3DnmSuRxA4ZLs=; b=gygouOgp5vZwqvF6hf5N5dGJqREEu1VtkR5cl5LSaW6JNU/UpsRswjVqLuUEc4QwRF LQrZbgB6yk15vzi1EFGT7Gtg9SIj8xh9IgFNU0n492x3D3N+b47vHiHHnnGoiTiI2N8z K757+Btv2t4GCt7hMie3D+hfgxkuT8LDMPsL24b1pgxyDbvu/F2ymj6XobqK3oyxfCRH X9qD8lclSZNv8MmYCJr0rC0Ap5NG/0Kw4n8kaoE7ZpMHwWB+JEUc2VH7l21o9PY+dmBL RlFbdr094mpVwycxgijyNpLNPfDmNYAcvLguO8DjWx6OzgGSTVQ1s34T8C9B3RRx2k/j WuvQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t20-v6si25378947plo.326.2018.05.26.05.19.06; Sat, 26 May 2018 05:19:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031722AbeEZMSb (ORCPT + 99 others); Sat, 26 May 2018 08:18:31 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:54488 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1031384AbeEZMS3 (ORCPT ); Sat, 26 May 2018 08:18:29 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5291E8424B; Sat, 26 May 2018 12:18:29 +0000 (UTC) Received: from sandy.ghostprotocols.net (ovpn-112-2.gru2.redhat.com [10.97.112.2]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BED05200BCBB; Sat, 26 May 2018 12:18:28 +0000 (UTC) Received: by sandy.ghostprotocols.net (Postfix, from userid 1000) id 190EC114; Sat, 26 May 2018 09:18:26 -0300 (BRT) Date: Sat, 26 May 2018 09:18:26 -0300 From: Arnaldo Carvalho de Melo To: Stephane Eranian Cc: LKML , Jiri Olsa , mingo@elte.hu, Peter Zijlstra , Andi Kleen , Vince Weaver Subject: Re: [BUG] perf/inject: crash in pipe mode Message-ID: <20180526121826.GB11944@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.20 (2009-12-10) X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Sat, 26 May 2018 12:18:29 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Sat, 26 May 2018 12:18:29 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'acme@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Fri, May 25, 2018 at 05:19:54PM -0700, Stephane Eranian escreveu: > > With the latest tip.git perf, if you run > > $ perf record -a -o - sleep 2 | perf inject -b -i - | perf buildid-list -i - > SEGFAULT in perf inject: I'm not being able to reproduce this problem here: [root@seventh ~]# perf record -a -o - sleep 2 | perf inject -b -i - 2> /dev/null | perf buildid-list -i - | wc -l [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.000 MB - ] 1038 [root@seventh ~]# perf --version perf version 4.17.rc5.g615aaf [root@seventh ~]# This is with my private perf/core branch, lets see with tip.git/master [acme@seventh perf]$ git checkout -b tip-master tip/master Branch tip-master set up to track remote branch master from tip. Switched to a new branch 'tip-master' [acme@seventh perf]$ rm -rf /tmp/build/perf/ ; mkdir -p /tmp/build/perf ; make -C tools/perf O=/tmp/build/perf install-bin [root@seventh ~]# perf --version perf version 4.17.rc6.g99a7f2 [root@seventh ~]# [root@seventh ~]# perf record -a -o - sleep 2 | perf inject -b -i - 2> /dev/null | perf buildid-list -i - | wc -l [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.000 MB - ] 1038 [root@seventh ~]# [acme@seventh perf]$ git log --oneline -5 99a7f2c81712 (HEAD -> tip-master, tip/master) Merge branch 'perf/core' 861410270ab5 (tip/perf/core, jouet/perf/core, acme/perf/core) Merge tag 'perf-core-for-mingo-4.18-20180523' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core dc0a16dd9952 Merge branch 'x86/pti' 88a582678aa9 Merge branch 'linus' bee797529d7c (torvalds/master) Merge tag 'mfd-fixes-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd [acme@seventh perf]$ [acme@seventh perf]$ perf version --build-options perf version 4.17.rc6.g99a7f2 dwarf: [ on ] # HAVE_DWARF_SUPPORT dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT glibc: [ on ] # HAVE_GLIBC_SUPPORT gtk2: [ on ] # HAVE_GTK2_SUPPORT syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT libbfd: [ on ] # HAVE_LIBBFD_SUPPORT libelf: [ on ] # HAVE_LIBELF_SUPPORT libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT libperl: [ on ] # HAVE_LIBPERL_SUPPORT libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT libslang: [ on ] # HAVE_SLANG_SUPPORT libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT zlib: [ on ] # HAVE_ZLIB_SUPPORT lzma: [ on ] # HAVE_LZMA_SUPPORT get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT bpf: [ on ] # HAVE_LIBBPF_SUPPORT [acme@seventh perf]$ [acme@seventh perf]$ ldd ~/bin/perf linux-vdso.so.1 (0x00007fff2095f000) libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007fd0e7f01000) libunwind.so.8 => /lib64/libunwind.so.8 (0x00007fd0e7ce7000) liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fd0e7ac1000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd0e78a3000) librt.so.1 => /lib64/librt.so.1 (0x00007fd0e769b000) libm.so.6 => /lib64/libm.so.6 (0x00007fd0e7350000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fd0e714c000) libelf.so.1 => /lib64/libelf.so.1 (0x00007fd0e6f34000) libdw.so.1 => /lib64/libdw.so.1 (0x00007fd0e6cec000) libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007fd0e6864000) libslang.so.2 => /lib64/libslang.so.2 (0x00007fd0e639e000) libperl.so.5.26 => /lib64/libperl.so.5.26 (0x00007fd0e5f97000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fd0e5d80000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fd0e5b68000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fd0e5932000) libutil.so.1 => /lib64/libutil.so.1 (0x00007fd0e572f000) libc.so.6 => /lib64/libc.so.6 (0x00007fd0e5379000) /lib64/ld-linux-x86-64.so.2 (0x00007fd0e8120000) libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007fd0e4f3a000) libz.so.1 => /lib64/libz.so.1 (0x00007fd0e4d23000) libnuma.so.1 => /lib64/libnuma.so.1 (0x00007fd0e4b18000) libbabeltrace-ctf.so.1 => /lib64/libbabeltrace-ctf.so.1 (0x00007fd0e48c8000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd0e46b1000) libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fd0e44a0000) libfreebl3.so => /lib64/libfreebl3.so (0x00007fd0e429d000) libbabeltrace.so.1 => /lib64/libbabeltrace.so.1 (0x00007fd0e4090000) libpopt.so.0 => /lib64/libpopt.so.0 (0x00007fd0e3e83000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fd0e3c7e000) libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007fd0e3a7a000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fd0e3766000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fd0e34f4000) [acme@seventh perf]$ [root@seventh ~]# cat /etc/fedora-release Fedora release 27 (Twenty Seven) [root@seventh ~]# > free_dup_event (oe=0x555555d25b88, oe=0x555555d25b88, > event=0x3030310931303031) at util/ordered-events.c:86 > 86 oe->cur_alloc_size -= event->header.size; > (gdb) bt > #0 free_dup_event (oe=0x555555d25b88, oe=0x555555d25b88, > event=0x3030310931303031) at util/ordered-events.c:86 > #1 ordered_events__free (oe=oe@entry=0x555555d25b88) at > util/ordered-events.c:310 > #2 0x00005555557964f8 in __perf_session__process_pipe_events > (session=0x555555d1f910) at util/session.c:1778 > #3 perf_session__process_events (session=session@entry=0x555555d1f910) at > util/session.c:1958 > #4 0x00005555556ef9b2 in __cmd_inject (inject=0x7fffffffda40) at > builtin-inject.c:697 > #5 cmd_inject (argc=, argv=) at > builtin-inject.c:871 > #6 0x000055555572e8b1 in run_builtin (p=0x555555be8f98 , > argc=4, argv=0x7fffffffe460) at perf.c:303 > #7 0x000055555572ebae in handle_internal_command (argc=4, > argv=0x7fffffffe460) at perf.c:355 > #8 0x00005555556ae1e1 in run_argv (argcp=, > argv=) at perf.c:399 > #9 main (argc=, argv=0x7fffffffe460) at perf.c:521 > > In general I think the pipe mode is not very well tested. I think it could > be made the default file format. I believe perf can > autodetect file vs. pipe mode perf.data using the header.size field. This > would simplify a few things inside perf and ensure > the pipe mode format is well tested.