Prodfiler

Unclear what files can be uploaded with upload-symbols.sh

I’m playing around with Python/PyPy and wanted know where inside the Python library the time is spent.

The PyPy release has a libpypy3-c.so.debug file next to the libpypy3-c.so, but neither can be uploaded via the upload-symbols.sh script.

Output of file is
libpypy3-c.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a1bf4e713a117835a352ee8e8eeff15730abc3dd, stripped

and
libpypy3-c.so.debug: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a1bf4e713a117835a352ee8e8eeff15730abc3dd, not stripped respectively.

The output of the script is:

$ upload-symbols.sh -u $MAIL -d ./libpypy3-c.so
libpypy3-c.so.debug
/home/fmagin/pypy3.7-v7.3.5-linux64/bin/libpypy3-c.so has no debug symbols, and no separate debug symbols were provided.
$ upload-symbols.sh -u $MAIL-d ./libpypy3-c.so.debug 
libpypy3-c.so.debug.debug
/home/fmagin/pypy3.7-v7.3.5-linux64/bin/libpypy3-c.so.debug has no debug symbols, and no separate debug symbols were provided.

am I misunderstanding something here? It seems like the script is searching for a debug file (i.e. filename with .debug appended) but that file doesn’t seem to be sufficient. I guess it doesn’t include full debug symbols, but at least it isn’t stripped in some way, so I would assume it provides some useful information.

Hey,

thanks for reaching out :-).
Could you try:

upload-symbols.sh -u $MAIL -d ./libpypy3-c.so -g ./libpypy3-c.so.debug

If that does not work, I’ll dig into the PyPy release myself to see what’s going on :slight_smile:
Cheers,
Thomas

Hey, I just tried this myself and it fails. I will investigate.

Hello @fmagin :slight_smile:

The correct invocation is the one @tdullien provided.
However - looking into it, it turns out that PyPy “debug” files are compiled without debug information. It is a bit misleading - what they call “debug files” contains some symbols, but they’re not actual debug symbols (you couldn’t really use a debugger with them).

While the debug files as currently provided contain some approximate information that we could use to display relevant information in our UI (with the gotcha that it is not very reliable, and contain no source/line information), we currently do not support that. We absolutely intend to though, but it’ll take a bit of time for us to implement that.

In the meantime, I took the liberty to file an issue in the PyPy project to see if the PyPy release packages can also ship the actual debug symbols going forward. The issue is here: Missing debug symbols in release archives (#3544) · Issues · PyPy / pypy · GitLab

Unfortunately there is no workaround we can propose at the moment, but either of these 2 avenues (us supporting limited symbol information, and PyPy adding debug symbols) will be able to enhance your experience in the future - the latter providing the optimal experience.

Thanks!