Crash in gjs_dbus_implementation_flush()
CC @obyknovenius. gnome-weather often emits this critical on shutdown:
GLib-GIO-CRITICAL **: 10:17:54.073: g_dbus_connection_emit_signal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
Here are the top frames of a full backtrace with gjs-1.64.3-3.f32:
(gdb) bt full
#0 g_logv
(log_domain=0x7f154dd58718 "GLib-GIO", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1377
domain = 0x0
data = 0x0
depth = 0
log_func = 0x7f154de9bcb0 <g_log_default_handler>
domain_fatal_mask = <optimized out>
masquerade_fatal = <optimized out>
test_level = <optimized out>
was_fatal = <optimized out>
was_recursion = <optimized out>
msg = 0x5601330dc880 "g_dbus_connection_emit_signal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed"
msg_alloc = 0x5601330dc880 "g_dbus_connection_emit_signal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed"
i = 3
#1 0x00007f154de9c253 in g_log
(log_domain=log_domain@entry=0x7f154dd58718 "GLib-GIO", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f154deee6ff "%s: assertion '%s' failed") at ../glib/gmessages.c:1415
args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fff31fcd7f0, reg_save_area = 0x7fff31fcd730}}
#2 0x00007f154de9ca4d in g_return_if_fail_warning
(log_domain=log_domain@entry=0x7f154dd58718 "GLib-GIO", pretty_function=pretty_function@entry=0x7f154dd7f480 <__func__.12> "g_dbus_connection_emit_signal", expression=expression@entry=0x7f154dd7de48 "G_IS_DBUS_CONNECTION (connection)") at ../glib/gmessages.c:2771
#3 0x00007f154dd1aa8a in g_dbus_connection_emit_signal
(connection=<optimized out>, destination_bus_name=destination_bus_name@entry=0x0, object_path=object_path@entry=0x0, interface_name=interface_name@entry=0x7f154e012ed8 "org.freedesktop.DBus.Properties", signal_name=signal_name@entry=0x7f154e012e08 "PropertiesChanged", parameters=parameters@entry=0x5601330c6810, error=0x0)
at ../gio/gdbusconnection.c:5579
message = 0x0
ret = 0
__func__ = "g_dbus_connection_emit_signal"
#4 0x00007f154dff5142 in gjs_dbus_implementation_flush (skeleton=0x5601315518a0 [GjsDBusImplementation])
at ../libgjs-private/gjs-gdbus-wrapper.c:261
self = 0x5601315518a0 [GjsDBusImplementation]
changed_props =
{u = {s = {partial_magic = 0, type = 0x0, y = {0 <repeats 14 times>}}, x = {0 <repeats 16 times>}}}
invalidated_props =
{u = {s = {partial_magic = 0, type = 0x0, y = {0 <repeats 14 times>}}, x = {0 <repeats 16 times>}}}
iter =
{dummy1 = 0x5601315ae700, dummy2 = 0xa553ba0dd3a0ee00, dummy3 = 0x0, dummy4 = 8, dummy5 = 32533, dummy6 = 0x560100000001}
val = 0x5601320b6e40
prop_name = 0x560132f4c150 "Locations"
#5 0x00007f154dff4cb0 in idle_cb (data=data@entry=0x5601315518a0) at ../libgjs-private/gjs-gdbus-wrapper.c:339
skeleton = <optimized out>
c
#6 0x00007f154de9047b in g_idle_dispatch
(source=source@entry=0x560132ae3090, callback=0x7f154dff4c90 <idle_cb>, user_data=0x5601315518a0)
at ../glib/gmain.c:5755
again = <optimized out>
#7 0x00007f154de947af in g_main_dispatch (context=0x56013144c800) at ../glib/gmain.c:3309
dispatch = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
prev_source = 0x0
was_in_call = <optimized out>
user_data = 0x5601315518a0
callback = 0x7f154dff4c90 <idle_cb>
cb_funcs = 0x7f154df6b280 <g_source_callback_funcs>
cb_data = 0x560131675d20
need_destroy = <optimized out>
source = 0x560132ae3090
current = 0x560131454570
i = 1
__func__ = "g_main_dispatch"
#8 g_main_context_dispatch (context=0x56013144c800) at ../glib/gmain.c:3974
#9 0x00007f154de94b38 in g_main_context_iterate (context=context@entry=0x56013144c800, block=block@entry=0, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047
max_priority = 200
timeout = 0
some_ready = 1
nfds = <optimized out>
allocated_nfds = <optimized out>
fds = 0x56013243eba0
#10 0x00007f154de94c03 in g_main_context_iteration (context=context@entry=0x56013144c800, may_block=may_block@entry=0) at ../glib/gmain.c:4108
retval = <optimized out>
#11 0x00007f154dcea7d8 in g_application_run (application=0x5601315af0f0 [Gjs_WeatherApplication], argc=<optimized out>, argv=<optimized out>) at ../gio/gapplication.c:2584
arguments = 0x560131573240
status = 0
context = 0x56013144c800
acquired_context = <optimized out>
__func__ = "g_application_run"
All frames:
(gdb) bt
#0 g_logv
(log_domain=0x7f154dd58718 "GLib-GIO", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1377
#1 0x00007f154de9c253 in g_log
(log_domain=log_domain@entry=0x7f154dd58718 "GLib-GIO", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f154deee6ff "%s: assertion '%s' failed") at ../glib/gmessages.c:1415
#2 0x00007f154de9ca4d in g_return_if_fail_warning
(log_domain=log_domain@entry=0x7f154dd58718 "GLib-GIO", pretty_function=pretty_function@entry=0x7f154dd7f480 <__func__.12> "g_dbus_connection_emit_signal", expression=expression@entry=0x7f154dd7de48 "G_IS_DBUS_CONNECTION (connection)") at ../glib/gmessages.c:2771
#3 0x00007f154dd1aa8a in g_dbus_connection_emit_signal
(connection=<optimized out>, destination_bus_name=destination_bus_name@entry=0x0, object_path=object_path@entry=0x0, interface_name=interface_name@entry=0x7f154e012ed8 "org.freedesktop.DBus.Properties", signal_name=signal_name@entry=0x7f154e012e08 "PropertiesChanged", parameters=parameters@entry=0x5601330c6810, error=0x0)
at ../gio/gdbusconnection.c:5579
#4 0x00007f154dff5142 in gjs_dbus_implementation_flush (skeleton=0x5601315518a0 [GjsDBusImplementation])
at ../libgjs-private/gjs-gdbus-wrapper.c:261
#5 0x00007f154dff4cb0 in idle_cb (data=data@entry=0x5601315518a0) at ../libgjs-private/gjs-gdbus-wrapper.c:339
#6 0x00007f154de9047b in g_idle_dispatch
(source=source@entry=0x560132ae3090, callback=0x7f154dff4c90 <idle_cb>, user_data=0x5601315518a0)
at ../glib/gmain.c:5755
#7 0x00007f154de947af in g_main_dispatch (context=0x56013144c800) at ../glib/gmain.c:3309
#8 g_main_context_dispatch (context=0x56013144c800) at ../glib/gmain.c:3974
#9 0x00007f154de94b38 in g_main_context_iterate
(context=context@entry=0x56013144c800, block=block@entry=0, dispatch=dispatch@entry=1, self=<optimized out>)
at ../glib/gmain.c:4047
#10 0x00007f154de94c03 in g_main_context_iteration
(context=context@entry=0x56013144c800, may_block=may_block@entry=0) at ../glib/gmain.c:4108
#11 0x00007f154dcea7d8 in g_application_run
(application=0x5601315af0f0 [Gjs_WeatherApplication], argc=<optimized out>, argv=<optimized out>)
at ../gio/gapplication.c:2584
#12 0x00007f154d9d8af0 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#13 0x00007f154d9d82ab in ffi_call (cif=cif@entry=0x56013159e418, fn=<optimized out>, rvalue=<optimized out>,
rvalue@entry=0x7fff31fcddc8, avalue=avalue@entry=0x7fff31fcdcd0) at ../src/x86/ffi64.c:525
#14 0x00007f154dfa6a5b in gjs_invoke_c_function(JSContext*, Function*, JS::HandleObject, JS::HandleValueArray const&, mozilla::Maybe<JS::MutableHandle<JS::Value> >, GIArgument*)
(context=<optimized out>, function=0x56013159e400, obj=..., args=..., js_rval=..., r_value=<optimized out>)
at ../gi/function.cpp:1129
#15 0x00007f154dfa83a9 in function_call(JSContext*, unsigned int, JS::Value*)
(context=0x5601313634e0, js_argc=1, vp=0x560131418288) at /usr/include/mozjs-68/js/RootingAPI.h:1212
#16 0x00007f154c4113fc in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) (args=..., native=0x7f154dfa8270 <function_call(JSContext*, unsigned int, JS::Value*)>, cx=0x5601313634e0)
at /usr/src/debug/mozjs68-68.10.0-1.fc32.x86_64/dist/include/js/CallArgs.h:284
#17 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct)
(cx=0x5601313634e0, args=..., construct=<optimized out>)
at /usr/src/debug/mozjs68-68.10.0-1.fc32.x86_64/vm/Interpreter.cpp:515
#18 0x00007f154c403f08 in js::CallFromStack(JSContext*, JS::CallArgs const&) (args=..., cx=<optimized out>)
at /usr/src/debug/mozjs68-68.10.0-1.fc32.x86_64/vm/Interpreter.cpp:3082
#19 Interpret(JSContext*, js::RunState&) (cx=0x5601313634e0, state=...)
at /usr/src/debug/mozjs68-68.10.0-1.fc32.x86_64/vm/Interpreter.cpp:3082
#20 0x00007f154c410cc6 in js::RunScript(JSContext*, js::RunState&) (cx=0x5601313634e0, state=...)
at /usr/src/debug/mozjs68-68.10.0-1.fc32.x86_64/vm/Interpreter.cpp:423
#21 0x00007f154c41247f in js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) (cx=cx@entry=0x5601313634e0, script=..., script@entry=..., envChainArg=..., newTargetValue=..., evalInFrame=..., evalInFrame@entry=..., result=result@entry=0x7fff31fcf140) at /usr/src/debug/mozjs68-68.10.0-1.fc32.x86_64/vm/Interpreter.cpp:782
#22 0x00007f154c4125ae in js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) (cx=0x5601313634e0, script=..., envChainArg=..., rval=0x7fff31fcf140) at /usr/src/debug/mozjs68-68.10.0-1.fc32.x86_64/dist/include/js/Value.h:934
#23 0x00007f154c4dc553 in EvaluateSourceBuffer<char16_t>(JSContext*, js::ScopeKind, JS::Handle<JSObject*>, JS::ReadOnlyCompileOptions const&, JS::SourceText<char16_t>&, JS::MutableHandle<JS::Value>) (cx=0x5601313634e0, scopeKind=<optimized out>, env=..., optionsArg=..., srcBuf=..., rval=...) at /usr/src/debug/mozjs68-68.10.0-1.fc32.x86_64/dist/include/js/RootingAPI.h:1212
#24 0x00007f154c491400 in JS::Evaluate(JSContext*, JS::Handle<JS::StackGCVector<JSObject*, js::TempAllocPolicy> >, JS::ReadOnlyCompileOptions const&, JS::SourceText<char16_t>&, JS::MutableHandle<JS::Value>) (cx=0x5601313634e0, envChain=..., envChain@entry=..., options=..., srcBuf=..., rval=rval@entry=...) at /usr/src/debug/mozjs68-68.10.0-1.fc32.x86_64/vm/Scope.h:339
#25 0x00007f154dfce2be in GjsContextPrivate::eval_with_scope(JS::Handle<JSObject*>, char const*, long, char const*, JS::MutableHandle<JS::Value>) (this=0x5601313640b0, scope_object=..., script=0x7fff31fcf088 "\200\247\a\271\337\a", script_len=140734032047888, filename=0x56013135f170 "/home/mcatanzaro/Projects/GNOME/install/bin/gnome-weather", retval=...) at /usr/include/mozjs-68/js/RootingAPI.h:1212
#26 0x00007f154dfce5b6 in GjsContextPrivate::eval(char const*, long, char const*, int*, _GError**) (this=0x5601313640b0, script=0x56013135ef70 "#!/usr/bin/gjs\nimports.package.init({ name: \"org.gnome.Weather\",\n", ' ' <repeats 24 times>, "version: \"3.34.0\",\n", ' ' <repeats 24 times>, "prefix: \"/home/mcatanzaro/Projects/GNOME/install\",\n", ' ' <repeats 17 times>..., script_len=318, filename=0x56013135f170 "/home/mcatanzaro/Projects/GNOME/install/bin/gnome-weather", exit_status_p=0x7fff31fcf23c, error=0x7fff31fcf240) at /usr/include/mozjs-68/js/RootingAPI.h:1238
#27 0x00007f154dfce86d in gjs_context_eval(GjsContext*, char const*, gssize, char const*, int*, GError**) (js_context=0x5601313641a0 [GjsContext], script=0x56013135ef70 "#!/usr/bin/gjs\nimports.package.init({ name: \"org.gnome.Weather\",\n", ' ' <repeats 24 times>, "version: \"3.34.0\",\n", ' ' <repeats 24 times>, "prefix: \"/home/mcatanzaro/Projects/GNOME/install\",\n", ' ' <repeats 17 times>..., script_len=318, filename=0x56013135f170 "/home/mcatanzaro/Projects/GNOME/install/bin/gnome-weather", exit_status_p=0x7fff31fcf23c, error=0x7fff31fcf240) at ../gjs/context.cpp:934
#28 0x0000560130cf2240 in define_argv_and_eval_script(_GjsContext*, int, char* const*, char const*, unsigned long, char const*) (js_context=0x5601313641a0 [GjsContext], argc=<optimized out>, argv=<optimized out>, script=0x56013135ef70 "#!/usr/bin/gjs\nimports.package.init({ name: \"org.gnome.Weather\",\n", ' ' <repeats 24 times>, "version: \"3.34.0\",\n", ' ' <repeats 24 times>, "prefix: \"/home/mcatanzaro/Projects/GNOME/install\",\n", ' ' <repeats 17 times>..., len=318, filename=0x56013135f170 "/home/mcatanzaro/Projects/GNOME/install/bin/gnome-weather") at ../gjs/console.cpp:204
#29 0x0000560130cf1d7f in main(int, char**) (argc=2, argv=<optimized out>) at ../gjs/console.cpp:385