Your message dated Sat, 22 Jul 2023 13:19:41 +0000
with message-id <e1qncwl-005rp3...@coccia.debian.org>
and subject line Released with 12.1
has caused the Debian Bug report #1038714,
regarding bookworm-pu: package mate-session-manager/1.26.0-1+deb12u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1038714: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1038714
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: mate-session-mana...@packages.debian.org
Control: affects -1 + src:mate-session-manager

[ Reason ]
Memory leak fixes, CLUTTER_BACKEND env variable mitigation (when
switching between MATE and GNOME for the same user).

[ Impact ]
Less memory leakage in MATE desktop session. Mitigation of clutter
backend issue when switching between MATE and any other non-X11
desktop.

[ Tests ]
Code review, manual tests on bookworm system.

[ Risks ]
Regression in MATE for clutter based applications possible. Regression
in MATE session possible.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

+  * debian/patches:
+    + Add 0007_Fix-memory-leaks-284.patch and 0008_mate-session-fix-memory-
+      leak.patch. Fix various memory leaks. (Closes: #1038638).
+    + Cherry-pick 0009_main-fix-double-free-on-gl_renderer.patch from 
upstream's
+      1.26 branch. Regression fix for 0008_mate-session-fix-memory-leak.patch.
+  * debian/default-settings/X11/Xsession.d/99mate-environment:
+    + Allow clutter backends other than x11 (while preferring x11). (Closes:
+      #954783).

[ Other info ]
None.
diff -Nru mate-session-manager-1.26.0/debian/changelog 
mate-session-manager-1.26.0/debian/changelog
--- mate-session-manager-1.26.0/debian/changelog        2021-12-11 
17:47:23.000000000 +0100
+++ mate-session-manager-1.26.0/debian/changelog        2023-06-20 
08:10:18.000000000 +0200
@@ -1,3 +1,16 @@
+mate-session-manager (1.26.0-1+deb12u1) bookworm; urgency=medium
+
+  * debian/patches:
+    + Add 0007_Fix-memory-leaks-284.patch and 0008_mate-session-fix-memory-
+      leak.patch. Fix various memory leaks. (Closes: #1038638).
+    + Cherry-pick 0009_main-fix-double-free-on-gl_renderer.patch from 
upstream's
+      1.26 branch. Regression fix for 0008_mate-session-fix-memory-leak.patch.
+  * debian/default-settings/X11/Xsession.d/99mate-environment:
+    + Allow clutter backends other than x11 (while preferring x11). (Closes:
+      #954783).
+
+ -- Mike Gabriel <sunwea...@debian.org>  Tue, 20 Jun 2023 08:10:18 +0200
+
 mate-session-manager (1.26.0-1) unstable; urgency=medium
 
   [ Martin Wimpress ]
diff -Nru 
mate-session-manager-1.26.0/debian/default-settings/X11/Xsession.d/99mate-environment
 
mate-session-manager-1.26.0/debian/default-settings/X11/Xsession.d/99mate-environment
--- 
mate-session-manager-1.26.0/debian/default-settings/X11/Xsession.d/99mate-environment
       2018-10-27 14:33:57.000000000 +0200
+++ 
mate-session-manager-1.26.0/debian/default-settings/X11/Xsession.d/99mate-environment
       2023-06-20 08:10:18.000000000 +0200
@@ -33,6 +33,6 @@
     #  - Telegram doesn't work with QT_STYLE_OVERRIDE=gtk
     # export QT_STYLE_OVERRIDE=gtk
 
-    # Workaround clutter issue (LP: #1462445)
-    export CLUTTER_BACKEND=x11
+    # Workaround clutter issue (LP: #1462445, Debian #954783)
+    export CLUTTER_BACKEND="x11,*"
 fi
diff -Nru 
mate-session-manager-1.26.0/debian/patches/0007_Fix-memory-leaks-284.patch 
mate-session-manager-1.26.0/debian/patches/0007_Fix-memory-leaks-284.patch
--- mate-session-manager-1.26.0/debian/patches/0007_Fix-memory-leaks-284.patch  
1970-01-01 01:00:00.000000000 +0100
+++ mate-session-manager-1.26.0/debian/patches/0007_Fix-memory-leaks-284.patch  
2023-06-19 15:15:23.000000000 +0200
@@ -0,0 +1,54 @@
+From 7b09df2f9a5ddf27b4c4458e6f8cb3ad701ee24d Mon Sep 17 00:00:00 2001
+From: Robert Antoni Buj Gelonch <r...@users.noreply.github.com>
+Date: Sat, 20 Aug 2022 02:19:30 +0200
+Subject: [PATCH 1/2] Fix memory leaks (#284)
+
+Signed-off-by: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+---
+ tools/mate-session-check-accelerated-gl-helper.c   | 1 +
+ tools/mate-session-check-accelerated-gles-helper.c | 2 ++
+ tools/mate-session-check-accelerated.c             | 1 +
+ 3 files changed, 4 insertions(+)
+
+diff --git a/tools/mate-session-check-accelerated-gl-helper.c 
b/tools/mate-session-check-accelerated-gl-helper.c
+index 9c1cc0b..5c1e8d9 100644
+--- a/tools/mate-session-check-accelerated-gl-helper.c
++++ b/tools/mate-session-check-accelerated-gl-helper.c
+@@ -510,6 +510,7 @@ main (int argc, char **argv)
+ out:
+         if (display)
+                 XCloseDisplay (display);
++        g_option_context_free (context);
+         g_free (renderer);
+ 
+         return ret;
+diff --git a/tools/mate-session-check-accelerated-gles-helper.c 
b/tools/mate-session-check-accelerated-gles-helper.c
+index e6312c6..d5ad808 100644
+--- a/tools/mate-session-check-accelerated-gles-helper.c
++++ b/tools/mate-session-check-accelerated-gles-helper.c
+@@ -226,8 +226,10 @@ main (int argc,
+                 else
+                         ret = HELPER_ACCEL;
+         }
++        g_free (renderer);
+ #endif
+ 
+ out:
++        g_option_context_free (context);
+         return ret;
+ }
+diff --git a/tools/mate-session-check-accelerated.c 
b/tools/mate-session-check-accelerated.c
+index 6fe6ec4..70095f5 100644
+--- a/tools/mate-session-check-accelerated.c
++++ b/tools/mate-session-check-accelerated.c
+@@ -158,6 +158,7 @@ main (int argc, char **argv)
+                 renderer_string = get_gtk_gles_renderer ();
+                 if (renderer_string) {
+                         g_print ("%s", renderer_string);
++                        g_free (renderer_string);
+                         return 0;
+                 }
+                 return 1;
+-- 
+2.39.2
+
diff -Nru 
mate-session-manager-1.26.0/debian/patches/0008_mate-session-fix-memory-leak.patch
 
mate-session-manager-1.26.0/debian/patches/0008_mate-session-fix-memory-leak.patch
--- 
mate-session-manager-1.26.0/debian/patches/0008_mate-session-fix-memory-leak.patch
  1970-01-01 01:00:00.000000000 +0100
+++ 
mate-session-manager-1.26.0/debian/patches/0008_mate-session-fix-memory-leak.patch
  2023-06-19 15:15:23.000000000 +0200
@@ -0,0 +1,111 @@
+From 1bc90279ce1c094c0036077917ac7b93f5cb4007 Mon Sep 17 00:00:00 2001
+From: rbuj <robert....@gmail.com>
+Date: Sat, 23 Oct 2021 11:18:52 +0200
+Subject: [PATCH 2/2] mate-session: fix memory leak
+
+Signed-off-by: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+---
+ mate-session/gsm-manager.c |  8 ++++++--
+ mate-session/main.c        | 11 ++++++-----
+ 2 files changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/mate-session/gsm-manager.c b/mate-session/gsm-manager.c
+index 9b5374e..47108d0 100644
+--- a/mate-session/gsm-manager.c
++++ b/mate-session/gsm-manager.c
+@@ -145,7 +145,7 @@ typedef struct {
+         GSettings              *settings_lockdown;
+         GSettings              *settings_screensaver;
+ 
+-        const char             *renderer;
++        char                   *renderer;
+ 
+         DBusGProxy             *bus_proxy;
+         DBusGConnection        *connection;
+@@ -1697,7 +1697,8 @@ _gsm_manager_set_renderer (GsmManager *manager,
+ {
+         GsmManagerPrivate *priv;
+         priv = gsm_manager_get_instance_private (manager);
+-        priv->renderer = renderer;
++        g_free (priv->renderer);
++        priv->renderer = g_strdup (renderer);
+ }
+ 
+ static gboolean
+@@ -2660,6 +2661,9 @@ gsm_manager_dispose (GObject *object)
+                 g_object_unref (priv->settings_screensaver);
+                 priv->settings_screensaver = NULL;
+         }
++
++        g_clear_pointer (&priv->renderer, g_free);
++
+         G_OBJECT_CLASS (gsm_manager_parent_class)->dispose (object);
+ }
+ 
+diff --git a/mate-session/main.c b/mate-session/main.c
+index 96c1092..fc2148e 100644
+--- a/mate-session/main.c
++++ b/mate-session/main.c
+@@ -83,7 +83,6 @@ static gboolean failsafe = FALSE;
+ static gboolean show_version = FALSE;
+ static gboolean debug = FALSE;
+ static gboolean disable_acceleration_check = FALSE;
+-static char *gl_renderer = NULL;
+ 
+ static gboolean
+ initialize_gsettings (void)
+@@ -575,7 +574,7 @@ static void set_overlay_scroll (void)
+ }
+ 
+ static gboolean
+-check_gl (GError **error)
++check_gl (gchar **gl_renderer, GError **error)
+ {
+       int status;
+       char *argv[] = { LIBEXECDIR "/mate-session-check-accelerated", NULL };
+@@ -585,7 +584,7 @@ check_gl (GError **error)
+               return TRUE;
+       }
+ 
+-      if (!g_spawn_sync (NULL, (char **) argv, NULL, 0, NULL, NULL, 
&gl_renderer, NULL,
++      if (!g_spawn_sync (NULL, (char **) argv, NULL, 0, NULL, NULL, 
gl_renderer, NULL,
+                          &status, error)) {
+               return FALSE;
+       }
+@@ -605,6 +604,7 @@ int main(int argc, char** argv)
+       GSettings* accessibility_settings;
+       MdmSignalHandler* signal_handler;
+       static char** override_autostart_dirs = NULL;
++      char* gl_renderer = NULL;
+       gboolean gl_failed = FALSE;
+ 
+       static GOptionEntry entries[] = {
+@@ -670,7 +670,7 @@ int main(int argc, char** argv)
+               g_debug ("hardware acceleration check is disabled");
+       } else {
+               /* Check GL, if it doesn't work out then force software 
fallback */
+-              if (!check_gl (&error)) {
++              if (!check_gl (&gl_renderer, &error)) {
+                       gl_failed = TRUE;
+ 
+                       g_debug ("hardware acceleration check failed: %s",
+@@ -678,7 +678,7 @@ int main(int argc, char** argv)
+                       g_clear_error (&error);
+                       if (g_getenv ("LIBGL_ALWAYS_SOFTWARE") == NULL) {
+                               g_setenv ("LIBGL_ALWAYS_SOFTWARE", "1", TRUE);
+-                              if (!check_gl (&error)) {
++                              if (!check_gl (&gl_renderer, &error)) {
+                                       g_warning ("software acceleration check 
failed: %s",
+                                                  error? error->message : "");
+                                       g_clear_error (&error);
+@@ -759,6 +759,7 @@ int main(int argc, char** argv)
+ 
+       gsm_xsmp_server_start(xsmp_server);
+       _gsm_manager_set_renderer (manager, gl_renderer);
++      g_free (gl_renderer);
+       gsm_manager_start(manager);
+ 
+       gtk_main();
+-- 
+2.39.2
+
diff -Nru 
mate-session-manager-1.26.0/debian/patches/0009_main-fix-double-free-on-gl_renderer.patch
 
mate-session-manager-1.26.0/debian/patches/0009_main-fix-double-free-on-gl_renderer.patch
--- 
mate-session-manager-1.26.0/debian/patches/0009_main-fix-double-free-on-gl_renderer.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
mate-session-manager-1.26.0/debian/patches/0009_main-fix-double-free-on-gl_renderer.patch
   2023-06-19 15:15:20.000000000 +0200
@@ -0,0 +1,27 @@
+From 1deb34ac81817da45b1e1d0c80f2bb4954a4253e Mon Sep 17 00:00:00 2001
+From: Jan Palus <jpa...@fastmail.com>
+Date: Sun, 21 May 2023 00:30:29 +0200
+Subject: [PATCH] main: fix double free on gl_renderer
+
+Fixes: 1263384 ("mate-session: fix memory leak")
+Fixes: #304
+Signed-off-by: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+---
+ mate-session/main.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/mate-session/main.c b/mate-session/main.c
+index fc2148e..68e3864 100644
+--- a/mate-session/main.c
++++ b/mate-session/main.c
+@@ -759,7 +759,6 @@ int main(int argc, char** argv)
+ 
+       gsm_xsmp_server_start(xsmp_server);
+       _gsm_manager_set_renderer (manager, gl_renderer);
+-      g_free (gl_renderer);
+       gsm_manager_start(manager);
+ 
+       gtk_main();
+-- 
+2.39.2
+
diff -Nru mate-session-manager-1.26.0/debian/patches/series 
mate-session-manager-1.26.0/debian/patches/series
--- mate-session-manager-1.26.0/debian/patches/series   2021-12-11 
17:47:23.000000000 +0100
+++ mate-session-manager-1.26.0/debian/patches/series   2023-06-19 
15:17:36.000000000 +0200
@@ -1,2 +1,5 @@
 0005_lock-session-before-user-switch.patch
 0006_util-Blacklist-some-session-specific-variables.patch
+0007_Fix-memory-leaks-284.patch
+0008_mate-session-fix-memory-leak.patch
+0009_main-fix-double-free-on-gl_renderer.patch

--- End Message ---
--- Begin Message ---
Version: 12.1

The upload requested in this bug has been released as part of 12.1.

--- End Message ---

Reply via email to