Skip to content

Jit profiling support broken when instances created with malloc #1017

@jlb6740

Description

@jlb6740

@yurydelendik @alexcrichton

Hi ... an initial patch that provides support for Perf's jitdump specification merged recently (#360) and another JIT supporting patch based on ittapi is in review (#819). I recently noticed though that the jitdump is suddenly no longer resolving properly when doing a perf report. I've traced the issue to a patch submitted right before merging the perf jitdump patch that apparently my last manual end-to-end tests weren't rebased against before it merged. It is the patch #948 which does away with mmap in favor a mechanism that uses the alloc crate which I believe uses malloc when creating instances in memory. There are no rust errors and perf report -v does not show any errors, but I think this is fatal to perf jit support (and maybe any jit support of wasmtime) because perf is trying to mmap that jitted memory region and afaik you can't mmap a malloc'd region. This theory may be incomplete, but certainly doing a "git revert -n b15b5cd" resolves the issue. Not sure the best way forward here.

Also this brings up a gap in testing where I am not sure how to automatically test the breakage of external tools such as the issue here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions