locked
remote PC becomes unresponsive when lines are being added to a multiline textbox RRS feed

  • Question

  • Hi there,

    when connected via two RDP connections and multiline textbox is visible and constantly updated (e.g. real time logging to screen), then all other processes and threads are suspended on that remote PC. For example, task manage does not refresh, clock stops, if you have some services/server apps running on that PC then their clients will get read/connect/write timeout errors, etc

    to reproduce this issue:

    1. create test application simulating real time logging to screen. For example, create new GUI application (e.g. in visual basic, delphi, etc), put several (e.g. six) textbox controls and set multiline=true, (or use TMemo components in delphi), add button and code to append lines in a loop (e.g. 200 iteration) to those textbox/TMemo controls (see code samples below). Build executable

    2. have three PCs ready. From first connect to second via RDP, and from there connect to third via second RDP connection. On third PC start test application you built in step 1. While lines are added to multiline textbox/TMemo, try to do anything with that PC, e.g. open task manager, check how it's refreshing, open clock and note how seconds are increasing, try to connect to some service from another PC (e.g. shared disk, ftp, web, etc) and see how responsive they are

    windows 2000 seems to be ok, while xp, 7, 2003/2008 server have issues

    is there anything we could do so that third party application having real time logging to multiline textbox/TMemo does not slow down or suspend our services running on the same PC when somebody connects via RDP? also it would be great if microsoft could fix this

    sample code:

            For i As Integer = 1 To 200
                Dim s As String = ""
                For j As Integer = 1 To 10
                    s = s & Convert.ToString(i) & " "
                Next j
                TextBox1.AppendText(s & Chr(13) & Chr(10))

                For j As Integer = 1 To 10
                    s = s & Convert.ToString(i) & " "
                Next j
                TextBox2.AppendText(s & Chr(13) & Chr(10))

                For j As Integer = 1 To 10
                    s = s & Convert.ToString(i) & " "
                Next j
                TextBox3.AppendText(s & Chr(13) & Chr(10))

                For j As Integer = 1 To 20
                    s = s & Convert.ToString(i) & " "
                Next j
                TextBox4.AppendText(s & Chr(13) & Chr(10))

                For j As Integer = 1 To 20
                    s = s & Convert.ToString(i) & " "
                Next j
                TextBox5.AppendText(s & Chr(13) & Chr(10))

                For j As Integer = 1 To 20
                    s = s & Convert.ToString(i) & " "
                Next j
                TextBox6.AppendText(s & Chr(13) & Chr(10))
            Next i

    var
      i:integer;
      s:string;
    begin
      for i:=1 to 200 do begin
        s:='';
        while Length(s)<20 do s:=s+intToStr(i)+' ';
        glMemo1.Lines.Add(s);

        while Length(s)<40 do s:=s+intToStr(i)+' ';
        glMemo2.Lines.Add(s);

        while Length(s)<60 do s:=s+intToStr(i)+' ';
        glMemo3.Lines.Add(s);

        while Length(s)<80 do s:=s+intToStr(i)+' ';
        glMemo4.Lines.Add(s);

        while Length(s)<100 do s:=s+intToStr(i)+' ';
        glMemo5.Lines.Add(s);

        while Length(s)<200 do s:=s+intToStr(i)+' ';
        glMemo6.Lines.Add(s);
      end;

    Thanks,
    Paulius

    Thursday, October 4, 2012 6:33 AM

Answers

  • Hi,

    I think this issue should be a code advisory issue. It may not suitable for forum troubleshooting. Please consider to submit a professional case for more efficient support. However, I would like to provide you some articles with compatibility with RDS for your reference. Hope it can help a little:

    Application Compatibility Best Practices for Remote Desktop Services

    http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=18704

    Learn How To Install Applications on an RD Session Host Server

    http://technet.microsoft.com/en-us/magazine/ff432698.aspx

    Terminal Server application integration information

    http://support.microsoft.com/kb/186498

    Thanks,

    Spencer


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    • Marked as answer by Cloud_TS Wednesday, November 7, 2012 8:16 AM
    Saturday, October 6, 2012 5:27 AM

All replies

  • Hi,

    I think this issue should be a code advisory issue. It may not suitable for forum troubleshooting. Please consider to submit a professional case for more efficient support. However, I would like to provide you some articles with compatibility with RDS for your reference. Hope it can help a little:

    Application Compatibility Best Practices for Remote Desktop Services

    http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=18704

    Learn How To Install Applications on an RD Session Host Server

    http://technet.microsoft.com/en-us/magazine/ff432698.aspx

    Terminal Server application integration information

    http://support.microsoft.com/kb/186498

    Thanks,

    Spencer


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    • Marked as answer by Cloud_TS Wednesday, November 7, 2012 8:16 AM
    Saturday, October 6, 2012 5:27 AM
  • thanks for suggestion. We don't have support contract with microsoft, thus I can not report this issue directly. That's a pitty that after spending so much time isolating the issue and creating reproducible test case we can't report this bug to microsoft without paying some more. If anyone having valid support contract with microsoft is reading this then please feel free to report this issue to them. Thanks in advance
    Monday, October 8, 2012 12:36 PM
  • Hi,

    I think mostly it would be better to troubleshoot the issue from the application point of view. However, if you think this is a bug, you can try to submit from the following link:

    http://connect.microsoft.com/

    It is a public place where we can post our feedback. :-)

    Thanks,

    Spencer


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    Tuesday, October 9, 2012 8:00 AM
  • thanks again Spencer

    there is some application which does intensive real time logging to several multilne textbox controls. Without RDP it works perfectly fine and fast. Using VNC or pcAnywhere remote connections it also works well. Then we have RDP connection, which without that app works fine. But when we have combination, when this app ir running and somebody connects via RDP then  windows suspends all other threads and processes, all services on that machine stops responding, even the same RDP connection drops after 2 minute timeout. So yes, I think it's a bug, most likely somewhere in RDP server, looks like some global resource is locked up (terminal server on windows 2000 does not have this issue, so it must be related to some feature added since then)

    I saw connect.microsoft.com previously, but I was not able to find correct category to post. The closest seems to be 2012 server pre-release, but we don't have it thus I can't test on it

    Tuesday, October 9, 2012 8:51 AM
  • Hi Paulius,

    You are welcome. I should say that the RDP session is rather different with console session. Our issue could be caused by RDP seession does not compatible with the application. Someone familiar with coding may help us a lot. :-)

    Thanks,

    Spencer


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    Wednesday, October 10, 2012 1:30 PM