Recently I was trying to use XRDP on an admittedly flaky internet connection
(*shakes fist at Comcast*), and I noticed that XRDP does not seem to
recovery very well from this. In these situations, you have to find the
running XRDP processes that are stuck in "send" and kill -9 them. Sometimes
the session ends, and sometimes the session "unfreezes" and responds again.
I suspect, that what is happening is some send commands are blocking
infinitely, waiting on an ACK that may never come. I have a stack trace:

#0  0x00007f53c5610da2 in send () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f53c5b1cadc in g_tcp_send (sck=<optimized out>, ptr=<optimized
out>, len=<optimized out>, flags=<optimized out>) at os_calls.c:928
#2  0x00007f53c4458abc in lib_send (len=26, data=0x2829b10 "\032",
mod=<optimized out>) at xup.c:84
#3  lib_send (mod=0x278d9d0, data=<optimized out>, len=<optimized out>) at
xup.c:73
#4  0x00007f53c4459010 in lib_mod_event (mod=0x278d9d0, msg=102, param1=954,
param2=565, param3=0, param4=<optimized out>) at xup.c:387
#5  0x0000000000412fd3 in xrdp_wm_mouse_click (self=0x26641b0, x=954, y=565,
but=1, down=<optimized out>) at xrdp_wm.c:1184
#6  0x00000000004131a3 in xrdp_wm_process_input_mouse (y=565, x=954,
device_flags=<optimized out>, self=0x26641b0) at xrdp_wm.c:1503
#7  callback (id=<optimized out>, msg=<optimized out>, param1=954,
param2=565, param3=36864, param4=<optimized out>) at xrdp_wm.c:1617
#8  0x00007f53c5904f5a in xrdp_rdp_process_data_input (self=<optimized out>,
s=<optimized out>) at xrdp_rdp.c:1329
#9  xrdp_rdp_process_data (self=0x2618bc0, s=0x265df10) at xrdp_rdp.c:1599
#10 0x00007f53c58fcfad in libxrdp_process_data (session=0x2617a40) at
libxrdp.c:121
#11 0x000000000040f6c5 in xrdp_process_loop (self=0x2617bc0) at
xrdp_process.c:72
#12 xrdp_process_data_in (self=<optimized out>) at xrdp_process.c:126
#13 0x00007f53c5b1eed1 in trans_check_wait_objs (self=0x2617ca0) at
trans.c:200
#14 0x000000000040f8d3 in xrdp_process_main_loop (self=0x2617bc0) at
xrdp_process.c:195
#15 0x0000000000408d67 in xrdp_process_run (in_val=<optimized out>) at
xrdp_listen.c:137
#16 0x0000000000408edc in xrdp_listen_fork (server_trans=0x2617ca0,
self=<optimized out>) at xrdp_listen.c:259
#17 xrdp_listen_conn_in (self=<optimized out>, new_self=0x2617ca0) at
xrdp_listen.c:283
#18 0x00007f53c5b1ef63 in trans_check_wait_objs (self=0x2617b40) at
trans.c:146
#19 0x00000000004092ea in xrdp_listen_main_loop (self=0x2617020) at
xrdp_listen.c:409
#20 0x00000000004034e9 in main (argc=<optimized out>, argv=<optimized out>)
at xrdp.c:574

I have noticed that mouse clicks tend to trigger this far more than the
keyboard, which is evidenced by the stack trace here. I would much rather
have XRDP contain graphical glitches now and then than freeze completely,
and this bug has been around since I first started using the software about
a year ago. Can we fix this?



--
View this message in context: 
http://xrdp-devel.766250.n3.nabble.com/XRDP-performance-under-heavy-packet-loss-10-20-tp4025265.html
Sent from the XRDP Devel mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
xrdp-devel mailing list
xrdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xrdp-devel

Reply via email to