Re: Hardcode break request: mutter

2019-03-05 Thread mcatanzaro

On Tue, Mar 5, 2019 at 11:44 AM, Andre Klapper  wrote:

Yes please. r-t approval 1 of 2.


Approval 2 / 2

___
release-team@gnome.org
https://mail.gnome.org/mailman/listinfo/release-team
Release-team lurker? Do NOT participate in discussions.


Re: Hardcode break request: mutter

2019-03-05 Thread Andre Klapper
Hi,

On Tue, 2019-03-05 at 17:36 +, Andrea Azzarone wrote:
> I'd like to request a hardcode freeze break for 
> https://gitlab.gnome.org/GNOME/mutter/merge_requests/474. 
> The MR has already been approved by the maintainer.
> 
> The MR contains a fix for a deadlock that can be triggered when
> changing the volume in Gnome Shell. If this
> issue is triggered the shell will be completely blocked and there is
> no easy way to unblock/restart it. In Ubuntu
> we already have several reports about this [1]).

Yes please. r-t approval 1 of 2.

andre
-- 
Andre Klapper  |  ak...@gmx.net
https://blogs.gnome.org/aklapper/


___
release-team@gnome.org
https://mail.gnome.org/mailman/listinfo/release-team
Release-team lurker? Do NOT participate in discussions.


Hardcode break request: mutter

2019-03-05 Thread Andrea Azzarone via release-team
Hello Release Team,

I'd like to request a hardcode freeze break for
https://gitlab.gnome.org/GNOME/mutter/merge_requests/474.
The MR has already been approved by the maintainer.

The MR contains a fix for a deadlock that can be triggered when changing
the volume in Gnome Shell. If this
issue is triggered the shell will be completely blocked and there is no
easy way to unblock/restart it. In Ubuntu
we already have several reports about this [1]).

Thanks,

[1] https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1817546

-- 
Andrea Azzarone
From b90be286a9f032cd7d0e6e44cc454a7db99e609a Mon Sep 17 00:00:00 2001
From: Andrea Azzarone 
Date: Mon, 4 Mar 2019 19:37:09 +
Subject: [PATCH] sound-player: Don't deadlock in finish_cb

The function finish_cb can be called as a result of a call to ca_context_cancel
in cancelled_cb. This will result in a deadlock because, as per documentation,
g_cancellable_disconnect cannot be called inside the cancellable handler.

It is possible to detect if the call to finish_cb is caused by ca_context_cancel
checking if error_code == CA_ERROR_CANCELED. To avoid the deadlock we should
call g_signal_handler_disconnect instead g_cancellable_disconnect if this is the
case.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/474
---
 src/core/meta-sound-player.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/core/meta-sound-player.c b/src/core/meta-sound-player.c
index ab934781a..8ef403936 100644
--- a/src/core/meta-sound-player.c
+++ b/src/core/meta-sound-player.c
@@ -117,7 +117,11 @@ finish_cb (ca_context *context,
 {
   MetaPlayRequest *req = user_data;
 
-  g_cancellable_disconnect (req->cancellable, req->cancel_id);
+  if (error_code != CA_ERROR_CANCELED)
+g_cancellable_disconnect (req->cancellable, req->cancel_id);
+  else if (req->cancellable != NULL && req->cancel_id != 0)
+g_signal_handler_disconnect (req->cancellable, req->cancel_id);
+
   meta_play_request_free (req);
 }
 
-- 
2.20.1

___
release-team@gnome.org
https://mail.gnome.org/mailman/listinfo/release-team
Release-team lurker? Do NOT participate in discussions.