lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 10 Jan 2011 11:47:43 -0700
From:	David Ahern <daahern@...co.com>
To:	Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...e.hu>,
	a.p.zijlstra@...llo.nl, paulus@...ba.org,
	Arnaldo Carvalho de Melo <acme@...stprotocols.net>,
	tzanussi@...il.com, imunsie@....ibm.com
CC:	linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org
Subject: perf: commit 55b4462 causes perf record to hang

With latest version of perf-core branch, a variant of perf record hangs:

# /tmp/build-perf/perf record -v -e cs -fo /tmp/perf.data  -- sleep 1
couldn't open /proc/-1/status
couldn't open /proc/-1/maps
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.003 MB /tmp/perf.data (~120 samples) ]

It sits there forever. Back trace is:

(gdb) bt
#0  0x0000000000447658 in __perf_session__process_events
(session=0xab9500, data_offset=208,
    data_size=2896, file_size=3104, ops=0x685580) at util/session.c:1006
#1  0x00000000004107dd in process_buildids () at builtin-record.c:466
#2  0x000000000041084d in atexit_header () at builtin-record.c:477
#3  0x00007f45cc3e89e1 in exit () from /lib64/libc.so.6
#4  0x0000000000404749 in handle_internal_command (argc=9,
argv=0x7fffc59e2c70) at perf.c:359
#5  0x000000000040488e in run_argv (argcp=0x7fffc59e2b5c,
argv=0x7fffc59e2b50) at perf.c:403
#6  0x0000000000404a98 in main (argc=9, argv=0x7fffc59e2c70) at perf.c:489


git bisect traced the hang to

commit 55b44629f599a2305265ae9c77f9d9bcfd6ddc17
Author: Thomas Gleixner <tglx@...utronix.de>
Date:   Tue Nov 30 17:49:46 2010 +0000

    perf session: Use sensible mmap size

    On 64bit we can map the whole file in one go, on 32bit we can at
least map
    32MB and not map/unmap tiny chunks of the file.

    Base the progress bar on 1/16 of the data size.

    Preparatory patch to get rid of the malloc/memcpy/free of trace data.


If I revert the changes (attached porting of it) perf-record does not hang.

David

View attachment "perf-hang-revert.patch" of type "text/plain" (3004 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