Hi, I found perf-record --tail-synthesize without --overwrite breaks symbols for perf-script, perf-report, etc. For example:
[root@]# ~/perf record -ag --tail-synthesize -- sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 1.129 MB perf.data (3531 samples) ] [root@]# ~/perf script | head swapper 0 [000] 1250675.051971: 1 cycles:ppp: ffffffff81009e15 [unknown] ([unknown]) ffffffff81196b19 [unknown] ([unknown]) ffffffff81196579 [unknown] ([unknown]) ffffffff81110ca7 [unknown] ([unknown]) ffffffff81a01f4a [unknown] ([unknown]) ffffffff81a017bf [unknown] ([unknown]) ffffffff8180e17a [unknown] ([unknown]) perf-record with --overwrite does NOT have this issue. After digging into this, I found this issue is introduced by commit a73e24d240bc136619d382b1268f34d75c9d25ce. Reverting this commit does fix this issue. However, on a second thought, I feel it is probably better just drop --tail-synthesize, as it doesn't make much sense without --overwrite. All we need is to do tail_synthesize when --overwrite is set. Thoughts? Thanks, Song