Known issues for Citrix

This section describes troubleshooting and limitations for Citrix.

General limitations

  • Running Citrix Vusers on virtual machines may adversely affect performance due to the sharing of physical resources.

  • If an ICA script succeeds in VuGen, but fails when running on a load generator, check the display on the load generator machine. If it displays a Citrix dialog box entitled ICA Client File Security, then, in the Access section of the dialog box, select Full Access and Never ask me again for any application. Click OK to apply your changes.

    Note: You can also set these options in WebICA.ini. For details, see article CTX133565 in the Citrix Knowledge Center.

  • The error Failed to get session from client occurs when the Citrix registry patch (<installdir>\dat\Enable_Citrix_API.reg) is not installed.

    Workaround: Make sure the AllowSimulationAPI key is present in the above registry and not set to 0, as it enables Citrix ICO functionality. Note that in 64-bit operating systems, these keys should reside under the HKLM\Software\Wow6432Node, node, since the Citrix client is a 32-bit application.

Back to top

Recording and replay issues

Note: Citrix Receiver is no longer supported by the vendor. The currently supported version is Citrix Workspace.

  • The Citrix registry patch is installed when you record or replay a Citrix Vuser script for the first time. In rare situations, the error log indicates that it could not be installed. In this case, try to install the registry patch manually. The patch can be found at: <installdir>\dat\Enable_Citrix_API.reg on the relevant machine.

    Note: The Citrix client is 32-bit software. Therefore, on a 64-bit OS, install this registry patch under HKLM\SOFTWARE\Wow6432Node\ , and not under HKLM\SOFTWARE\ . To do this, launch Enable_Citrix_API.reg from the 32-bit file manager or modify it before launching it from Windows Explorer."

  • During recording, one of these issues may occur:

    • When recording a Citrix + Web – HTTP/HTML script, only the web is part is recorded.

    • For any Citrix script, the function ctrx_sync_on_text_ocr does not recognize the OCR string.

    • runcitrixclient.exe crashes.

    Solution: In HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\, make sure the EnableLUA registry key is set to 0.

  • During recording, if the ICA file is downloaded instead of opened, then open the ICA file from here: <<installdir> > bin > runcitrixclient.exe.
  • The Citrix Connection Center may prevent record and replay of Citrix ICA scripts, if it is running in a different user session on the same machine.

    Workaround: Close all instances of the concenter.exe process for all users. To prevent the Citrix Connection Center from starting automatically, set the ConnectionCenter registry key to an empty value. This key can be found at:
    For 32-bit systems:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    For 64-bit systems: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

  • During recording, only one application is hooked, so it is impossible to record two applications in the same script. We recommend using a new script for each application, or record on a shared desktop with multiple applications installed.
  • When using the Mozilla Firefox browser, if you receive an error when opening the ICA file directly during recording, try downloading the file and then open it.

  • On a machine with Citrix Receiver or Citrix Workspace installed, ctrx_mouse_move() does not work when replaying a script.

    Workaround: Do one of the following:

    • Change the script to use an alternative UI flow. That is, replace mouse-move operations with other operations, such as keyboard operations.

    • Upgrade Citrix Receiver/Workspace (both locally and on the load generator machine). Then modify the following Windows registry keys to enable the solution:

      OS Registry keys
      32-bit Key location:HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\CCM
      64-bit
      • Key location:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\CCM
      • Name: AllowMouseEvent
      • Type: REG_DWORD
      • Value: 1
  • When replaying Citrix scripts with Citrix Workspace 2203 LTSR, the vuser_end / log off command might fail to run. To complete the replay, click or otherwise interact with VuGen.

  • When recording a multi-protocol Citrix - Web script, extra keystrokes may be recorded and appear in the script as part of ctrx_key function calls. For example, a press of the ALT key may appear in the script as follows:

    ctrx_key("ALT_KEY", 0, "", CTRX_LAST);

    These additional keystrokes are generated by underlying Windows processes and are unrelated to the script recording process.

    Solution: Manually delete the keystrokes after recording. Script replay should not be affected.

  • The Citrix client may prompt you with a security warning: "An online application is attempting to access files in your computer." This dialog box blocks the replay because it requires user intervention.

    Workaround: To prevent this, configure the registry on the Citrix client machine to allow it to silently access local drives. For details, see article CTX124921 in the Citrix Knowledge Center.

  • When you add a Sync on bitmap or Sync on text OCR step, the application on which you want to sync loses focus.

    Solution: After you have clicked to add the sync step, do not move the cursor crosshairs over any windows or applications other than the one on which you want to sync. (If the cursor crosshairs pass over a different application, that application is brought into focus instead.)

Back to top

Citrix cloud issues

The following known issues are related to working with a Citrix cloud environment.

Slow code generation with Azure cloud

When working with a Citrix cloud environment, using services installed on Microsoft Azure, code generation may be slower than expected.

Workaround: To speed up code generation, in the script Recording Options, filter out web calls that are not directly related to the script. It can be helpful to filter out as many as possible, for example, web calls related to statistics, or to background data collection.

Citrix monitor graphs with Citrix Cloud

When working with Citrix Cloud, if the credentials of the Citrix server (Citrix Virtual Apps and Desktop) are unknown, then the Citrix Server monitor graphs in Controller are not available.

Back to top

Citrix Agent issues

The following known issues are related to the Citrix Agent.

Effects and memory requirements of Citrix Agent

When you run Citrix Vusers with the agent installed, each Vuser runs its own process of ctrxagent.exe. This results in a slight reduction in the number of Vusers that can run on the server machine (about 7%).

When the agent is installed, the memory requirements per Citrix Vuser is approximately 4.35 MB. To run 25 Vusers, you would need 110 MBs of memory.

Citrix Agent does not start

If the Citrix Agent does not start, check that corresponding keys are present in the registry.

In order to be launched during session initialization, Citrix Agent’s installer writes it to registry. For servers, it adds it under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, and for client machines under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.

Also, make sure the Citrix Agent's installation folder, usually C:\Program Files (x86)\OpenText\Agent for Citrix Server, is set to "Read and Execute" and not only “Read”.

Random failures of functions accessing Citrix Agent

Communication between Citrix Server and Citrix client-side software is directed over Citrix ICA Virtual Channels. This is a bi-directional connection for the exchange of packet data.

Each Vuser opens its own instance of the Citrix Agent on the server side, and, respectively, its own virtual channel. Citrix Virtual Channels may become unreliable under high load. As a consequence, functions that rely on Citrix Agent API (such as ctrx_get_text(), ctrx_sync_on_obj_info() ) may fail randomly.

Workaround: Use a TCP channel for communication with the Citrix Agent. Set the following flags:

TCPChannel=1 in the [CITRIX] section of the script’s default.cfg configuration file,

TcpChannelEnabled=1 in the [ChannelConfig] section of the CtrxAgent.ini file.

Note that for MinPortValue and NumPorts flags in CtrxAgent.ini, the agent tries to find a free port and enumerates NumPorts ports starting from MinPortValue. If you have firewall software on the Citrix server or load generator, make sure to configure it to allow connections on these ports.

Java issues

  • The Citrix Agent does not provide support for Java applications on x86 operating systems.
  • The Citrix agent cannot capture text from certain Java controls with overlapping text boxes, such as dropdown and combo boxes.

  • The Citrix agent cannot capture text from Java-based applications or from Internet Explorer 9 and later.

Back to top

Unexpected disconnection

If you experience "unexpected disconnect" errors, try the following:

  • If you suspect this is due to a network issue, you can try the Citrix Session Reliability feature (this can be enabled by the Citrix administrator on the server side). When Session Reliability is enabled, Citrix Client reconnects to the server when the network connection is restored, without need for user re-authentication (transparently for OpenText Professional Performance Engineering).
  • Sometimes the "unexpected disconnect" error may be caused by discrepancy of the script and server timeout settings. Consider the following scenario: The script executes some synchronization function, for example, ctrx_sync_on_window(), and waiting time is quite long, say, 180 seconds. The script does not perform any action like mouse clicks or key presses while it is waiting for the window to appear, and the server disconnects the session when Idle Session Timeout (2 minutes by default) is exceeded. As a result, an "unexpected disconnect" message appears in the replay log. If you get "unexpected disconnect" at the synchronization step, it is recommended to check waiting time value in the script, and session timeouts on the server.

    Another workaround for unexpected disconnect at the synchronization step, is to enable User Activity Simulation - Runtime settings > Citrix > Synchronization > Enable user activity simulation. If the feature is turned on, OpenText Professional Performance Engineering simulates user activity on a Citrix server over the specified time period and in this way prevents a disconnect.
  • It may be a result of connecting to a session that already exists on the server. When a Vuser enters an existing session, it cannot receive Windows events from a Citrix ICA object. This is a limitation of the Citrix software. To prevent this, ask the Citrix administrator to configure sessions on the Citrix server to be terminated immediately after disconnect or log off. In the VuGen script side, make sure to add a ctrx_logoff() function at the end of the script (in the vuser end section).

    To minimize the risk of entering an existing session, Citrix Agent tries to close the session on the server when communication with the client machine is lost. This functionality is enabled by default. To disable it, set LogoffSessionOnExit=0 in CtrxAgent.ini.

Back to top

Citrix errors

The following Citrix errors may occur.

Citrix Error 13 "Unsupported function"

The Citrix Error 13 is a general error code that usually refers to an error for which Citrix do not provide a specific code. This error is most common in OpenText Enterprise Performance Engineering and BPM environments where Citrix processes (wfica32.exe, wfcrun32.exe, concentr.exe, receiver.exe…) are running in sessions other than that of the mdrv process.

Workaround: Use TaskManager or ProcessExplorer to find and kill all of these processes.

Citrix Error 70, Client Error 1030 "Protocol driver error"

This error may occur for various reasons, such as network issues or proxy configuration. Often, it occurs when you are running a Citrix+web multi-protocol script recorded against a secured (https) Web Interface site, and the certificate required by this site is missing on the load generator machine.

Workaround: Try to open the published application from the Web Interface on the problematic machine. Look at the log file %APPDATA%\ICAClient\wfcwin32.log and search for “SSL Error 61”. If you find this text, it is clearly a certificate issue. For example,

09-18-2014 10:28:55:380 Calculator MUCFARMEXT01: SSL Error 61: You have not chosen to trust "AddTrust External CA Root", the issuer of the server's security certificate.

Compare certificates on the load generator and VuGen machines and install the missing one. Make sure that the attributes match—do not rely on a matching certificate name only. You must also check also other attributes such as “Expiration date”.

Back to top

See also:

  • For general troubleshooting and limitations, see Known issues.