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