Skip to content

Attempt macOS support #2

Description

@itamarst

UPDATE: This may take a while...

The problem

  1. Profila currently uses GDB to get stacktraces, using the Machine Interface ("MI") protocol.
  2. GDB doesn't work on macOS ARM, only lldb currently works.
  3. lldb-mi is third-party tool supposedly compatible with GDB MI, but not readily available on macOS. E.g. VS Code plugins will ship it themselves.

Potential solutions

  1. Switch to non-debugger method of getting stack traces; need something that relies on debuginfo in the way debuggers do. Initial experiments have failed, this is why there hasn't been profiling support for Numba until now! But will keep trying.
  2. Ship lldb-mi in the wheel.
  3. Convince some kind soul to package lldb-mi for Homebrew.
  4. GDB adds support for macOS ARM.
  5. Figure out a different way than MI to control lldb. The remote server protocol (same as GDB?) might work. Or there's https://pypi.org/project/hilda/ which either might be usable or might be a reasonable example. https://lib.rs/crates/lldb is another potential solution.

Workaround

On macOS, use Docker, Podman, or a VM to get a Linux environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions