You have been subscribed to a public bug:
Running the following perf collect inside a running docker could
potentially crash:
$ perf record -F 100 -ag -o /tmp/perf-100Hz-10s -- sleep 10
The dump is caused by SIGSEGV for de-referencing nullptr in
nsinfo__copy() in at namespaces.c:144
$ lldb -c /tmp/cores/perf.core.07092019
(lldb) target create --core "/tmp/cores/perf.core.07092019"
Core file '/tmp/cores/perf.core.07092019' (x86_64) was loaded.
(lldb) bt
* thread #1, name = 'perf', stop reason = signal SIGSEGV
* frame #0: 0x0000558f2dda2014 perf`nsinfo__copy(nsi=0x0000000000000000) at
namespaces.c:144
frame #1: 0x0000558f2dd98779 perf`map__new(machine=0x0000558f31213c48,
start=140723782385664, len=8192, pgoff=0, d_maj=<unavailable>,
d_min=<unavailable>, ino=0, ino_gen=0, prot=5, flags=4098, filename="",
type=MAP__FUNCTION, thread=0x0000558f316f94c0) at map.c:192
frame #2: 0x0000558f2dd96a39
perf`machine__process_mmap2_event(machine=0x0000558f31213c48,
event=0x00007fdd8f1105f0, sample=<unavailable>) at machine.c:1428
frame #3: 0x0000558f2dd9d7bc perf`ordered_events__deliver_event at
session.c:1343
frame #4: 0x0000558f2dd9d798 perf`ordered_events__deliver_event
frame #5: 0x0000558f2dd9d790
perf`ordered_events__deliver_event(oe=0x0000558f31219e00, event=<unavailable>)
at session.c:120
frame #6: 0x0000558f2dda1073 perf`ordered_events__flush at
ordered-events.c:211
frame #7: 0x0000558f2dda0fb6
perf`ordered_events__flush(oe=0x0000558f31219e00, how=OE_FLUSH__ROUND) at
ordered-events.c:278
frame #8: 0x0000558f2dd9e854 perf`perf_session__process_event at
session.c:1383
frame #9: 0x0000558f2dd9e570
perf`perf_session__process_event(session=0x0000558f31213b60,
event=0x00007fdd8f148050, file_offset=565328) at session.c:1511
frame #10: 0x0000558f2dd9ff40 perf`perf_session__process_events at
session.c:1903
frame #11: 0x0000558f2dd9fec0
perf`perf_session__process_events(session=0x0000558f31213b60) at session.c:1957
frame #12: 0x0000558f2dcd76bc perf`cmd_record at builtin-record.c:442
frame #13: 0x0000558f2dcd7695 perf`cmd_record at builtin-record.c:574
frame #14: 0x0000558f2dcd7695 perf`cmd_record at builtin-record.c:1115
frame #15: 0x0000558f2dcd7601 perf`cmd_record(argc=<unavailable>,
argv=<unavailable>) at builtin-record.c:1809
frame #16: 0x0000558f2dd3da01 perf`run_builtin(p=0x0000558f2e1f12b8,
argc=9, argv=0x00007ffc21201e30) at perf.c:297
frame #17: 0x0000558f2dd3dcfe perf`handle_internal_command(argc=9,
argv=0x00007ffc21201e30) at perf.c:349
frame #18: 0x0000558f2dcc17b9 perf`main [inlined]
run_argv(argcp=<unavailable>, argv=<unavailable>) at perf.c:393
frame #19: 0x0000558f2dcc17ae perf`main(argc=<unavailable>,
argv=0x00007ffc21201e30) at perf.c:537
frame #20: 0x00007fdd8fad5b97 libc.so.6`__libc_start_main + 231
frame #21: 0x0000558f2dcc1c3a perf`_start + 42
The fix for this has already been merged to Linux 4.19-rc, since
8/10/2018, see the original lkml post
https://lore.kernel.org/lkml/[email protected]/.
bf2e710b3cb84 (Krister Johansen 2017-07-05 18:48:09 -0700 137) struct
nsinfo *nsinfo__copy(struct nsinfo *nsi)
bf2e710b3cb84 (Krister Johansen 2017-07-05 18:48:09 -0700 138) {
bf2e710b3cb84 (Krister Johansen 2017-07-05 18:48:09 -0700 139) struct
nsinfo *nnsi;
bf2e710b3cb84 (Krister Johansen 2017-07-05 18:48:09 -0700 140)
3f4417d693b43 (Benno Evers 2018-08-10 15:36:13 +0200 141) if (nsi
== NULL)
3f4417d693b43 (Benno Evers 2018-08-10 15:36:13 +0200 142)
return NULL;
3f4417d693b43 (Benno Evers 2018-08-10 15:36:13 +0200 143)
bf2e710b3cb84 (Krister Johansen 2017-07-05 18:48:09 -0700 144) nnsi =
calloc(1, sizeof(*nnsi));
I verified locally that this fix works by manually applying to 4.15 and
rebuild perf executable after that.
To port the fix to 4.15, or other versions earlier than 4.19-rc, we could run:
$ git cherry-pick 3f4417d693b43
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
--
perf core dump at tool/perf/util/namespaces.c:144
https://bugs.launchpad.net/bugs/1835940
You received this bug notification because you are a member of Kernel Packages,
which is subscribed to linux in Ubuntu.
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp