memray flamegraph seems to get stuck on any file generated with --native.
Expected Behavior
It should generate the flamegraph.
Steps To Reproduce
(I can't produce a docker image right now, sorry!)
Use memray run --native on any file
Attempt to use memray flamegraph on the output - it will run indefinitely!
Memray Version
1.13.0
Python Version
3.12
Operating System
Linux
Anything else?
This doesn't happen on Memray 1.12.0! I'm on Arch with libc 2.39, with GCC 14.1.1
Running with PyStack gives the following output:
Traceback for thread 92060 (memray) [Has the GIL] (most recent call last):
(C) File "???", line 0, in _start (/usr/bin/python3.12)
(C) File "???", line 0, in __libc_start_main (/usr/lib/libc.so.6)
(C) File "???", line 0, in Py_BytesMain (/usr/lib/libpython3.12.so.1.0)
(C) File "???", line 0, in Py_RunMain (/usr/lib/libpython3.12.so.1.0)
(Python) File "/home/zero/Projects/pyawaitable/.venv/bin/memray", line 8, in <module>
sys.exit(main())
(Python) File "/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/commands/__init__.py", line 138, in main
arg_values.entrypoint(arg_values, parser)
(Python) File "/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/commands/common.py", line 304, in run
self.write_report(
(Python) File "/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/commands/common.py", line 160, in write_report
warn_if_not_enough_symbols()
(Python) File "/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/commands/common.py", line 56, in warn_if_not_enough_symbols
support = get_symbolic_support()
(C) File "src/memray/_memray.cpp", line 36316, in __pyx_pw_6memray_7_memray_15get_symbolic_support(_object*, _object*) [clone .lto_priv.0] (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "src/memray/_memray.cpp", line 36353, in __pyx_pf_6memray_7_memray_14get_symbolic_support (inlined) (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "src/memray/_memray/native_resolver.cpp", line 499, in memray::native_resolver::unwindHere() (inlined) (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "/project/src/vendor/libbacktrace/backtrace.c", line 127, in backtrace_full (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "/usr/src/debug/gcc/gcc/libgcc/unwind.inc", line 309, in _Unwind_Backtrace (/usr/lib/libgcc_s.so.1)
(C) File "/project/src/vendor/libbacktrace/backtrace.c", line 91, in unwind (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "/project/src/vendor/libbacktrace/fileline.c", line 295, in backtrace_pcinfo (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "/project/src/vendor/libbacktrace/fileline.c", line 261, in fileline_initialize (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "/project/src/vendor/libbacktrace/elf.c", line 4933, in backtrace_initialize (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "???", line 0, in dl_iterate_phdr (/usr/lib/libc.so.6)
(C) File "/project/src/vendor/libbacktrace/elf.c", line 4889, in phdr_callback (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "/project/src/vendor/libbacktrace/elf.c", line 4463, in elf_add (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "/project/src/vendor/libbacktrace/elf.c", line 870, in elf_open_debugfile_by_debuginfod (inlined) (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray/_memray.cpython-312-x86_64-linux-gnu.so)
(C) File "/elfutils-0.191/debuginfod/debuginfod-client.c", line 1454, in debuginfod_query_server (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray.libs/libdebuginfod-0-a1ae1d88.191.so)
(C) File "???", line 0, in curl_multi_wait (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray.libs/libcurl-562ec691.so.4.8.0)
(C) File "???", line 0, in multi_wait.part.0 (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray.libs/libcurl-562ec691.so.4.8.0)
(C) File "???", line 0, in Curl_poll (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray.libs/libcurl-562ec691.so.4.8.0)
(C) File "???", line 0, in __poll (/usr/lib/libc.so.6)
Traceback for thread 92061 (memray) [] (most recent call last):
(C) File "???", line 0, in curl_thread_create_thunk (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray.libs/libcurl-562ec691.so.4.8.0)
(C) File "???", line 0, in getaddrinfo_thread (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray.libs/libcurl-562ec691.so.4.8.0)
(C) File "???", line 0, in Curl_getaddrinfo_ex (/home/zero/Projects/pyawaitable/.venv/lib/python3.12/site-packages/memray.libs/libcurl-562ec691.so.4.8.0)
(C) File "???", line 0, in getaddrinfo (/usr/lib/libc.so.6)
(C) File "???", line 0, in _dl_catch_exception (/usr/lib/ld-linux-x86-64.so.2)
(C) File "???", line 0, in _dl_catch_exception (/usr/lib/ld-linux-x86-64.so.2)
(C) File "???", line 0, in _dl_catch_exception (/usr/lib/ld-linux-x86-64.so.2)
(C) File "???", line 0, in pthread_mutex_lock (/usr/lib/libc.so.6)
Is there an existing issue for this?
Current Behavior
memray flamegraph
seems to get stuck on any file generated with--native
.Expected Behavior
It should generate the flamegraph.
Steps To Reproduce
(I can't produce a docker image right now, sorry!)
memray run --native
on any filememray flamegraph
on the output - it will run indefinitely!Memray Version
1.13.0
Python Version
3.12
Operating System
Linux
Anything else?
This doesn't happen on Memray 1.12.0! I'm on Arch with libc 2.39, with GCC 14.1.1
Running with PyStack gives the following output: