GNOME Bugzilla – Bug 684694
Interface DBus skeleton unavailable during disabling
Last modified: 2012-10-08 07:09:31 UTC
Reported by Ben Chan in the mailing list: https://mail.gnome.org/archives/networkmanager-list/2012-September/msg00218.html 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
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.