[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#697245: marked as done (unblock: gnome-shell/3.4.2-5)



Your message dated Thu, 03 Jan 2013 16:08:53 +0100
with message-id <50E59F05.1030401@thykier.net>
and subject line Re: Bug#697245: unblock: gnome-shell/3.4.2-5
has caused the Debian Bug report #697245,
regarding unblock: gnome-shell/3.4.2-5
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 owner@bugs.debian.org
immediately.)


-- 
697245: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=697245
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock gnome-shell which includes a new version of the fix 
against deadlocks. It’s far from perfect, but the other solutions being:
 - a full upgrade to GNOME 3.6 for several modules including glib/gtk
 - porting to a major mozjs version that has not been released yet
I think it is an acceptable compromise.


gnome-shell (3.4.2-5) unstable; urgency=low

  * 30_lockup_gc.patch: update patch. Instead of completely dropping 
    explicit GC calls, only do them once every 10 minutes or so. This 
    might still trigger deadlocks, but not at startup time where they 
    are frequent, and otherwise will make them thousands of times less 
    likely. Closes: #696040.

New version of the patch (still the only difference with testing) is 
attached.


unblock gnome-shell/3.4.2-5

Thanks,
-- 
 .''`.      Josselin Mouette
: :' :
`. `'
  `-
Index: gnome-shell-3.4.2/src/shell-global.c
===================================================================
--- gnome-shell-3.4.2.orig/src/shell-global.c	2012-07-20 19:38:25.000000000 +0200
+++ gnome-shell-3.4.2/src/shell-global.c	2013-01-03 00:58:06.396025821 +0100
@@ -45,6 +45,7 @@ static ShellGlobal *the_object = NULL;
 static void grab_notify (GtkWidget *widget, gboolean is_grab, gpointer user_data);
 static void shell_global_on_gc (GjsContext   *context,
                                 ShellGlobal  *global);
+static gboolean on_gc_timeout (gpointer data);
 
 struct _ShellGlobal {
   GObject parent;
@@ -92,6 +93,7 @@ struct _ShellGlobal {
   guint32 xdnd_timestamp;
 
   gint64 last_gc_end_time;
+  guint gc_timer;
 };
 
 enum {
@@ -277,8 +279,13 @@ shell_global_init (ShellGlobal *global)
                                      "js-version", "1.8",
                                      "gc-notifications", TRUE,
                                      NULL);
+
   g_signal_connect (global->js_context, "gc", G_CALLBACK (shell_global_on_gc), global);
 
+  /* Since the GC has a tendency to deadlock, only run it once every 10
+     minutes or so. */
+  global->gc_timer = g_timeout_add_seconds (600, on_gc_timeout, global);
+
   g_strfreev (search_path);
 }
 
@@ -1605,13 +1612,6 @@ run_leisure_functions (gpointer data)
   if (global->work_count > 0)
     return FALSE;
 
-  /* Previously we called gjs_maybe_gc().  However, it simply doesn't
-   * trigger often enough.  Garbage collection is very fast here, so
-   * let's just aggressively GC.  This will help avoid both heap
-   * fragmentation, and the GC kicking in when we don't want it to.
-   */
-  gjs_context_gc (global->js_context);
-
   /* No leisure closures, so we are done */
   if (global->leisure_closures == NULL)
     return FALSE;
@@ -1635,6 +1635,16 @@ run_leisure_functions (gpointer data)
   return FALSE;
 }
 
+static gboolean
+on_gc_timeout (gpointer data)
+{
+  ShellGlobal *global = data;
+  gjs_context_gc (global->js_context);
+
+  return TRUE;
+}
+
+
 static void
 schedule_leisure_functions (ShellGlobal *global)
 {

--- End Message ---
--- Begin Message ---
On 2013-01-03 01:40, Josselin Mouette wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> 
> Please unblock gnome-shell which includes a new version of the fix 
> against deadlocks. It’s far from perfect, but the other solutions being:
>  - a full upgrade to GNOME 3.6 for several modules including glib/gtk
>  - porting to a major mozjs version that has not been released yet
> I think it is an acceptable compromise.
> 
> 
> gnome-shell (3.4.2-5) unstable; urgency=low
> 
>   * 30_lockup_gc.patch: update patch. Instead of completely dropping 
>     explicit GC calls, only do them once every 10 minutes or so. This 
>     might still trigger deadlocks, but not at startup time where they 
>     are frequent, and otherwise will make them thousands of times less 
>     likely. Closes: #696040.
> 
> New version of the patch (still the only difference with testing) is 
> attached.
> 
> 
> unblock gnome-shell/3.4.2-5
> 
> Thanks,

Unblocked, thanks.

~Niels

--- End Message ---

Reply to: