RDP Fails After Back-to-Back attempts

When attempting to use Remote Desktop Protocol (RDP) with Workforce Access (WFA) 6.9.0 to 6.11.0, a user can experience failures to connect on 2nd+ attempts. More specifically, the user can successfully RDP to remote machine using WFA, but if the user disconnects and re-attempts an RDP within 60 seconds, the RDP will fail. The user will see the credentials/log-in screen, they will get a push notification and authentication on their mobile phone, but the RDP will not log in.

Steps to Reproduce

  1. On Windows machine with HYPR installed, Launch Remote Desktop Connection (Ctrl+R, mstsc)

8381fbad-f61c-4cc2-9815-3d13bd1add47.png

  1. Enter the IP address and click connect

5ea73d18-953a-42ab-ba3f-caf02c530cec.png

  1. On mobile phone, find your computer and tap to authenticate

66803529-e9c4-42a7-9334-0f9a937e6dba.png

  1. Mobile will authenticate with biometric (face/thumb/etc)
  2. Machine will login
  3. Click X to close our the RDP session
  4. Enter the IP of another server and click connect
  5. On mobile phone, find your computer and tap to authenticate
  6. Mobile will authenticate with biometric (face/thumb/etc)
  7. Machine login screen will do nothing, still waiting for credentials
HyprOneService Logs will not contain any errors or warnings, however the Windows Event Viewer “Application” will contain the following entry:

Application: HyprOneService.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException
at VirtualSmartCard.VSCManager.<CardThreadProc>b__19_0(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()

Known Workarounds

It is advised for users to wait 60 seconds between RDP sessions from the same machine. This will prevent the HyprOneService from crashing in between RDP attempts.

Resolution

The solution is in a code change that ensures the Virtual Smart Card is removed on sessions ending. This prevents a crash in the HyprOneService and allows additional RDP connections.

Fix Version

Workforce Access v6.12.0

Was this article helpful?
1 out of 1 found this helpful