Bug#542361: uploaded to 5 days delayed

July 20th, 2012 - 10:30 pm ET by Yaroslav Halchenko | Report spam



Here is the debdiff (apparently debian/control is generated but was
modified I guess in prev uploads so Uploaders got changed).

PS I have been testing patched gamin -- seems to work so far

Yaroslav O. Halchenko
Postdoctoral Fellow, Department of Psychological and Brain Sciences
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834 Fax: +1 (603) 646-1419
WWW: http://www.linkedin.com/in/yarik


diff -Nru gamin-0.1.10/debian/changelog gamin-0.1.10/debian/changelog
gamin-0.1.10/debian/changelog 2011-10-18 10:19:06.000000000 -0400
+++ gamin-0.1.10/debian/changelog 2012-07-19 22:08:26.000000000 -0400
@@ -1,3 +1,11 @@
+gamin (0.1.10-4.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Add 18_gam_server_deadlocks.patch: removes locking from ih_sub_cancel()
+ to resolve intermittent deadlocks (Closes: #542361)
+
+ -- Yaroslav Halchenko <debian@onerussian.com> Thu, 19 Jul 2012 22:03:23 -0400
+
gamin (0.1.10-4) unstable; urgency=low

* Add 17_deprecated_const_return.patch: Don't use deprecated G_CONST_RETURN.
diff -Nru gamin-0.1.10/debian/control gamin-0.1.10/debian/control
gamin-0.1.10/debian/control 2011-10-18 10:22:12.000000000 -0400
+++ gamin-0.1.10/debian/control 2012-07-19 22:34:18.000000000 -0400
@@ -7,7 +7,7 @@
Section: admin
Priority: optional
Maintainer: Michael Banck <mbanck@debian.org>
-Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu@debian.org>, Josselin Mouette <joss@debian.org>, Loic Minier <lool@dooz.org>, Sebastian Dröge <slomo@debian.org>
+Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu@debian.org>, Loic Minier <lool@dooz.org>, Martin Pitt <mpitt@debian.org>, Sebastian Dröge <slomo@debian.org>
Build-Depends: cdbs (>= 0.4.73),
debhelper( >= 5.0.37.2),
libglib2.0-dev,
diff -Nru gamin-0.1.10/debian/patches/18_gam_server_deadlocks.patch gamin-0.1.10/debian/patches/18_gam_server_deadlocks.patch
gamin-0.1.10/debian/patches/18_gam_server_deadlocks.patch 1969-12-31 19:00:00.000000000 -0500
+++ gamin-0.1.10/debian/patches/18_gam_server_deadlocks.patch 2012-07-19 22:02:48.000000000 -0400
@@ -0,0 +1,70 @@
+From cc14440eface093548cb3bc7814da11d9a99d283 Mon Sep 17 00:00:00 2001
+From: Anssi Hannula <anssi@mageia.org>
+Date: Wed, 4 Jan 2012 00:23:55 +0200
+Subject: [PATCH] fix possible server deadlock in ih_sub_cancel
+
+ih_sub_foreach() calls ih_sub_cancel() while inotify_lock is locked.
+However, ih_sub_cancel() locks it again, and locking GMutex recursively
+causes undefined behaviour.
+
+Fix that by removing locking from ih_sub_cancel() as ih_sub_foreach()
+is its only user. Also make the function static so that it won't
+accidentally get used by other files without locking (inotify-helper.h
+is an internal server header).
+
+This should fix the intermittent deadlocks I've been experiencing
+causing KDE applications to no longer start, and probably also
+http://bugs.debian.org/cgi-bin/bugr...bug=542361
+
+Origin: http://bugzilla-attachments.gnome.o...?id=204537
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+...bug/926862
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugr...bug=542361
+
+
+ server/inotify-helper.c | 7 ++--
+ server/inotify-helper.h | 1 -
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/server/inotify-helper.c b/server/inotify-helper.c
+index d77203e..0789fa4 100644
+ a/server/inotify-helper.c
++++ b/server/inotify-helper.c
+@@ -123,13 +123,11 @@ ih_sub_add (ih_sub_t * sub)
+
+ /**
+ * Cancels a subscription which was being monitored.
++ * inotify_lock must be held when calling.
+ */
+-gboolean
++static gboolean
+ ih_sub_cancel (ih_sub_t * sub)
+ {
+- G_LOCK(inotify_lock);
+-
+-
+ if (!sub->cancelled)
+ {
+ IH_W("cancelling %s", sub->pathname);
+@@ -140,7 +138,6 @@ ih_sub_cancel (ih_sub_t * sub)
+ sub_list = g_list_remove (sub_list, sub);
+ }
+
+- G_UNLOCK(inotify_lock);
+ return TRUE;
+ }
+
+diff --git a/server/inotify-helper.h b/server/inotify-helper.h
+index 5d3b6d0..d36b5fd 100644
+ a/server/inotify-helper.h
++++ b/server/inotify-helper.h
+@@ -34,7 +34,6 @@ gboolean ih_startup (event_callback_t ecb,
+ found_callback_t fcb);
+ gboolean ih_running (void);
+ gboolean ih_sub_add (ih_sub_t *sub);
+-gboolean ih_sub_cancel (ih_sub_t *sub);
+
+ /* Return FALSE from 'f' if the subscription should be cancelled */
+ void ih_sub_foreach (void *callerdata, gboolean (*f)(ih_sub_t *sub, void *callerdata));
+--
+1.7.7.2
+
diff -Nru gamin-0.1.10/debian/patches/series gamin-0.1.10/debian/patches/series
gamin-0.1.10/debian/patches/series 2011-10-18 10:12:20.000000000 -0400
+++ gamin-0.1.10/debian/patches/series 2012-07-19 21:59:58.000000000 -0400
@@ -2,4 +2,5 @@
15_kfreebsd.patch
16_armel-gnueabi.patch
17_deprecated_const_return.patch
+18_gam_server_deadlocks.patch
90_autoreconf.patch






To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
email Follow the discussionReplies 2 repliesReplies Make a reply

Replies

#1 Michael Biebl
July 21st, 2012 - 01:00 am ET | Report spam
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)

On 21.07.2012 04:19, Yaroslav Halchenko wrote:
Here is the debdiff (apparently debian/control is generated but was
modified I guess in prev uploads so Uploaders got changed).

PS I have been testing patched gamin -- seems to work so far



Thanks for the NMU.

As this bug is only marked as important, you'll have to poke the release
team for an ublock if you want to see this fix in wheezy.

Cheers,
Michael


Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?






To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact

Similar topics