[MM] glib assertions



Hi Aleksander,

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

Thanks,
Ben

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