How does one make a meaningful interpretation of a gdb C backtrace, for python plugin loaded via
libpeas for a GNOME app ?
Example backtrace at: https://gitlab.gnome.org/GNOME/rhythmbox/-/issues/1818#note_906086
The above backtrace is a hang bug due to blocking
glibc network function call
__libc_connect, caused by a python3 plugin loaded via
libpeas in Rhythmbox.
This specific backtrace is the easy part, where
libpeas loads the plugin, so there is some information on what plugin is causing the hang / crash. But, assume the same network connection function call (
__libc_connect ), in the above backtrace was through an GLib async callback, much later in the life-cycle of the plugin. In that case, there is no information specific to the plugin in the entire backtrace ( at least AFAIK ).
So, how does one identify the offending python plugin causing a hang / crash in such a case ?