Skip to content

perf maps address format #103650

Description

@art049

Bug report

As implemented by @pablogsal in #96123 we can now generate perf maps(which is awesome BTW).
Currently, perf maps are formatted this way:

0x58c5882 b py::<module>:/home/arthur/Projects/python-playground/dummy_script.py
0x58c588d b py::baz:/home/arthur/Projects/python-playground/dummy_script.py
0x58c5898 b py::bar:/home/arthur/Projects/python-playground/dummy_script.py
0x58c58a3 b py::foo:/home/arthur/Projects/python-playground/dummy_script.py

However, as per the perf maps interface specification it seems the address should not include the leading 0x.

Thus the perf map should look like this:

58c5882 b py::<module>:/home/arthur/Projects/python-playground/dummy_script.py
58c588d b py::baz:/home/arthur/Projects/python-playground/dummy_script.py
58c5898 b py::bar:/home/arthur/Projects/python-playground/dummy_script.py
58c58a3 b py::foo:/home/arthur/Projects/python-playground/dummy_script.py

Still, it works fine with perf but might not with other tools not handling this leading 0x.

Your environment

  • CPython versions tested on: 3.12.0a7
  • Operating system and architecture: Manjaro 22.1.0 x86_64

Linked PRs

Activity

  1. added
    type-bugAn unexpected behavior, bug, or error
    on Apr 20, 2023
  2. added
    3.12only security fixes
    3.13only security fixes
    interpreter-core(Objects, Python, Grammar, and Parser dirs)
    on Apr 20, 2023
  3. terryjreedy commented on Apr 20, 2023

    @terryjreedy
    Member

    @pablogsal The perf doc says that perf map start addresses (as well as sizes) are hex numbers without '0x'. The implementation prints them with '0x'. Which is wrong? There is a PR to change the implementation.

  4. added a commit that references this issue on May 7, 2023
  5. hauntsaninja commented on May 8, 2023

    @hauntsaninja
    Contributor

    Closing since #103651 was merged

  6. added a commit that references this issue on May 8, 2023
  7. added a commit that references this issue on May 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.12only security fixes3.13only security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions