Crash in record store
I witnessed a crash on the PP running Mobian today
Interestingly enough we have other crashes in that area (#455)
I'm actually not sure about what exactly happened here because I've not actually saw Calls crashing: I was investigating #428 (closed) and the phone was locked, so I only saw the call display on the lockscreen and at some point (when calls was crashing) the display would vanish and shortly after reappear (with the timer starting from "00:00" again).
While I'm not saying it's the exact same crash as (#455) it is very suspicious that it happens in related code (the record store):
Stack trace of thread 12600:
#0 0x0000007f8e93969c __GI_raise (libc.so.6 + 0x3469c)
#1 0x0000007f8e92630c __GI_abort (libc.so.6 + 0x2130c)
#2 0x0000007f8f9f81ac g_assertion_message (libglib-2.0.so.0 + 0x811ac)
#3 0x0000007f8f9f8210 g_assertion_message_expr (libglib-2.0.so.0 + 0x81210)
#4 0x00000055924564fc state_changed_cb (gnome-calls + 0x164fc)
#5 0x0000007f8e8f1f70 n/a (libffi.so.8 + 0x6f70)
#6 0x0000007f8e8f1500 n/a (libffi.so.8 + 0x6500)
#7 0x0000007f8fadaf18 g_cclosure_marshal_generic_va (libgobject-2.0.so.0 + 0x17f18)
#8 0x0000007f8fada5a0 _g_closure_invoke_va (libgobject-2.0.so.0 + 0x175a0)
#9 0x0000007f8faf4278 g_signal_emit_valist (libgobject-2.0.so.0 + 0x31278)
#10 0x0000007f8faf44cc g_signal_emit (libgobject-2.0.so.0 + 0x314cc)
#11 0x0000007f8fada368 g_closure_invoke (libgobject-2.0.so.0 + 0x17368)
#12 0x0000007f8faee06c signal_emit_unlocked_R (libgobject-2.0.so.0 + 0x2b06c)
#13 0x0000007f8faf3edc g_signal_emit_valist (libgobject-2.0.so.0 + 0x30edc)
#14 0x0000007f8faf44cc g_signal_emit (libgobject-2.0.so.0 + 0x314cc)
#15 0x0000007f8fadf218 g_object_dispatch_properties_changed (libgobject-2.0.so.0 + 0x1c218)
#16 0x0000007f8fae17fc g_object_notify_by_spec_internal (libgobject-2.0.so.0 + 0x1e7fc)
#17 0x000000559245e580 calls_call_set_state (gnome-calls + 0x1e580)
#18 0x0000007f8e8f1f70 n/a (libffi.so.8 + 0x6f70)
#19 0x0000007f8e8f1500 n/a (libffi.so.8 + 0x6500)
#20 0x0000007f8fadac74 g_cclosure_marshal_generic (libgobject-2.0.so.0 + 0x17c74)
#21 0x0000007f8fada368 g_closure_invoke (libgobject-2.0.so.0 + 0x17368)
#22 0x0000007f8faee06c signal_emit_unlocked_R (libgobject-2.0.so.0 + 0x2b06c)
#23 0x0000007f7ad7d7d8 n/a (libmm-glib.so.0 + 0x817d8)
#24 0x0000007f8fada368 g_closure_invoke (libgobject-2.0.so.0 + 0x17368)
#25 0x0000007f8faedbb4 signal_emit_unlocked_R (libgobject-2.0.so.0 + 0x2abb4)
#26 0x0000007f8faf3edc g_signal_emit_valist (libgobject-2.0.so.0 + 0x30edc)
#27 0x0000007f8faf44cc g_signal_emit (libgobject-2.0.so.0 + 0x314cc)
#28 0x0000007f8eee3758 on_signal_received (libgio-2.0.so.0 + 0x136758)
#29 0x0000007f8eecf468 emit_signal_instance_in_idle_cb (libgio-2.0.so.0 + 0x122468)
#30 0x0000007f8f9ce234 g_main_dispatch (libglib-2.0.so.0 + 0x57234)
#31 0x0000007f8f9ce5d8 g_main_context_iterate (libglib-2.0.so.0 + 0x575d8)
#32 0x0000007f8f9ce6a4 g_main_context_iteration (libglib-2.0.so.0 + 0x576a4)
#33 0x0000007f8eea52e0 g_application_run (libgio-2.0.so.0 + 0xf82e0)
#34 0x0000005592453dd4 main (gnome-calls + 0x13dd4)
#35 0x0000007f8e926614 __libc_start_main (libc.so.6 + 0x21614)
#36 0x0000005592453e38 _start (gnome-calls + 0x13e38)
And looking at journalctl
leading up to the dump:
Jun 17 00:55:49 hades ModemManager[520]: <info> [modem17/call4] user request to accept call
Jun 17 00:55:49 hades ModemManager[520]: <info> [modem17/call4] call is accepted
Jun 17 00:55:49 hades ModemManager[520]: <info> [modem17/call4] call state changed: ringing-in -> active (accepted)
Jun 17 00:55:49 hades ModemManager[520]: <info> [modem17/call4] call state changed: active -> ringing-in (unknown)
Jun 17 00:55:49 hades org.gnome.Calls-daemon.desktop[12600]: **
Jun 17 00:55:49 hades org.gnome.Calls-daemon.desktop[12600]: CallsRecordStore:ERROR:../src/calls-record-store.c:580:state_changed_cb: code should not be reached
Jun 17 00:55:49 hades org.gnome.Calls-daemon.desktop[12600]: Bail out! CallsRecordStore:ERROR:../src/calls-record-store.c:580:state_changed_cb: code should not be reached
curious that it went from "ringing" to "active" and then back to "ringing".. potentially a bug in the firmware (I'm a bit afraid to update the stock firmware since newer revisions of the hardware which also shipped with slightly newer FW failed to register to the home network...)
Anyway: We should probably rather g_warning ()
instead of going gung ho with g_assert_not_reached ()
here