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 791720 - Criticals in gio/xdp-dbus.h leading to crash under flatpak
Criticals in gio/xdp-dbus.h leading to crash under flatpak
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: gio
unspecified
Other Linux
: Normal critical
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks: 791206
 
 
Reported: 2017-12-18 06:13 UTC by Michael Gratton
Modified: 2018-01-08 15:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gopenuriportal: Fix mismatched types in callback (1.34 KB, patch)
2017-12-18 19:08 UTC, Philip Withnall
committed Details | Review

Description Michael Gratton 2017-12-18 06:13:58 UTC
Geary Bug 791206 seems to be caused by an error in GXdpOpenURIProxy:

Stack trace from running Geary from Flathub as follows:

(geary:6): GLib-GIO-CRITICAL **: g_dbus_connection_signal_unsubscribe: assertion 'G_IS_DBUS_CONNECTION (connection)' failed

Thread 1 "geary" received signal SIGTRAP, Trace/breakpoint trap.
_g_log_abort (breakpoint=breakpoint@entry=1) at gmessages.c:554
554	}
(gdb) bt
  • #0 _g_log_abort
    at gmessages.c line 554
  • #1 g_logv
    at gmessages.c line 1362
  • #2 g_log
    at gmessages.c line 1403
  • #3 g_return_if_fail_warning
    at gmessages.c line 2702
  • #4 g_dbus_connection_signal_unsubscribe
    at gdbusconnection.c line 3638
  • #5 open_call_done
    at gopenuriportal.c line 228
  • #6 g_task_return_now
    at gtask.c line 1145
  • #7 g_task_return
    at gtask.c line 1203
  • #8 reply_cb
    at gdbusproxy.c line 2589
  • #9 g_task_return_now
    at gtask.c line 1145
  • #10 g_task_return
    at gtask.c line 1203
  • #11 g_dbus_connection_call_done
    at gdbusconnection.c line 5722
  • #12 g_task_return_now
    at gtask.c line 1145
  • #13 complete_in_idle_cb
    at gtask.c line 1159
  • #14 g_main_context_dispatch
    at gmain.c line 3148
  • #15 g_main_context_dispatch
    at gmain.c line 3813
  • #16 g_main_context_iterate
    at gmain.c line 3886
  • #17 g_main_context_iteration
    at gmain.c line 3947
  • #18 g_application_run
    at gapplication.c line 2401
  • #19 _vala_main
    at /run/build/geary/src/client/application/main.vala line 33
  • #20 __libc_start_main
    at /usr/src/debug/glibc/2.24-r0/git/csu/libc-start.c line 289
  • #21 _start
    at ../sysdeps/x86_64/start.S line 120

Comment 1 Philip Withnall 2017-12-18 19:08:30 UTC
Created attachment 365718 [details] [review]
gopenuriportal: Fix mismatched types in callback

The source object for this asynchronous operation is the GXdpOpenURI,
not a GDBusConnection. This was causing crashes in method calls on the
connection, unsurprisingly.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
Comment 2 Emmanuele Bassi (:ebassi) 2018-01-08 11:12:28 UTC
Review of attachment 365718 [details] [review]:

ACK-by: me
Comment 3 Philip Withnall 2018-01-08 11:47:17 UTC
Pushed to master and glib-2-54, thanks for the review.

Attachment 365718 [details] pushed as 692c8d1 - gopenuriportal: Fix mismatched types in callback
Comment 4 Piotr Drąg 2018-01-08 14:51:35 UTC
(In reply to Philip Withnall from comment #3)
> Pushed to master and glib-2-54, thanks for the review.
> 

It’s only in glib-2-54, and not in master.
Comment 5 Philip Withnall 2018-01-08 15:17:19 UTC
I am not sure how that happened. I pulled the patch onto master, cherry-picked to glib-2-54, then ran `git bz push`, and somehow things silently went wrong.

Thanks for spotting that. :-(

Actually pushed to master this time.