When I use perf tool to analyze my business process,It's abborted!
It's only happens to capture my business process data, other processes are normal.
I don't konw the reason.
Is there a bug with my program? how to debug?
How to use perf record normally?
Thanks for the help. Thanks Evenyone
env:
# uname -a
Linux rk3326_64 4.4.194 #6 SMP Tue Jun 15 19:28:51 CST 2021 aarch64 GNU/Linux
# perf --version
perf version 4.4.194
perf top command and response
# perf top -p <pid>
double free or corruption (!prev)
Aborted
perf record command
# because this version perf doesn't support --sleep (specify the acquisition time ), so I use Ctrl-C to stop the perf command. when I stopped(Ctrl-C),it was aborted
# perf record -F 100 -p <pid>
double free or corruption (!prev)
Aborted
I open coredump on the device. coredump
coredump filename: core-perf-14092-6-1624288344
# gdb /usr/bin/perf ./core-perf-14092-6-1624288344
...
Core was generated by `perf top -p 12789'.
Program terminated with signal SIGABRT, Aborted.
#0 0x0000007f7f2692b8 in raise () from /lib/libc.so.6
[Current thread is 1 (LWP 14092)]
(gdb) #0 0x0000007f7f2692b8 in raise () from /lib/libc.so.6
#1 0x0000007f7f2579d4 in abort () from /lib/libc.so.6
#2 0x0000007f7f2a2040 in ?? () from /lib/libc.so.6
#3 0x0000007f7f2a862c in ?? () from /lib/libc.so.6
#4 0x0000007f7f2aa094 in ?? () from /lib/libc.so.6
#5 0x00000000004c46a4 in ?? ()
#6 0x000000000047a1b0 in ?? ()
#7 0x000000000048ab5c in ?? ()
#8 0x0000000000456520 in ?? ()
#9 0x000000000041ba68 in ?? ()
#10 0x000000000041d99c in ?? ()
#11 0x000000000044c5fc in ?? ()
#12 0x00000000004061c0 in ?? ()
#13 0x0000007f7f257e34 in __libc_start_main () from /lib/libc.so.6
#14 0x00000000004062ec in ?? ()
Backtrace stopped: not enough registers or memory available to unwind further