Skip to content

Conversation

dalehamel
Copy link
Member

No description provided.

nsavoire and others added 30 commits August 7, 2025 09:13
…metry#2)

When uploading elf symbols, it is sometimes necessary to open a file
other than the reported executalle (eg. to look for separate debug
information).
This change makes systemProcess.Open return `/proc/<profiler_pid>/fd/<elf_fd>`
as actual path instead of `/proc/<process_pid>/map_files/<mapping>`.
The upside of this change is that the new path remains valid even after the
target process has been terminated, while the old path becomes invalid.
If a zero size is provided for the tracehandler cache, the cache will not be
created.
* Avoid using the GITHUB_TOKEN for pr creation

* fixing repo reference
…ookup in case of non-exported symbols to discover ractor/ec
Co-authored-by: Dale Hamel <dale.hamel@shopify.com>
Co-authored-by: Manuel Correa <manuel.correa@shopify.com>
In Ruby 3.4.x, iseq_location_struct.pathobj can be an array [relative_path, absolute_path].
For some frames the absolute entry is an immediate (e.g., 0x4) rather than a Ruby RString.
Original code always dereferenced index 1, then tried to read it as a string, producing “object at 0x00000004 is not a string,”
which surfaced as unsymbolized frames (ffffffff...+0x0).

Changed code so that, if pathobj is an array, inspect both entries and choose the one that is a Ruby string,
preferring absolute when valid; otherwise relative.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants