Sorry; here's another R14.0.6 issue we're seeing (Yes, I can/will report this as a bug but thought I'd throw it out here first just to see if anyone's got any ideas). Logging in (via XDMCP) multiple times as the same user/uid is causing kdesktop to do weird refresh stuff then get stuck in a loop (100% CPU usage). I have seen this once-in-a-blue-moon under 14.0.5/Debian Jessie but 14.0.6/Debian Stretch seems to make it fail every time. Yes, I know it's bad practise to login multiple times as the same user but people will do these things despite being told not to :-( So, before I get into the nitty gritty about creating a failing case, is there anything obvious I should set/unset to stop this? Is it a known problem? How to recreate. Hard: have a bunch of X-Terminals. Easy: Use vnc :-) (see below for setup). User logs in (XDMCP/tdm) on first xterm/vnc session. Same user logs in again from second xterm/vnc session. The cursor on each desktop flickers with a busy? sort of pointer and the desktop refreshes sparodically. NB. Logging out of one session seems to set a desktop lock on the second. kdesktop for each session will probably have a high CPU use. Same user logs in a third time and you end up with a kdesktop running 100% CPU and the desktop(s) get unresponsive (can happen with just two sessions but three makes it fail quickly). PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10285 utest 20 0 258196 23212 19128 S 100.0 0.0 45:48.54 kdesktop 21584 lls 20 0 44608 4636 2804 R 26.3 0.0 0:00.07 top 1 lls 20 0 205688 7984 5312 S 0.0 0.0 3:50.32 systemd Looking at the 100% kdesktop process, it has a thread (10287) running in a constant poll timeout loop (strace streams the lines below): poll([{fd=13, events=POLLIN}, {fd=15, events=POLLIN}], 2, 0) = 0 (Timeout) poll([{fd=13, events=POLLIN}, {fd=15, events=POLLIN}], 2, 0) = 0 (Timeout) poll([{fd=13, events=POLLIN}, {fd=15, events=POLLIN}], 2, 0) = 0 (Timeout) poll([{fd=13, events=POLLIN}, {fd=15, events=POLLIN}], 2, 0) = 0 (Timeout) Looking at /proc/10287/fd I see: lr-x------ 1 utest tract 64 Feb 6 11:17 0 -> pipe:[11722107] l-wx------ 1 utest tract 64 Feb 6 11:17 1 -> /home/utest/.xsession-errors lr-x------ 1 utest tract 64 Feb 6 11:17 10 -> pipe:[11687858] l-wx------ 1 utest tract 64 Feb 6 11:17 11 -> pipe:[11687858] lrwx------ 1 utest tract 64 Feb 6 11:17 12 -> socket:[11667305] lr-x------ 1 utest tract 64 Feb 6 11:17 13 -> pipe:[11688700] l-wx------ 1 utest tract 64 Feb 6 11:17 14 -> pipe:[11688700] lrwx------ 1 utest tract 64 Feb 6 11:17 15 -> anon_inode:[eventfd] lr-x------ 1 utest tract 64 Feb 6 11:17 16 -> /var/tmp/tdecache-utest/tdesycoca l-wx------ 1 utest tract 64 Feb 6 11:17 2 -> /home/utest/.xsession-errors lrwx------ 1 utest tract 64 Feb 6 11:17 3 -> socket:[11746354] lrwx------ 1 utest tract 64 Feb 6 11:17 4 -> socket:[11687855] lrwx------ 1 utest tract 64 Feb 6 11:17 5 -> socket:[11687856] lr-x------ 1 utest tract 64 Feb 6 11:17 6 -> pipe:[11687857] l-wx------ 1 utest tract 64 Feb 6 11:17 7 -> pipe:[11687857] lrwx------ 1 utest tract 64 Feb 6 11:17 8 -> anon_inode:[eventfd] lrwx------ 1 utest tract 64 Feb 6 11:17 9 -> anon_inode:[eventfd] The pipe on fd 13 for the thread seems to be connected to it's parent: # (find /proc -type l | xargs ls -l | grep 11688700) 2>/dev/null lr-x------ 1 utest tract 64 Feb 6 11:57 /proc/10285/fd/12 -> pipe:[11688700] l-wx------ 1 utest tract 64 Feb 6 11:57 /proc/10285/fd/13 -> pipe:[11688700] lr-x------ 1 utest tract 64 Feb 6 11:58 /proc/10285/task/10285/fd/12 -> pipe:[11688700] l-wx------ 1 utest tract 64 Feb 6 11:58 /proc/10285/task/10285/fd/13 -> pipe:[11688700] lr-x------ 1 utest tract 64 Feb 6 11:58 /proc/10285/task/10287/fd/12 -> pipe:[11688700] l-wx------ 1 utest tract 64 Feb 6 11:58 /proc/10285/task/10287/fd/13 -> pipe:[11688700] # ------- VNC setup. I'm using Debian Stretch. The easiest way to setup a VNC test case is to add this to /etc/services on the TDE server system (192.168.1.1 in my case). # VNC Servers vnc0 5900/tcp vnc1 5901/tcp vnc2 5902/tcp # Then create /etc/xinetd.d/vnc0 like so: service vnc0 { user = nobody disable = no protocol = tcp socket_type = stream flags = KEEPALIVE wait = no group = tract instances = 1 log_type = FILE /var/log/vnc log_on_failure += HOST USERID ATTEMPT server = /usr/bin/Xvnc server_args = -inetd -NeverShared -query localhost -once -depth 16 -geometry 1024x768 -SecurityTypes none } Copy /etc/xinetd.d/vnc0 to /etc/xinetd.d/vnc1 and change "service vnc0" to "service vnc1". Repeat for vnc2. Restart xinetd. >From another system on the network fire up a vnc viewer for the first session: vncviewer 192.168.1.1:5900 Login as test user. and for the second: vncviewer 192.168.1.1:5901 Login as same user in on that one. You'll now see the desktops in each vncviewer window refreshing themselves and a kdesktop process for each one using significant CPU: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 26694 utest 20 0 275004 33772 27016 R 49.7 0.0 1:35.19 kdesktop 27099 utest 20 0 275004 33544 26784 S 47.0 0.0 1:38.19 kdesktop Fire up a third: vncviewer 192.168.1.1:5902 Login as same user on that. You'll now get a kdesktop consuming 100% CPU: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10805 utest 20 0 278088 37156 27332 S 100.3 0.0 4:15.84 kdesktop 26694 utest 20 0 275004 33772 27016 S 43.3 0.0 3:37.91 kdesktop 27099 utest 20 0 275004 33544 26784 S 42.0 0.0 3:36.62 kdesktop On this third session, kdesktop becomes unresponsive (not surprising as it's stuck in a loop!). NB. I've also tried this using lightdm instead of tdm and exactly the same thing happens. -- Regards, Russell -------------------------------------------------------------------- | Russell Brown | MAIL: russell@xxxxxxx PHONE: 01780 471800 | | Lady Lodge Systems | WWW Work: http://www.lls.com | | Peterborough, England | WWW Play: http://www.ruffle.me.uk | -------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: trinity-users-unsubscribe@xxxxxxxxxxxxxxxxxxxxxxxxxx For additional commands, e-mail: trinity-users-help@xxxxxxxxxxxxxxxxxxxxxxxxxx Read list messages on the web archive: http://trinity-users.pearsoncomputing.net/ Please remember not to top-post: http://trinity.pearsoncomputing.net/mailing_lists/#top-posting