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

please pre-approve libevent/1.4.13-stable-2 (was: Bug#609444: tmux hangs when closing the session on hurd)



On Thu, Jan 13, 2011 at 09:49:34PM +0100, Romain Francoise wrote:
>reassign 609444 libevent-1.4-2
>severity 609444 important
>quit
>
>Justus Winter <4winter@informatik.uni-hamburg.de> writes:
>
>>When the session is ended by closing the last shell within tmux,
>>tmux hangs.
>
>Yes. This is a known bug in libevent's poll backend, which is used
>on GNU/Hurd (and was used on Linux in tmux 1.4-2). It was fixed
>upstream in libevent 2.0.10 and will be fixed in 1.4.15, the fix in
>the patches-1.4 branch is here:
>
>  http://levent.git.sourceforge.net/git/gitweb.cgi?p=levent/libevent;a=commit;h=f0ff7659f3128bb727a3ff380334eed3ceac2c0b
>
>Can we get this patch backported in the Debian package? It makes
>tmux unusable, as the server randomly hangs.
>
>Thanks,
>-- 
>Romain Francoise <rfrancoise@debian.org>
>http://people.debian.org/~rfrancoise/

Release team, please pre-approve the following changeset for libevent to
fix a serious problem for tmux.

diff -Nru libevent-1.4.13-stable/debian/changelog libevent-1.4.13-stable/debian/changelog
--- libevent-1.4.13-stable/debian/changelog	2011-01-17 18:30:01.000000000 +1100
+++ libevent-1.4.13-stable/debian/changelog	2011-01-17 18:26:47.000000000 +1100
@@ -1,3 +1,13 @@
+libevent (1.4.13-stable-2) unstable; urgency=low
+
+  * Fix an issue where a signal socketpair doesn't get recreated if
+    the event backend doesn't set event_reinit
+    Closes: 609444
+  * Debian source format is 3.0 (quilt)
+    Add 01-609444-fix-issue-with-socketpairs.patch
+
+ -- Anibal Monsalve Salazar <anibal@debian.org>  Mon, 17 Jan 2011 18:20:40 +1100
+
 libevent (1.4.13-stable-1) unstable; urgency=low
 
   * New upstream release
diff -Nru libevent-1.4.13-stable/debian/patches/01-609444-fix-issue-with-socketpairs.patch libevent-1.4.13-stable/debian/patches/01-609444-fix-issue-with-socketpairs.patch
--- libevent-1.4.13-stable/debian/patches/01-609444-fix-issue-with-socketpairs.patch	1970-01-01 10:00:00.000000000 +1000
+++ libevent-1.4.13-stable/debian/patches/01-609444-fix-issue-with-socketpairs.patch	2011-01-17 18:15:07.000000000 +1100
@@ -0,0 +1,39 @@
+From: Nick Mathewson <nickm@torproject.org>
+Date: Thu, 26 Aug 2010 19:09:58 +0000 (-0400)
+Subject: Fix an issue with forking and signal socketpairs in select/poll backends
+X-Git-Url: http://levent.git.sourceforge.net/git/gitweb.cgi?p=levent%2Flibevent;a=commitdiff_plain;h=f0ff7659f3128bb727a3ff380334eed3ceac2c0b
+
+Fix an issue with forking and signal socketpairs in select/poll backends
+
+Nicholas Marriott identifies an issue where a signal socketpair
+doesn't get recreated if the event backend doesn't set event_reinit.
+---
+
+diff --git a/event.c b/event.c
+index 74ba5c4..79d2be0 100644
+--- a/event.c
++++ b/event.c
+@@ -279,9 +279,14 @@ event_reinit(struct event_base *base)
+ 	int res = 0;
+ 	struct event *ev;
+ 
++#if 0
++	/* Right now, reinit always takes effect, since even if the
++	   backend doesn't require it, the signal socketpair code does.
++	 */
+ 	/* check if this event mechanism requires reinit */
+ 	if (!evsel->need_reinit)
+ 		return (0);
++#endif
+ 
+ 	/* prevent internal delete */
+ 	if (base->sig.ev_signal_added) {
+@@ -294,7 +299,7 @@ event_reinit(struct event_base *base)
+ 			    EVLIST_ACTIVE);
+ 		base->sig.ev_signal_added = 0;
+ 	}
+-	
++
+ 	if (base->evsel->dealloc != NULL)
+ 		base->evsel->dealloc(base, base->evbase);
+ 	evbase = base->evbase = evsel->init(base);
diff -Nru libevent-1.4.13-stable/debian/patches/series libevent-1.4.13-stable/debian/patches/series
--- libevent-1.4.13-stable/debian/patches/series	1970-01-01 10:00:00.000000000 +1000
+++ libevent-1.4.13-stable/debian/patches/series	2011-01-17 18:19:06.000000000 +1100
@@ -0,0 +1 @@
+01-609444-fix-issue-with-socketpairs.patch
diff -Nru libevent-1.4.13-stable/debian/source/format libevent-1.4.13-stable/debian/source/format
--- libevent-1.4.13-stable/debian/source/format	1970-01-01 10:00:00.000000000 +1000
+++ libevent-1.4.13-stable/debian/source/format	2009-11-23 21:30:16.000000000 +1100
@@ -0,0 +1 @@
+3.0 (quilt)
diff -Nru libevent-1.4.13-stable/debian/source/options libevent-1.4.13-stable/debian/source/options
--- libevent-1.4.13-stable/debian/source/options	1970-01-01 10:00:00.000000000 +1000
+++ libevent-1.4.13-stable/debian/source/options	2009-11-23 21:37:44.000000000 +1100
@@ -0,0 +1,2 @@
+compression = "bzip2"
+compression-level = 9

Attachment: signature.asc
Description: Digital signature


Reply to: