<br><tt><font size=2>freenx-knx-bounces@kde.org wrote on 14/10/2011 12:58:42:<br>
<br>
> Hi all,<br>
> <br>
> I have currently a problem using freenx-server. When the session is
closed <br>
> by using the top right closing button of the client window, then click
<br>
> "End", the "kdeinit4" process doesn't terminate
and stays alive. As en </font></tt>
<br>
<br><tt><font size=2>Do you mean the session's kded4, which was SPAWNED
by kdeinit,</font></tt>
<br><tt><font size=2>doesn't termintate when you</font></tt>
<br><tt><font size=2>end your NX session by using the NX window's X button
or Ctrl-Alt-T</font></tt>
<br><tt><font size=2>and</font></tt>
<br><tt><font size=2>then choosing "Terminate" from the "Disconnect
Terminate Cancel" dialog ???</font></tt>
<br>
<br><tt><font size=2>If so, you are probably noticing accumulating orphan
kded4 processes,</font></tt>
<br><tt><font size=2>one for each session you close in this manner ????</font></tt>
<br>
<br><tt><font size=2>> effect, the NX session terminates correctly but
the pts session stays.<br>
> But if the session is closed through the KDE menu ("Leave"
then "logout"), <br>
> everything terminates correctly and there is no more remaining process.<br>
</font></tt>
<br><tt><font size=2>yup</font></tt>
<br>
<br><tt><font size=2>> <br>
> The system is as follow :<br>
> Server : FreeNX server 0.7.3 on a Kubuntu 11.04<br>
> Client : NoMachine client 3.4.0-7 on Windows XP<br>
> <br>
> I change the debug level of the NX server to 6, but it</font></tt>
<br><tt><font size=2>> indicates no problem.<br>
> <br>
> Could somebody help ?<br>
</font></tt>
<br><tt><font size=2>Terminating the X session this way causes kded4 to</font></tt>
<br><tt><font size=2>lock up and refuse to close on a SIGHUP or SIGTERM</font></tt>
<br>
<br><tt><font size=2>The various running kde processes report :-</font></tt>
<br>
<br><tt><font size=2>         "Fatal
IO error: client killed"</font></tt>
<br>
<br><tt><font size=2>kdeinit4 then responds by trying to clean up its processes
:-</font></tt>
<br>
<br><tt><font size=2>        kdeinit4: sending
SIGHUP to children.</font></tt>
<br><tt><font size=2>and</font></tt>
<br><tt><font size=2>        kdeinit4: sending
SIGTERM to children.</font></tt>
<br><tt><font size=2>and</font></tt>
<br><tt><font size=2>then it terminates itself</font></tt>
<br><tt><font size=2>but</font></tt>
<br><tt><font size=2>this has no effect on kded4, which now will only end</font></tt>
<br><tt><font size=2>on a SIGKILL.</font></tt>
<br>
<br>
<br><tt><font size=2>From debug it looks like it's left waiting on a mutex
or</font></tt>
<br><tt><font size=2>something . . .</font></tt>
<br>
<br><tt><font size=2>QWaitCondition::wait(QMutex*,unsigned long)()from/usr/lib/libQtCore.so.4</font></tt>
<br>
<br>
<br><tt><font size=2>On the other hand, if you end ksmserver via kicker</font></tt>
<br><tt><font size=2>leaving X running whilst kde sorts itself out, then
kded4</font></tt>
<br><tt><font size=2>ends when it's told to.</font></tt>
<br>
<br>
<br><tt><font size=2>So far most reported problems with kded4 seem to be</font></tt>
<br><tt><font size=2>include 100%CPU utilization running away with the</font></tt>
<br><tt><font size=2>machine, in comparison with which this problem is
fairly</font></tt>
<br><tt><font size=2>benign, but it's still annoying htey haven't got around</font></tt>
<br><tt><font size=2>to fixing it yet.</font></tt>
<br>
<br><tt><font size=2>In the short term your options include:-</font></tt>
<br>
<br><tt><font size=2>1/ telling your users to log out via kicker</font></tt>
<br><tt><font size=2>2/ just clearing up the orphan processes every so
often</font></tt>
<br><tt><font size=2>3/ adding a command file to the kde shutdown scripts</font></tt>
<br><tt><font size=2>        e.g. create the
following 3 line file</font></tt>
<br><tt><font size=2>           /usr/shutdown/kded4.sh</font></tt>
<br><tt><font size=2>as</font></tt>
<br>
<br>
<br><tt><font size=2>#! /bin/sh</font></tt>
<br><tt><font size=2>#</font></tt>
<br><tt><font size=2>pkill -9 kded4</font></tt>
<br>
<br>
<br><tt><font size=2>then set the file to execute</font></tt>
<br>
<br><tt><font size=2>        sudo chmod 555
/usr/shutdown/kded4.sh</font></tt>
<br>
<br><tt><font size=2>That's for Opensuse.</font></tt>
<br><tt><font size=2>It might need to be elsewhere on planet KUbuntu.</font></tt>
<br>
<br><tt><font size=2>kde will then kill ALL YOUR USENAME'S instances of</font></tt>
<br><tt><font size=2>kded4 whenever you end a session.</font></tt>
<br>
<br><tt><font size=2>> <br>
> Thanks in advance,<br>
> Matthieu<br>
> </font></tt>
<br>
<br><tt><font size=2>Note:- This is a kde problem not a FreeNX problem</font></tt>
<br><tt><font size=2><br>
</font></tt>