Re: [MM] glib assertions



> FYI, while running suspend/resume stress tests on various modems, MM
> gives a few glib assertion warnings.  I'm going to run gdb to get a
> backtrace, but wonder if you know where the issue could potentially
> be.
>
> (ModemManager:648): GLib-GIO-CRITICAL **:
> g_dbus_connection_emit_signal: assertion `G_IS_DBUS_CONNECTION
> (connection)' failed
> (ModemManager:648): GLib-GObject-CRITICAL **: g_object_ref: assertion
> `G_IS_OBJECT (object)' failed
> (ModemManager:648): GLib-GObject-CRITICAL **: g_object_unref:
> assertion `G_IS_OBJECT (object)' failed
>
> Also, I had to take out the following assertion in MMBroadbandModem
> disabling_step() to prevent a crash. It seems like a race when
> mm_base_modem_disable() is being called on MMBaseModem and
> MMBroardbandModem is being disposed. Should we turn the assertion into
> a condition check instead?
>
>     case DISABLING_STEP_IFACE_MODEM:
>         g_assert (ctx->self->priv->modem_dbus_skeleton != NULL);
>
> Thread 0 (crashed)
>  0  libc-2.15.so!raise [raise.c : 64 + 0x10]
>     rbx = 0x00007fcfdec08260   r12 = 0x00007fcfdddd52c4
>     r13 = 0x00007fcfdec073e0   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfdd224aa5
>     rsp = 0x00007fff300c3e18   rbp = 0x00007fcfdd8d4260
>     Found by: given as instruction pointer in context
>  1  libc-2.15.so!abort [abort.c : 91 + 0x9]
>     rbx = 0x00007fcfdec08260   r12 = 0x00007fcfdddd52c4
>     r13 = 0x00007fcfdec073e0   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfdd225f07
>     rsp = 0x00007fff300c3e20   rbp = 0x00007fcfdd8d4260
>     Found by: call frame info
>  2  libglib-2.0.so.0.3200.4!g_assertion_message [gtestutils.c : 1861 + 0x4]
>     rbx = 0x00007fcfdec08260   r12 = 0x00007fcfdddd52c4
>     r13 = 0x00007fcfdec073e0   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfdd81b83d
>     rsp = 0x00007fff300c3f50   rbp = 0x00007fcfdd8d4260
>     Found by: call frame info
>  3  libglib-2.0.so.0.3200.4!g_assertion_message_expr [gtestutils.c : 1872 +
> 0xc]
>     rbx = 0x00007fcfdddc52d0   r12 = 0x00007fcfdddd52c4
>     r13 = 0x0000000000000000   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfdd81bd12
>     rsp = 0x00007fff300c3fe0   rbp = 0x0000000000001b45
>     Found by: call frame info
>  4  ModemManager!disabling_step [mm-broadband-modem.c : 6981 + 0x20]
>     rbx = 0x00007fcfdec0ed00   r12 = 0x0000000000000041
>     r13 = 0x00007fcfdeac4f00   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfddda6571
>     rsp = 0x00007fff300c4010   rbp = 0x00007fcfdeaf4200
>     Found by: call frame info
>  5  ModemManager!handle_enable_auth_ready [mm-iface-modem.c : 1216 + 0x4]
>     rbx = 0x00007fcfdec0fd30   r12 = 0x0000000000000041
>     r13 = 0x00007fcfdeac4f00   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfddd84379
>     rsp = 0x00007fff300c4020   rbp = 0x00007fcfdeaf4200
>     Found by: call frame info
>  6  libgio-2.0.so.0.3200.4!g_simple_async_result_complete
> [gsimpleasyncresult.c : 767 + 0xd]
>     rbx = 0x00007fcfdeb03e30   r12 = 0x0000000000000041
>     r13 = 0x00007fcfdeac4f00   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfddbd0447
>     rsp = 0x00007fff300c4050   rbp = 0x00007fcfdec0e650
>     Found by: call frame info
>  7  ModemManager!authorize_ready [mm-base-modem.c : 1015 + 0x7]
>     rbx = 0x00007fcfdeb03e30   r12 = 0x0000000000000041
>     r13 = 0x00007fcfdeac4f00   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfddd7a161
>     rsp = 0x00007fff300c4070   rbp = 0x00007fcfdec0e650
>     Found by: call frame info
>  8  libgio-2.0.so.0.3200.4!g_simple_async_result_complete
> [gsimpleasyncresult.c : 767 + 0xd]
>     rbx = 0x00007fcfdeb040f0   r12 = 0x0000000000000041
>     r13 = 0x00007fcfdeac4f00   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfddbd0447
>     rsp = 0x00007fff300c4090   rbp = 0x00007fcfdec0e650
>     Found by: call frame info
>  9  libgio-2.0.so.0.3200.4!complete_in_idle_cb [gsimpleasyncresult.c :
> 779 + 0x4]
>     rbx = 0x00007fcfdec0e650   r12 = 0x0000000000000041
>     r13 = 0x00007fcfdeac4f00   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfddbd0549
>     rsp = 0x00007fff300c40b0   rbp = 0x0000000000000001
>     Found by: call frame info
> 10  libglib-2.0.so.0.3200.4!g_main_context_dispatch [gmain.c : 2539 + 0x3]
>     rbx = 0x00007fcfdec0e650   r12 = 0x0000000000000041
>     r13 = 0x00007fcfdeac4f00   r14 = 0x00007fcfdd8d3960
>     r15 = 0x00007fcfdeabd800   rip = 0x00007fcfdd7fa5c3
>     rsp = 0x00007fff300c40c0   rbp = 0x0000000000000001
>     Found by: call frame info
> 11  libglib-2.0.so.0.3200.4!g_main_context_iterate [gmain.c : 3146 + 0x7]
>     rbx = 0x00007fcfdeabd800   r12 = 0x00007fcfdd807d70
>     r13 = 0x0000000000000000   r14 = 0x0000000000000002
>     r15 = 0x0000000000000001   rip = 0x00007fcfdd7fa940
>     rsp = 0x00007fff300c4150   rbp = 0x0000000000000001
>     Found by: call frame info
> 12  libglib-2.0.so.0.3200.4!g_main_loop_run [gmain.c : 3340 + 0x11]
>     rbx = 0x00007fcfdeac7970   r12 = 0x0000000000000001
>     r13 = 0x0000000000000000   r14 = 0x0000000000000000
>     r15 = 0x0000000000000000   rip = 0x00007fcfdd7fad7a
>     rsp = 0x00007fff300c41a0   rbp = 0x0000000000000001
>     Found by: call frame info
> 13  ModemManager!main [main.c : 150 + 0x4]
>     rbx = 0x00007fcfdeabd010   r12 = 0x0000000000000001
>     r13 = 0x0000000000000000   r14 = 0x0000000000000000
>     r15 = 0x0000000000000000   rip = 0x00007fcfddd6a492
>     rsp = 0x00007fff300c41c0   rbp = 0x0000000000000001
>     Found by: call frame info
> 14  libc-2.15.so!__libc_start_main [libc-start.c : 234 + 0x16]
>     rbx = 0x0000000000000000   r12 = 0x00007fcfddd69f80
>     r13 = 0x00007fff300c42e0   r14 = 0x0000000000000000
>     r15 = 0x0000000000000000   rip = 0x00007fcfdd21141d
>     rsp = 0x00007fff300c4210   rbp = 0x0000000000000000
>     Found by: call frame info
> 15  ModemManager + 0x1afa8
>     rbx = 0x0000000000000000   r12 = 0x00007fcfddd69f80
>     r13 = 0x00007fff300c42e0   r14 = 0x0000000000000000
>     r15 = 0x0000000000000000   rip = 0x00007fcfddd69fa9
>     rsp = 0x00007fff300c42d0   rbp = 0x0000000000000000
>     Found by: call frame info
>

Here're some backtraces:

GLib-GIO-CRITICAL **: g_dbus_connection_emit_signal: assertion
`G_IS_DBUS_CONNECTION (connection)' failed

