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 775422 - g_cancellable_disconnect() deadlock
g_cancellable_disconnect() deadlock
Status: RESOLVED OBSOLETE
Product: glib
Classification: Platform
Component: gio
2.50.x
Other Linux
: Normal major
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2016-11-30 18:35 UTC by Milan Crha
Modified: 2018-05-24 19:16 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Milan Crha 2016-11-30 18:35:12 UTC
I just received a deadlock issue downstream:
https://bugzilla.redhat.com/show_bug.cgi?id=1398531

Which shows that a deadlock can happen when the g_cancellable_disconnect() calls g_signal_handler_disconnect() with cancellable_mutex lock, then some other parts can deadlock, even it's not obvious from the code, only from the backtrace.

I'd suggest to call g_signal_handler_disconnect() only after the cancellable_mutex is unlocked. Even better would be to use a per-cancellable mutex, as suggested in bug #650252.
Comment 1 GNOME Infrastructure Team 2018-05-24 19:16:17 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/1226.