www.cendio.com
Bug 5245 - SeamlessRDP broken on Windows Server 2012 and 2012 R2
: SeamlessRDP broken on Windows Server 2012 and 2012 R2
Status: CLOSED FIXED
: ThinLinc
rdesktop
: 4.2.0
: PC Unknown
: P2 Normal
: 4.6.0
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2014-09-08 13:16 by
Modified: 2016-12-05 12:04 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From cendio 2014-09-08 13:16:52
Bug #4702 was the first try to fix this issue. The identified main cause was
fixed but it also raised a lot more problems with SeamlessRDP on Windows Server
2012. Due to time constraints for the 4.3.0 release bug #4702 is closed and
this bugs is the continuation.

There seems to be two problems left to solve, first a spawn of subprocess is
timed out, secondly the window hooks doesn't seem to work as expected.
------- Comment #1 From cendio 2015-08-19 10:17:14 -------
Upstream bug created https://github.com/rdesktop/seamlessrdp/issues/1
------- Comment #2 From cendio 2015-08-27 14:10:18 -------
Seamlessrdp tries to open same channel using WTSVirtualChannelOpen() which is
not supported. It did "just" work through versions up to 2008 but 2012
introduced changes that prevents opening the same channel several times. It's
not even supported from different processes.

Possible solution is to create a shared memory IPC from the hooks to
seamlessrdpshell for read/write data over a single virtual channel.

See Kevin's second answer on this thread:

https://social.technet.microsoft.com/Forums/en-US/7ce64172-fa7a-4a70-8635-4b83a0d88a79/wtsvirtualchannelopen-fails-on-windows-server-2012-identical-code-works-fine-on-windows-server-2008
------- Comment #4 From cendio 2015-11-16 15:12:09 -------
The impl. for this bug affect all platforms and tests should be performed at
least on oldest supported platform and 2012. The scope of the change is
fundamental and all aspects of the function needs to be tested.

Here follows a few takes on tests;

 - reconnect
 - killed seamlessrdpshell
 - 32bit programs on 64 bit arch
 - error handling
 - seamless persistent mode
------- Comment #5 From cendio 2015-11-24 14:54:11 -------
(In reply to comment #4)
> The impl. for this bug affect all platforms and tests should be performed at
> least on oldest supported platform and 2012.

After discussions with Henrik, we agreed that we should test 2012R2 rather than
2012.
------- Comment #6 From cendio 2015-11-30 16:45:35 -------
32-bit applications aren't working properly. They just hang with 100% CPU
usage.
------- Comment #7 From cendio 2015-12-02 12:19:48 -------
(In reply to comment #6)
> 32-bit applications aren't working properly. They just hang with 100% CPU
> usage.

I was able to reproduce this issue. However if i run a 32bit
seamlessrdpshell.exe there was no problem at all running the 32bit
application...
------- Comment #9 From cendio 2015-12-07 10:17:26 -------
Commit 31013, changes the write buffer size to something more decent for proper
feedback to user.
------- Comment #10 From cendio 2015-12-07 15:48:11 -------
A crashes seamlessrdpshell works fine but there is some issue with a hung
seamlessrdpshell. This is tested by doing "suspend" in process explorer.

With a single application then the application correctly times out and starts
ignoring seamlessrdpshell. However seamlessrdpshell itself is permanently
locked up after doing resume on it.

With two applications then the applications lock up permanently as well.
------- Comment #12 From cendio 2015-12-08 16:35:10 -------
Everything works just fine on 2008R2 now. I've tested both 64-bit and 32-bit
applications, and both suspending and killing seamlessrdpshell. I can't find
any regressions.
------- Comment #13 From cendio 2015-12-15 15:38:10 -------
Seamless 32-bit applications from Windows 2012 R2 never shows up on the Linux
desktop. Task manager on Windows shows the process as "Not responding".

Verified with both Notepad and Calculator.

> tl-run-winapp-seamless "C:\Windows\SysWOW64\notepad.exe"
> tl-run-winapp-seamless "C:\Windows\SysWOW64\calc.exe"
------- Comment #14 From cendio 2015-12-17 08:39:07 -------
(In reply to comment #13)
> Seamless 32-bit applications from Windows 2012 R2 never shows up on the Linux
> desktop. Task manager on Windows shows the process as "Not responding".
> 
> Verified with both Notepad and Calculator.
> 
> > tl-run-winapp-seamless "C:\Windows\SysWOW64\notepad.exe"
> > tl-run-winapp-seamless "C:\Windows\SysWOW64\calc.exe"

I just installed nightly build of windows tools on my 2012R2 test environment,
and I'm not able to reproduce your errors. Everything works fine...
------- Comment #15 From cendio 2015-12-18 11:53:16 -------
(In reply to comment #13)
> Seamless 32-bit applications from Windows 2012 R2 never shows up on the Linux
> desktop. Task manager on Windows shows the process as "Not responding".
> 
> Verified with both Notepad and Calculator.
> 
> > tl-run-winapp-seamless "C:\Windows\SysWOW64\notepad.exe"
> > tl-run-winapp-seamless "C:\Windows\SysWOW64\calc.exe"

Can't reproduce after updating to the latest nightly build.
------- Comment #16 From cendio 2015-12-18 11:59:36 -------
(In reply to comment #15)
> (In reply to comment #13)
> > Seamless 32-bit applications from Windows 2012 R2 never shows up on the Linux
> > desktop. Task manager on Windows shows the process as "Not responding".
> > 
> > Verified with both Notepad and Calculator.
> > 
> > > tl-run-winapp-seamless "C:\Windows\SysWOW64\notepad.exe"
> > > tl-run-winapp-seamless "C:\Windows\SysWOW64\calc.exe"
> 
> Can't reproduce after updating to the latest nightly build.

And with that, everything seems to work fine.