Package: consolekit
Version: 0.2.10-5
Tags: patch

After a machine with consolekit installed has been running for a while,
I see messages in syslog a la:

Feb 21 20:12:38 zaphod.acm.uiuc.edu console-kit-daemon[19801]: WARNING: Unable 
to open directory /etc/ConsoleKit/run-session.d: Error opening directory 
'/etc/ConsoleKit/run-session.d': Too many open files
Feb 21 20:12:38 zaphod.acm.uiuc.edu console-kit-daemon[19801]: WARNING: Unable 
to open directory /usr/lib/ConsoleKit/run-session.d: Error opening directory 
'/usr/lib/ConsoleKit/run-session.d': Too many open files
Feb 21 20:12:38 zaphod.acm.uiuc.edu console-kit-daemon[19801]: WARNING: Cannot 
create file /var/run/ConsoleKit/database~: Too many open files
Feb 21 20:12:38 zaphod.acm.uiuc.edu console-kit-daemon[19801]: WARNING: Cannot 
unlink /var/run/ConsoleKit/database: No such file or directory
Feb 21 20:12:38 zaphod.acm.uiuc.edu console-kit-daemon[19801]: WARNING: Unable 
to open directory /etc/ConsoleKit/run-session.d: Error opening directory 
'/etc/ConsoleKit/run-session.d': Too many open files
Feb 21 20:12:38 zaphod.acm.uiuc.edu console-kit-daemon[19801]: WARNING: Unable 
to open directory /usr/lib/ConsoleKit/run-session.d: Error opening directory 
'/usr/lib/ConsoleKit/run-session.d': Too many open files

And lsof shows that console-kit-daemon has a ton of FDs open for the two
run-session.d directories mentioned above. consolekit opens these
directories, but never closes the fd. The attached patch should fix it.
I'm not able to test it myself right now, since #516253 is preventing me
from building the package (easily).

-- 
Andrew Deason
adeas...@uiuc.edu
diff -Nru consolekit-0.2.10/debian/patches/06-close-runsession.patch consolekit-0.2.10.new/debian/patches/06-close-runsession.patch
--- consolekit-0.2.10/debian/patches/06-close-runsession.patch	1969-12-31 18:00:00.000000000 -0600
+++ consolekit-0.2.10.new/debian/patches/06-close-runsession.patch	2009-02-21 23:08:29.013066818 -0600
@@ -0,0 +1,11 @@
+Closes the file handle for /etc/ConsoleKit/run-session.d and
+/usr/lib/ConsoleKit/run-session.d, avoiding a file descriptor leak.
+
+--- ConsoleKit-0.2.10.orig/src/ck-run-programs.c	2008-01-23 08:30:44.000000000 -0600
++++ ConsoleKit-0.2.10/src/ck-run-programs.c	2009-02-21 23:05:34.285066017 -0600
+@@ -227,4 +227,5 @@
+         }
+ out:
+         g_strfreev (env_for_child);
++        g_dir_close (dir);
+ }
diff -Nru consolekit-0.2.10/debian/patches/series consolekit-0.2.10.new/debian/patches/series
--- consolekit-0.2.10/debian/patches/series	2009-02-21 23:38:47.000000000 -0600
+++ consolekit-0.2.10.new/debian/patches/series	2009-02-21 23:08:40.118340806 -0600
@@ -3,3 +3,4 @@
 03-cleanup_console_tags.patch
 04-defer_daemonizing.patch
 05-dbus_policy.patch
+06-close-runsession.patch

Reply via email to