This was a pretty odd issue and took way too long to figure out! I hope posting it here can save somebody else wasted time troubleshooting! To the best of my knowledge this is unique to XenApp\XenDesktop 7.6 CU1.
The symptoms of the issue include:
When a user attempted to launch an application (with the 3.1 Receiver on their desktop) they get the error:
When trying from a desktop with 4.4 Receiver, the user got:
Both are pretty vague errors and this was not being seen by ALL users, it was also not being seen by just one user either! It seemed to occur for about 3-4% of sessions. The issue was not traceable to certain workstation(s), delivery group(s), VDA or any other unique session specific variable.
Note: The cannot start app error is particularly vague! If you got to this article by searching for that error and you aren't using 7.6 CU1, odds are this article isn't for you. Sorry!
When looking in Studio, we noticed the following:
As above, we've got a bunch of sessions with an unidentified current user. These sessions are not pre-logon either! These are active sessions. They cannot be forced to disconnect or logoff via the console. If you go to the session host and check the users and processes, you won't find any empty session or extra user on that host. There's nothing you can terminate or force off at the server level to clear these sessions. The issue can occur on completely new logins\sessions and\or in reconnect attempts.
The only way to clear the zombie sessions is with a restart of the Desktop Delivery Service on the host or by running the following PowerShell cmdlet (Shout out to Shane Kleinert for this tip):
Get-BrokerSession -username Domain\User | Set-BrokerSession -Hidden $true
This PowerShell cmdlet set’s the session to hidden. In theory, the next time that user tries to launch the application, it will broker a new session rather than try to reconnect to this zombie session. You could also obviously put that host in maintenance mode to force a user with the problem to broker to a different host and that would work in the short term but then you'll have a full time job moving hosts in and out of maintenance mode.
There are several ways to stop the zombie sessions from occurring.
- Run the VDA Cleanup Utility and then install VDA 7.6.300 on the session hosts. We did some limited testing with VDA 7.9 and that also seemed to resolve the issue.
- If you wish to stick with VDA 7.6.1000 (CU1) then ensure you install the following hotfixes: KB2978367\Windows8.1-KB2993100-x64.msu, KB2978367\Windows8.1-KB2995004-x64.msu and KB3055615\Windows8.1-KB3055615-v2-x64.msu. In other words, RTFM! These are part of the Citrix recommended hotfixes.
Credit to https://img00.deviantart.net/186a/i/2010/147/b/f/zombie_background_by_ace_bgi.jpg for the zombie image!