Re: [PATCH v12 00/16] Introduce threaded trace streaming for basic perf record operation

Jiri Olsa
2021-12-09T17:56:13Z

On Sun, Dec 05, 2021 at 04:15:10PM +0100, Jiri Olsa wrote:
> On Tue, Nov 23, 2021 at 05:07:56PM +0300, Alexey Bayduraev wrote:
> > Changes in v12:
> > - fixed nr_threads=1 cases
> > - fixed "Woken up %ld times" message
> > - removed unnecessary record__fini_thread_masks function
> > - moved bytes written/compressed statistics to struct record_thread
> > - moved all unnecessary debug messages to verbose=2 level
> > - renamed "socket" option to "package" for consistency with util/cputopo.h
> > - excluded single trace file reading patches
> >
> > v11: https://lore.kernel.org/lkml/cover.1629186429.git.alexey.v.bayduraev@linux.intel.com/
>
>
> I'm getting perf record hang with:
>
> [root@krava perf]# ./perf record --threads
> ^C[ perf record: Woken up 1 times to write data ]
>
> ^C^C^C^C^C
>
>
>
>
> with following backtrace:
>
>
> (gdb) bt
> #0 0x00007f8115d2885f in __GI___poll (fds=fds@entry=0x7ffd2116b930, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
> #1 0x00007f811574029e in poll (__timeout=<optimized out>, __nfds=<optimized out>, __fds=0x7ffd2116b930) at /usr/include/bits/poll2.h:48
> #2 Curl_poll (timeout_ms=<optimized out>, nfds=<optimized out>, ufds=0x7ffd2116b930) at ../../lib/select.c:374
> #3 Curl_poll (ufds=0x7ffd2116b930, nfds=<optimized out>, timeout_ms=<optimized out>) at ../../lib/select.c:329
> #4 0x00007f8115739cf7 in multi_wait (multi=multi@entry=0x3458c50, extra_fds=extra_fds@entry=0x0, extra_nfds=extra_nfds@entry=0, timeout_ms=<optimized out>,
> timeout_ms@entry=1000, ret=ret@entry=0x0, extrawait=extrawait@entry=false, use_wakeup=<optimized out>) at ../../lib/multi.c:1282
> #5 0x00007f8115739f26 in multi_wait (use_wakeup=false, extrawait=false, ret=0x0, timeout_ms=1000, extra_nfds=0, extra_fds=0x0, multi=0x3458c50)
> at ../../lib/multi.c:1410
> #6 curl_multi_wait (multi=multi@entry=0x3458c50, extra_fds=extra_fds@entry=0x0, extra_nfds=extra_nfds@entry=0, timeout_ms=timeout_ms@entry=1000,
> ret=ret@entry=0x0) at ../../lib/multi.c:1411
> #7 0x00007f811653a7f2 in debuginfod_query_server (c=c@entry=0x2571fb0, build_id=build_id@entry=0x7ffd2116ed70 "c6eee0984964c63e328d13be49d68bd52595ad00",
> build_id_len=build_id_len@entry=0, type=type@entry=0x7f811653c3ba "debuginfo", filename=filename@entry=0x0, path=path@entry=0x7ffd2116dcf8)
> at /usr/src/debug/elfutils-0.186-1.fc35.x86_64/debuginfod/debuginfod-client.c:1057
> #8 0x00007f811653b2a6 in debuginfod_find_debuginfo (client=client@entry=0x2571fb0,
> build_id=build_id@entry=0x7ffd2116ed70 "c6eee0984964c63e328d13be49d68bd52595ad00", build_id_len=build_id_len@entry=0, path=path@entry=0x7ffd2116dcf8)
> at /usr/src/debug/elfutils-0.186-1.fc35.x86_64/debuginfod/debuginfod-client.c:1511

ok, I should have looked closer on that before sending,
it seems to be unrelated issues on fedora 35, because it
triggers the debuginfo retrieval on exit.. and that might
hang forever apparently, please disregard this one

thanks,
jirka