#0  0x00007ffff7ab1ba0 in g_log () from /usr/lib64/libglib-2.0.so.0
#1  0x00007ffff7ed2766 in g_dbus_connection_emit_signal () from
/usr/lib64/libgio-2.0.so.0
#2  0x00007ffff7fac694 in _mm_gdbus_modem_location_emit_changed
(user_data=<value optimized out>) at mm-gdbus-modem.c:8353
#3  0x00007ffff7aaa5c3 in g_main_context_dispatch () from
/usr/lib64/libglib-2.0.so.0
#4  0x00007ffff7aaa940 in ?? () from /usr/lib64/libglib-2.0.so.0
#5  0x00007ffff7aaad7a in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#6  0x0000000000417ef2 in main (argc=<value optimized out>,
argv=<value optimized out>) at main.c:150


GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

#0  0x00007ffff7ab1ba0 in g_log () from /usr/lib64/libglib-2.0.so.0
#1  0x00007ffff7b99784 in g_object_ref () from /usr/lib64/libgobject-2.0.so.0
#2  0x0000000000456c05 in disable (self=0x50d3f0, cancellable=0x0,
callback=<value optimized out>, user_data=<value optimized out>) at
mm-broadband-modem.c:7052
#3  0x0000000000431e69 in handle_enable_auth_ready (self=0x50d3f0,
res=<value optimized out>, ctx=0xa41200) at mm-iface-modem.c:1216
#4  0x00007ffff7e7f447 in g_simple_async_result_complete () from
/usr/lib64/libgio-2.0.so.0
#5  0x0000000000427bc1 in authorize_ready (authp=<value optimized
out>, res=<value optimized out>, simple=0x51d810) at
mm-base-modem.c:1015
#6  0x00007ffff7e7f447 in g_simple_async_result_complete () from
/usr/lib64/libgio-2.0.so.0
#7  0x00007ffff7e7f549 in ?? () from /usr/lib64/libgio-2.0.so.0
#8  0x00007ffff7aaa5c3 in g_main_context_dispatch () from
/usr/lib64/libglib-2.0.so.0
#9  0x00007ffff7aaa940 in ?? () from /usr/lib64/libglib-2.0.so.0
#10 0x00007ffff7aaad7a in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#11 0x0000000000417ef2 in main (argc=<value optimized out>,
argv=<value optimized out>) at main.c:150


GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT
(object)' failed

#0  0x00007ffff7ab1ba0 in g_log () from /usr/lib64/libglib-2.0.so.0
#1  0x000000000044af26 in disabling_context_complete_and_free
(ctx=0xa408a0) at mm-broadband-modem.c:6788
#2  0x0000000000431e69 in handle_enable_auth_ready (self=0x50d3f0,
res=<value optimized out>, ctx=0xa41200) at mm-iface-modem.c:1216
#3  0x00007ffff7e7f447 in g_simple_async_result_complete () from
/usr/lib64/libgio-2.0.so.0
#4  0x0000000000427bc1 in authorize_ready (authp=<value optimized
out>, res=<value optimized out>, simple=0x51d810) at
mm-base-modem.c:1015
#5  0x00007ffff7e7f447 in g_simple_async_result_complete () from
/usr/lib64/libgio-2.0.so.0
#6  0x00007ffff7e7f549 in ?? () from /usr/lib64/libgio-2.0.so.0
#7  0x00007ffff7aaa5c3 in g_main_context_dispatch () from
/usr/lib64/libglib-2.0.so.0
#8  0x00007ffff7aaa940 in ?? () from /usr/lib64/libglib-2.0.so.0
#9  0x00007ffff7aaad7a in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#10 0x0000000000417ef2 in main (argc=<value optimized out>,
argv=<value optimized out>) at main.c:150


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]