Description of problem: I have upgraded a new F9 system to Rawhide. Whereas other recent bugs related to switching runlevels, I have seen the creation of lots of console-kit-daemon processes when going straight into runlevel 5. As of this writing, there are 62 such processes on the system, which has been up 30 minutes. Version-Release number of selected component (if applicable): ConsoleKit-0.3.0-1.fc10.x86_64 How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info: excerpt of pstree output: init─┬─/usr/bin/sealer ├─NetworkManager───{NetworkManager} ├─acpid ├─anacron ├─atd ├─auditd─┬─audispd───{audispd} │ └─{auditd} ├─avahi-daemon───avahi-daemon ├─bonobo-activati───{bonobo-activati} ├─clock-applet ├─console-kit-dae───62*[{console-kit-dae}] ├─crond ├─cupsd ├─2*[dbus-daemon───{dbus-daemon}] ├─2*[dbus-launch]
This is not a bug, it is working around the limitiations of the linux vt system. These are threads, one for each vt, sleeping in VT_WAITACTIVE.
Created attachment 336537 [details] Patch for ConsoleKit 0.30 to remove so many threads This patch changes ConsoleKit to use an new VT ioctl and wait on a terminal switch without requiring a thread for every possible VT.
Created attachment 336538 [details] Kernel patch to add new VT ioctl. This patch must be added to the kernel to support the previous patch for ConsoleKit. Basically we add a VT_WAITSWITCH ioctl which sleeps until any virtual console switch occurs; this allows ConsoleKit to only use one thread to wait, and it uses the VT_GETSTATE ioctl to determine the active VT (as with Solaris implementation).
FYI: I'm seeing the same thing in F12. (63 console-kit-daemon processes)