Sunday, October 12, 2014

VMware Horizon View Client takes a long time to complete the “Connecting…” process

Problem

You’ve noticed that it takes a long time (upwards to 15 seconds) to connect with the VMware Horizon View Client during the Connecting… stage as shown in the screenshot below:

image

Once the login prompt window is displayed, the reset of the connection status including the Authenticating:

image

Solution

While there can be various reasons that could affect the Connecting… process to take a substantial amount of time, one of the ways to diagnose the problem is to review the local View Client logs in the directory:

C:\Users\%username%\AppData\Local\VMware\VDM\Logs\

For the environment I was troubleshooting this issue for, the last few lines of the debug log prior to successfully connecting shows the following:

2014-10-08T10:32:20.941-03:00 DEBUG (06D4-0764) <NodeManagerWatcher> [MessageFrameWork] Outgoing SharedMemory channel from wswc to machine WES008064C6AA05 wsnm connected as : WES008064C6AA05\Administrator, Authenticated through SSPI, package = NTLM, encrypting = true
2014-10-08T10:32:20.941-03:00 DEBUG (06D4-0F50) <PluginInitThread> [MessageFrameWork] MessageFrameWork Worker Added, Name=wswc_http, Description=The HTTP handler, Channel=00000000
2014-10-08T10:32:21.081-03:00 DEBUG (06D4-0764) <NodeManagerWatcher> [MessageFrameWork] Connection to Node Manager established.
2014-10-08T10:32:20.957-03:00 INFO  (06D4-0658) <Main Thread> [wswc] Windows Client started
2014-10-08T10:32:21.144-03:00 DEBUG (06D4-0EA4) <connectThread> [wswc_ui] CanLoginAsCurrentUser: client not in domain
2014-10-08T10:32:21.175-03:00 DEBUG (06D4-0DE8) <InitUIManager> [MessageFrameWork] MessageFrameWork Worker Added, Name=UIManager, Description=Provides User Interface services for a session, Channel=00000000
2014-10-08T10:32:21.237-03:00 DEBUG (06D4-0E30) <PluginInitThread> [MessageFrameWork] MessageFrameWork Worker Added, Name=GuestUIManager, Description=The in-guest UI management service, Channel=00000000
2014-10-08T10:32:44.962-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [wswc_http] Broker request brokerConnect started

Once the client successfully connects, the last few lines of the debug logs shows the following:

2014-10-08T10:32:20.941-03:00 DEBUG (06D4-0764) <NodeManagerWatcher> [MessageFrameWork] Outgoing SharedMemory channel from wswc to machine WES008064C6AA05 wsnm connected as : WES008064C6AA05\Administrator, Authenticated through SSPI, package = NTLM, encrypting = true
2014-10-08T10:32:20.941-03:00 DEBUG (06D4-0F50) <PluginInitThread> [MessageFrameWork] MessageFrameWork Worker Added, Name=wswc_http, Description=The HTTP handler, Channel=00000000
2014-10-08T10:32:21.081-03:00 DEBUG (06D4-0764) <NodeManagerWatcher> [MessageFrameWork] Connection to Node Manager established.
2014-10-08T10:32:20.957-03:00 INFO  (06D4-0658) <Main Thread> [wswc] Windows Client started
2014-10-08T10:32:21.144-03:00 DEBUG (06D4-0EA4) <connectThread> [wswc_ui] CanLoginAsCurrentUser: client not in domain
2014-10-08T10:32:21.175-03:00 DEBUG (06D4-0DE8) <InitUIManager> [MessageFrameWork] MessageFrameWork Worker Added, Name=UIManager, Description=Provides User Interface services for a session, Channel=00000000
2014-10-08T10:32:21.237-03:00 DEBUG (06D4-0E30) <PluginInitThread> [MessageFrameWork] MessageFrameWork Worker Added, Name=GuestUIManager, Description=The in-guest UI management service, Channel=00000000
2014-10-08T10:32:44.962-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [wswc_http] Broker request brokerConnect started
2014-10-08T10:34:00.105-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [wswc_http] SSL connection to server '/broker/xml' failed with error(s) 0x00000001.
2014-10-08T10:34:00.105-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [wswc_http] Certificate revocation checks failed. This will be ignored.
2014-10-08T10:34:00.277-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [] CertUtil_ConnectedWithNoErrors: Connected to server 'desktop.domain.com' with no errors.
2014-10-08T10:34:00.277-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [wswc_http] Broker request brokerConnect successful

What delayed the connecting stage are the following lines highlighted in RED:

2014-10-08T10:32:44.962-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [wswc_http] Broker request brokerConnect started
2014-10-08T10:34:00.105-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [wswc_http] SSL connection to server '/broker/xml' failed with error(s) 0x00000001.
2014-10-08T10:34:00.105-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [wswc_http] Certificate revocation checks failed. This will be ignored.
2014-10-08T10:34:00.277-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [] CertUtil_ConnectedWithNoErrors: Connected to server 'desktop.domain.com' with no errors.

2014-10-08T10:34:00.277-03:00 DEBUG (06D4-087C) <MessageFrameWorkDispatch> [wswc_http] Broker request brokerConnect successful

As shown in the highlighted lines, what was slowing down the process was the check on the CRL (Certificate revocation check) checks for the SSL certificate presented by the View Connection Server and the reason why the CRL failed was because the workstation where the View Client was used did not have access to the internet. Disabling certificate checks via the Do not verify server identity certificates (not preferred) made the connecting process complete in less a second while giving the workstation access to the internet improved the speed to about a second.

No comments: