glib 2.57.1: segfault in g_dbus_proxy_set_default_timeout()
I'm receiving some reports of crashes running ModemManager's CLI (mmcli
), in a router running OpenWRT. The issue was seen in 2.54.0 originally, and is reproduced in 2.57.1 (the last source tarball release that didn't require either meson or autoreconf...).
I've asked to upgrade to a newer glib, but that still requires some work to integrate meson in this specific build system, so it's not fully straightforward yet I'm afraid.
I have been digging in the list of recent fixes and couldn't find any that could be related, at least not clearly.
Does this crash ring a bell to anyone? Following the source code I couldn't also find an obvious problem in glib itself.
------------------------------------------------------------
gdb: warning: Couldn't determine a path for the index cache directory.
[New LWP 21901]
[New LWP 21909]
[New LWP 21908]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `mmcli --report-kernel-event=action=remove,name=br-network101,subsystem=net'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fa8ca4279a7 in g_dbus_proxy_set_default_timeout () from /usr/lib/libgio-2.0.so.0
[Current thread is 1 (Thread 0x7fa8cabcb700 (LWP 21901))]
====================== CURRENT THREAD =========================
#0 0x00007fa8ca4279a7 in g_dbus_proxy_set_default_timeout () from /usr/lib/libgio-2.0.so.0
No symbol table info available.
#1 0x0000000000414430 in mmcli_manager_run_synchronous ()
No symbol table info available.
#2 0x000000000040f0fd in main ()
No symbol table info available.
======================= SHARED LIBS ===========================
From To Syms Read Shared Object Library
0x00007fa8ca709d00 0x00007fa8ca765808 Yes (*) /usr/lib/libmm-glib.so.0
0x00007fa8ca3bab60 0x00007fa8ca469838 Yes (*) /usr/lib/libgio-2.0.so.0
0x00007fa8ca14c0b0 0x00007fa8ca170628 Yes (*) /usr/lib/libgobject-2.0.so.0
0x00007fa8c9e67a50 0x00007fa8c9ecbdf8 Yes (*) /usr/lib/libglib-2.0.so.0
0x00007fa8c9c39db0 0x00007fa8c9c49378 Yes /lib/libgcc_s.so.1
0x00007fa8c98aa5b0 0x00007fa8c99d61e4 Yes (*) /lib/libc.so.6
0x00007fa8c96847e0 0x00007fa8c9688d08 Yes /usr/lib/libffi.so.6
0x00007fa8c94810e0 0x00007fa8c9481e58 Yes (*) /usr/lib/libgmodule-2.0.so.0
0x00007fa8c927ce40 0x00007fa8c927d928 Yes (*) /lib/libdl.so.2
0x00007fa8c903b3e0 0x00007fa8c9063938 Yes (*) /usr/lib/libpcre.so.1
0x00007fa8c8e219c0 0x00007fa8c8e2df58 Yes (*) /lib/libpthread.so.0
0x00007fa8c8c07fb0 0x00007fa8c8c14d08 Yes (*) /usr/lib/libz.so.1
0x00007fa8c89f29d0 0x00007fa8c89fe678 Yes (*) /lib/libresolv.so.2
0x00007fa8ca9b2ab0 0x00007fa8ca9cb350 Yes (*) /lib64/ld-linux-x86-64.so.2
(*): Shared library is missing debugging information.
========================= THREADS =============================
Id Target Id Frame
* 1 Thread 0x7fa8cabcb700 (LWP 21901) 0x00007fa8ca4279a7 in g_dbus_proxy_set_default_timeout () from /usr/lib/libgio-2.0.so.0
2 Thread 0x7fa8c3fff700 (LWP 21909) 0x00007fa8c99671ad in poll () from /lib/libc.so.6
3 Thread 0x7fa8c89ee700 (LWP 21908) 0x00007fa8c99671ad in poll () from /lib/libc.so.6
==================== FULL STACK TRACES ========================
Thread 3 (Thread 0x7fa8c89ee700 (LWP 21908)):
#0 0x00007fa8c99671ad in poll () from /lib/libc.so.6
No symbol table info available.
#1 0x00007fa8c9e8dc34 in g_main_context_iterate.isra () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0x00007fa8c9e8dd4c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0x00007fa8c9e8dd89 in glib_worker_main () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4 0x00007fa8c9eada20 in g_thread_proxy () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#5 0x00007fa8c8e241e1 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#6 0x00007fa8c997305d in clone () from /lib/libc.so.6
No symbol table info available.
Thread 2 (Thread 0x7fa8c3fff700 (LWP 21909)):
#0 0x00007fa8c99671ad in poll () from /lib/libc.so.6
No symbol table info available.
#1 0x00007fa8c9e8dc34 in g_main_context_iterate.isra () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0x00007fa8c9e8df02 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0x00007fa8ca4282d6 in gdbus_shared_thread_func () from /usr/lib/libgio-2.0.so.0
No symbol table info available.
#4 0x00007fa8c9eada20 in g_thread_proxy () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#5 0x00007fa8c8e241e1 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#6 0x00007fa8c997305d in clone () from /lib/libc.so.6
No symbol table info available.
Thread 1 (Thread 0x7fa8cabcb700 (LWP 21901)):
#0 0x00007fa8ca4279a7 in g_dbus_proxy_set_default_timeout () from /usr/lib/libgio-2.0.so.0
No symbol table info available.
#1 0x0000000000414430 in mmcli_manager_run_synchronous ()
No symbol table info available.
#2 0x000000000040f0fd in main ()
No symbol table info available.