When applications won’t launch in Citrix Xenapp or Presentation Server, you can get a multitude of error messages. Most are guaranteed to tell you little to nothing about the actual cause of the issue. Sometimes the app will appear to launch, and then nothing will happen. Error codes can range from SSL Error codes 1-29, or more generic errors like “There is no Xenap server available”. What can cause applications not to launch through the Citrix Web Interface? Let’s take a look at a few possible causes…
Citrix Secure Gateway or Netscaler in the way? Maybe a firewall problem?
Does the problem exist only for external users coming in from the Internet, or does it also impact internal users? You can usually test for this pretty well by installing the Citrix client directly on your web interface server. If you can connect directly to the WI from itself and launch applications on itself, but you get errors when coming in from outside – chances are, you are dealing with a CSG or Netscaler issue. Make sure that the CSG passes its internal diagnostic tests, and make sure the Netscaler has a valid route through to the Web Interface and each Xenapp server in the farm. Make sure that the STA servers used on the Netscaler match exactly the STA servers specified on the Web Interface. Sometimes the network team can make a change to the inside facing firewall on the DMZ, and your users will suddenly experience the inability to launch applications via Citrix. Remember that traffic must be able to pass on 1494 or 2598 (Depending on if you are using session reliability).
While Citrix does occasionally present valid licensing error messages during application launch, I’ve seen many cases where licensing problems caused error messages that don’t mention licensing at all. In order to verify if you have a licensing problem, log into one of the Xenapp servers in question and drop to a command prompt. Type “Qfarm /load” and look at the load on each server. If a server is showing a load of “20000”, then it is experiencing a licensing problem. Make sure that the license server is up, and licenses are showing in the console appropriately. Occasionally you may have corrupt license files, and you’ll need to re-download them from MyCitrix along with a new startup license. Take this opportunity to upgrade your license console to the latest version.
In addition to Citrix license issues, be sure you have enough licenses for terminal services or remote desktop services. I’ve seen issues with these licenses that will causes Citrix apps to act like they are launching, but never open properly.
If you are having problems with XML, chances are you’ll see some XML errors in the event viewer on either the Web Interface or the farm XML broker. Make sure that the port you are using for XML is open between the Web Interface and the farm. You can test this from the CLI by doing a “telnet <xmlbrokerserver> #”, using the server name and xml port # from your farm. If it connects and gives you a blank black screen, then traffic is flowing properly. If it hangs on a blinking cursor, then you should check your firewall settings.
If XML traffic is OK, your next step should be to re-register the XML service on the XML broker. Use the command syntax below:
CTXXMLSS [switches] [/Rnnnn] [/Knnn] [/U] [/?]
/Rnnnn – Registers the service on port number nnnn
/Knnn – Keep-Alive nnn seconds (default 9).
/U – Unregisters the service.
/? (help) – Displays the syntax for the utility and information about the utilities options.
Corrupt Local Host Cache?
As with most Citrix issues, the local host cache is one of the usual suspects. If an application won’t launch, you can recreate the local host cache quickly and safely as a first stab at the issue. Use the command: “DSMaint recreatelhc” from the CLI on each Xenapp server in your farm.
Corrupt Published Apps?
This doesn’t seem to happen as often as it used to, but it can still come into play occasionally. If you have ruled out other causes and you still can’t figure out why an app won’t launch – Try publishing it again from scratch in the DSC and seeing if the newly published icon works. If it does, you can delete your old icon and point users to the new one.
You may want to check that the datastore isn’t showing any corruption. Specifically I would recommend running the “DSCHECK /full applications” command to check the apps section of the database for errors. Look for any verbage like “error”, “missing” or “not found” – and if you see that, run the same command again with the “/clean” switch appended to it. Be sure to always back up your datastore before running this command, as it will make changes.
Load Balancer Issues?
Occasionally, applications won’t launch in a Citrix environment because of load balancer issues. There could be issues where Citrix is “black holing” new users into a single server, overloading it, or problems where Citrix mishandles the load balancing completely. The first step in troubleshooting a load issue is going to be using the “Qfarm /load” command. If you notice any servers in the farm with a value of “10000” – that means they are at 100% load and can’t accept any new connections, typically. Once you know if load is being equally distributed throughout the farm, you can take action. If you find that load is not being distributed correctly, check to make sure that your application is published to multiple servers and that it is in fact enabled. If all other measures have failed, sometimes the Microsoft performance counters that Citrix relies on have been known to go corrupt and need to be rebuilt.
Is it limited to a specific server?
In a large Citrix farm environment, you won’t spend time looking at the load balancer or Netscaler device if you’ve been able to limit it to a specific server. If you are sure it’s only one server in the environment, make sure that all of the Citrix services are started. Sometimes it can be helpful to pull up the services console on the non-working server and compare it to a server that is working. When you do a “Qfarm /load” command, does the problem server even report in? If it’s missing from the Qfarm, then perhaps the IMA service is not started (See my other blog entry on why IMA won’t start). If you exist all options, it may be necessary to restore the server from a snapshot (ideally), or run a Citrix repair from the install media.
Hotfix and Patch Level?
When all other options are exhausted, I’ve sometimes seen issues arise after Microsoft updates have run on a server, causing past Citrix patches or updates to get partially overwritten or corrupted. I’ve seen cases where a client has been running fine on Roll-up 4 for years, and after we upgraded him to Roll-up 7, suddenly applications will launch again. For these reasons, I’d always recommend checking that you are at current patch levels, and even consider reapplying a roll up pack on a test server as a last resort in such cases. In cases where you suspect that a Microsoft update may have changed the fundamental way that Citrix and Windows Server communicate or work together, I’d recommend experimenting with rolling back a recent patch or update and judging the result.