After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 685699 - Critical when emitting property changes
Critical when emitting property changes
Status: RESOLVED OBSOLETE
Product: glib
Classification: Platform
Component: gdbus
2.30.x
Other Linux
: Normal normal
: ---
Assigned To: David Zeuthen (not reading bugmail)
gtkdev
Depends on:
Blocks:
 
 
Reported: 2012-10-08 08:41 UTC by Aleksander Morgado
Modified: 2018-05-24 14:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Aleksander Morgado 2012-10-08 08:41:11 UTC
There's a report in ModemManager (bug 684693) where we're getting a critical like this:

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

  • #0 g_log
    from /usr/lib64/libglib-2.0.so.0
  • #1 g_dbus_connection_emit_signal
    from /usr/lib64/libgio-2.0.so.0
  • #2 _mm_gdbus_modem_location_emit_changed
    at mm-gdbus-modem.c line 8353
  • #3 g_main_context_dispatch
    from /usr/lib64/libglib-2.0.so.0
  • #4 ??
    from /usr/lib64/libglib-2.0.so.0
  • #5 g_main_loop_run
    from /usr/lib64/libglib-2.0.so.0
  • #6 main
    at main.c line 150

I've looked at the code and I cannot see how this could happen, so reporting the bug to see if anyone has an idea.

Some context:
 * The skeleton object has a valid reference when this happened but it was probably already unexported from DBus.
 * I cannot see why g_dbus_connection_emit_signal() triggers the G_IS_DBUS_CONNECTION (connection) warning, as the GDBusConnection being used has a valid object reference (given that g_dbus_interface_skeleton_get_connections() returns a list of new references).
 * GLib version was probably 2.30.x but I'm not 100% sure.

Any hint?
Comment 1 David Zeuthen (not reading bugmail) 2012-10-08 14:59:45 UTC
Hard to say, maybe the application is erroneously unreffing the connecting elsewhere or maybe memory corruption? Try valgrind(1)?
Comment 2 Aleksander Morgado 2012-10-09 05:19:37 UTC
But if the connection was unrefed somewhere else, I would have gotten criticals already in the g_object_ref()s done internally by g_dbus_interface_skeleton_get_connections(). Valgrind would be helpful if it was easily reproducible :-)
Comment 3 GNOME Infrastructure Team 2018-05-24 14:41:16 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/611.