Presentation on theme: "SUM405: Troubleshooting and Debugging Receiver for iOS and Android"— Presentation transcript:
1SUM405: Troubleshooting and Debugging Receiver for iOS and Android Christian SuarezSr. Escalation EngineerMay 21, 2013Hello and Welcome to Troubleshooting and Debugging Receiver for iOS and Android. This presentation will show you the tools and data that can be used to help resolve problems in the Receivers for iOS and Android.
2Why Mobility?Why Mobility? Mobility can make employees more productive and reactive by allowing them to access any resource, anywhere with any device.
3Why Now?Why Now? There is an increasing demand for employees to securely access these resources on the device of their choice and the pressure is on for IT to adapt!
4A fast growing, rapidly changing mobile market Source: Gartner (January 2012)Source: Gartner (September 2011)Here is a look at this fast growing and rapidly changing mobile market. From these forecasts from Gartner, we’ll see twice as many smartphones and tablets by 2015 as we did in 2012.
5Mobility is top priority for organizations And a big challenge for IT!Mobility is a top priority for organizations AND the employees. And it is a BIG challenge for IT.
6How do you find the problem? How do you find the problem when dealing with the Mobile Receivers? There are lots of ones and zeroes flowing, how do we know which ones to look at? There has not been much logging in the Citrix Mobile Receivers in the past and it was quite difficult to get to. Many have been frustrated looking for logging within the Mobile Receivers. We have added some exciting new and convenient tracing methods to both the iOS and Android Receivers.
7Citrix Mobile Infrastructure DevicesNetworkWebResourcesStoreFrontAccess GatewayThird PartyVPNWeb InterfaceWith all the combinations of products or network devices between your Mobile Receivers and your critical business applications and desktops, First, understand the infrastructure design to help narrow down the problem. These are the major components considered in this presentation. The Mobile Receivers: iOS and Android, the Network and Web components: Netscaler, Storefront and Web Interface, and your business resources like XenApp published applications and XenDesktop machines.See the big picture and ISOLATE the issue by determining which connection scenarios the problem does and does not occur. Next, SEPARATE the network layers from the applications layer by checking out the network traffic. Then, GATHER and INVESTIGATE the key diagnostic data from the applications layers. Here is how to get the most useful data from the XenDesktops and XenApp Servers and the Mobile Receivers.
8Agenda NEW! Network and ICA Connection Troubleshooting Advanced Logs on Receiver for iOSLogcat with Receiver for AndroidWrap it up!QuestionsNEW!The Agenda: Start with common Network and ICA Connection troubleshooting steps. This section can be applied to connection issues from any Citrix Receiver. Look at Network Traces, useful Event Logs and CDF Tracing. In the next section, gert into all new Advanced Logs in the Receiver for iOS. Show how to enable, collect and debug these logs. Then the same for LogCat logging in the Receiver for Android. Cover some supportability concerns for these Receivers. Within each of these three sections, cover some Case Studies. Wrap it up and provide some references.
9Network and ICA Connection Troubleshooting Get started with Network and ICA Connection Troubleshooting
10Isolate the Issue Detailed Reproduction Steps XenApp / XenDesktop? ResourcesDetailed Reproduction StepsXenApp / XenDesktop?It is a common practice in identifying an issue is to ISOLATE the problem to a specific scenario. Does the issue occur for XenApp and XenDesktop connections?
11Isolate the Issue Reproducible Environment XenApp / XenDesktop WebReproducible EnvironmentXenApp / XenDesktopStoreFront / Web Interface / Services SiteStoreFrontIs there a difference if the user connects from StoreFront, Web Interface, or a Services Site?Web InterfaceServices Site
12Isolate the Issue Reproducible Environment XenApp / XenDesktop StoreFront / Web Interface / Services SiteUser-based or Device-basedFrequency of the IssueIs the issue occurring for a specific user base? Or certain devices only? How often does the issue occur? Every time? 1 out of 10 times? Or the second time only?
13Detailed Reproduction Repro StepsClear Sequential Repro Steps with timing(Start Tracing at 6:09pm on 4/2)Logon to WI from Browser at 6:10Launch XenApp Desktop at 6:11Expected BehaviorHear Windows logon soundUnexpected BehaviorCannot hear Windows logon sound at 6:12It is very important to get clear, sequential steps that a user takes to reproduce the problem and include approximate times while collecting data. For example, here we started the tracing about 6:09 on April 2nd, the user logged on to Web Interface from the Browser at about 6:10 and launched a XenApp Desktop at 6:11. Include the Expected Behavior as well as the Unexpected Behavior which is the problem you are experiencing.
14External Reproduction Complex backend or proprietary softwareProvide Store Account configurationTest user accountSecurity Tokenrequirements presenta challengeIf the infrastructure is too complex or requires a proprietary software backend, may rely on an External Reproduction, we may ask for need test user access to your environment. This would give our engineers an opportunity to test, create and recreate private Receiver builds on the spot to find the solution the fastest. We would ask for the StoreFront or Account configuration, usually a URL and a Test user account. Of course, one without a Security Token would be ideal but if it is required, we will still work with you.
15Test Other Citrix Receivers Previous ReceiverPossible RegressionBeta / EAP ReceiverAlready FixedFrom Browser or ReceiverAndroid vs iOSWindows ReceiverFor client side issues, compare with other Receivers. Did the issue occur with a previous Receiver version? This tells us that is may be a Regression. Or if available, does the issue occur in the Beta Version of the Receiver? Here is the Beta for Android and iOS has an Early Adopter Program that you subscribe to by contacting Citrix. A Beta version will help determine if we have already resolved the issue. Determine if the issue occurs when launching the connection from the Device’s Browser or within the configured Receiver. Also the iOS and Android Receivers have a relatively common feature set, so it is good to know if it happens with both of these platforms. Finally, the real litmus test for Receiver issues is does it occur with the latest Receiver for Window? This could indicate the problem is on the server.
16Network Troubleshooting Checking the NetworkNetscaler AG- VPN or ICA Proxy?Other VPNLocal Users or External Users only3/4G or Wireless NetworkSingle or Dual AuthenticationPublic or Private CA CertificatesIntermediate Certificate on the GatewayAccess GatewayNext, check out the Network connection, is there an Access Gateway in the mix and is it in ICA Proxy mode or Full VPN mode? Or using a third party VPN? Does the issue occur for Internal users or External users or both? For the Mobile platforms does the issue occurs from both the 4G network and from a Wi-fi connection? Since Authentication is often done on the network devices, is single or dual authentication? Certificates tends to be a common set back with the Receivers. Have a public or private certificate? Is the private certificate on the end device? Is the intermediate certificate on the Gateway device? Also, ensure using a supported certificate or authentication method.Third PartyVPN
17Network Troubleshooting Identify Network devices within the connectionLook for unique or custom configurations or designCheck for third party logs or tracingIdentify Closest Working ScenarioCollect Working and Non-working Network TracesPreparing for Network traces, note the IP Addresses of all the network devices used for the connection. Look for any unique or custom configurations. Check for logging in any Third Party products used for the connection. And identify the closest working scenario. Then, if suspect that there may be something wrong at the Network level, Collect working and non-working Network Traces.
18ICA Enumeration and Connection ICA is Citrix’s primary TCP ProtocolICA wrapped in CGP / Session Reliability – 2598Determine Enumeration or ConnectionAuthentication in EnumerationSession Launch in ConnectionCreate Account/Store in Mobile to EnumerateEnumerate via Web Interface each timeLaunch App or Desktop from Browser or ReceiverSpecific to the Citrix ICA Connection, ICA is Citrix’s primary TCP Protocol and it uses port Session Reliability uses CGP over 2598, which is basically a reliability buffer around ICA. It is good to determine if your issue occurs during enumeration or the connection attempt. Authentication issues may occur during Enumeration The connection issues occur during the Session launch. With the Mobile Receivers, the enumeration occurs during the initial authentication. With Web Interface enumeration occurs each time. and the App can be launch from the Desktop browser or from the Receiver.
19Network Traces Analysis Tips Finding the ICA SessionFilter by Regular Expressionstcp.port == 1494 || tcp.port == 2598ip.addr == && ip.addr ==Network Traces Analysis- Here are some quick analysis tips to find the ICA traffic in a Network Trace. Wireshark and several other network tools have the same type of features. First, filter the trace to the most useful data. Identify the Citrix connections by filtering on ports 1494 and If you have the IP information of the client and server, filter on the IP addresses to view the entire conversation.
20Network Traces Analysis Tips Finding the ICA SessionFilter by Regular Expressionstcp.port == 1494 || tcp.port == 2598ip.addr == && ip.addr ==Add Name ResolutionUse Display Time FormatA nice feature in Wireshark from readability is to add a common name to the IP Addresses or allow the automatic Name Resolution if on the internal network. For timing or performance issues, it helps to set the Time Format to something more readable.
21Network Traces Analysis Tips Finding the ICA SessionFind TCP Handshake – SYN, SYN-ACK, ACKUse Follow TCP StreamVerify the ICA SounderOnce formatted and filtered the output, find the beginning of the ICA conversation. This can be done by looking for the TCP Handshake – SYN, SYN/ACK, and ACK. These three messages start every TCP/IP network connection. Once the ICA conversation is found, use Follow the TCP Stream and then identify the ICA Sounder, which shows up as 7F 7F in the data.
22Network Traces Analysis Tips Identifying IssuesTime issue occurred during traceUse Expert Info FeaturesLook for Network SaturationLook for Retransmissions and ResetsFind which side of conversation initiates the problemCompare with a working traceAfter finding the ICA network traffic, look for the most common problems. One method of finding the problem is to simply use the timing of the failed behavior. Perhaps the issue occurs 5-10 seconds after the beginning of the connection attempt so focus on that area of the trace. Wireshark has an excellent Expert Info feature, located in the Analyze Menu, you can get some useful data from the Details tab. Here you can identify Network Saturation, see these TCP Dup ACK messages and Retransmission or Resets. If one of these issues, look at the traffic and determine which side of the conversation initiated the drops. Look at the trace of a working scenario to identify differences. Use at these clues from the trace analysis to determine if any particular node within the network connection is causing a problem and then try to confirm by eliminating or avoiding that component.
23Network Traces with Netscaler AG nstrace.sh command with nsroot accessSecure Shell (SSH) access with tool like PuTTY or Secure ConsoleSecure Copy (SCP) download with tool like WinSCP or SFTPNetscaler’s Web ConsoleStart new trace under System-> DiagnosticsDecrypt a SSL Trace with Private KeyThere are a couple of ways to get a Network trace from a Netscaler device. The command line way with secure shell tools like PuTTY and secure copy tools utilizing the nstrace command. Or a trace can be gathered from the Netscaler web console under System Diagnostics, select Start new trace. Dealing with Secure traffic, to decrypt an SSL Trace obtain the Private Key. See CTX for further details.
24Other Data for ICA Connection Issues Event Logs of XenApp or XenDesktop hostLicensing IssuesAuthentication IssuesEvent Logs of Authenticating ServerWeb Interface or XML BrokerSTA Logs in CtxSta.config for Ticketing IssuesEnable Web Interface tracing in web.config fileIIS Logs for Web Site issuesSome other data to collect for ICA Connection Issues. First check the System and Application Event Logs for your XenApp Server or XenDesktop host. Could discover Licensing issues or Authentication issues indicated there. Check the Event Logs of the Authenticating Server, whether it is the Web Interface Server or the XML Broker. For ticketing issues, there are STA Logs that can be enabled. Enable Web Interface tracing in the web.config file There are several tracing categories that you can enable for Web Interface Issues. And for Web Site issues examine the IIS Logs. I have referenced all the Citrix KB Articles that you need for these steps in this slide deck.Receiver for iOS TroubleshootingEnable STA LoggingWeb Interface tracing
25Citrix Diagnostic Facility (CDF) Traces Key Citrix Diagnostic Data requires parsingCDF is based off Event Trace for Windows (ETW)Providers, Controllers and ConsumersIdentify which XenApp Server to TraceCitrix XenApp Server and XenDesktop HostSession Launching issuesZone Data Collector and XML BrokerApplication Enumeration or Load-Balancing issuesCitrix Diagnostic Facility (CDF) is Citrix’s primary data capturing method. It is the best way to trace most of our server products. It does require parsing with symbols and we have a public Citrix Symbol server if you want to analyzing a CDF Trace. CDF is based off Event Tracing for Windows with Providers, Controllers and Consumers. This just means that you must enable the Citrix modules to trace (providers) and then collect them with a utility (controller and consumer). But first, we must determine where to collect the CDF Trace. For session launching issues, collect the CDF trace from the server hosting the application or the XenDesktop VDA. If you are dealing with Application enumeration or Load-balancing issues, trace all IMA/XML modules on the Zone Data Collector and XML Brokers.
26Capturing CDF Traces Steps to gather CDF Traces Citrix Diagnostic FacilitySteps to gather CDF TracesScout - CTX130147CDF Control – CTX111961Use Circular Traces for Intermittent issuesProvide Citrix Technical Support with .etl trace fileThere are a couple of Citrix utilities that can be used to gather a CDF Trace file while the issue occurs, Scout and CDF Control. Both of these utilities will provide Tracing Categories of Citrix modules to enable specific to the issue. For issues that are intermittent or hard to reproduce, leave a circular CDF trace running, until the issue occurs and then collect the etl file. While we do not recommend leaving CDF Traces running under normal operating circumstances, CDF Traces can be taken with a minimal performance impact on the host. Submit the .etl file to Citrix Technical Support for a detailed analysis.
27CDF Trace DemoA Demo of the CDF Control utility at work on a Citrix XenDesktop VDA and on a Citrix XenApp Server.<PLAY> To use CDF Control for gathering a CDF Trace, download the utility on the VDA from our KB at CTX This will download a compressed zip file of the executibles for 32-bit and 64-bit. Next simply drill down and run the executable. There is no install process, which makes it easy to move this utility around. Here are the Options for the ways to gather the trace file, like that circular log I mentioned earlier. Here are the Trace Categories, which allows us to only trace the Citrix modules (providers) specific to the issue. If your issue clearly falls into one of these categories it could save time but if you are in doubt select All Modules. You can also Clear All Selected. And you can select multiple categories and it will choose both sets of modules. When you are ready to reproduce the issue, select Start Tracing. If you are tracing an event that occurs during the logon of a disconnected session, simply leave this trace running, disconnect the session and reconnect to the session. Stop the trace once the logon process is completed. By default, the etl file will be located in the same folder as the CDF Control executable. Send this etl file into Citrix Technical Support for analysis. This works the same from the XenApp Server. You can run a CDF Trace from an Administrators session and it collect all the session’s data and it will grow very fast.
28Data Collected Network Traces – .pcap, .cap Network IP Info To Summarize some of the Data Collected in this section, For Network problems, get the Network Traces in pcap or cap file and the Network IP information Make sure to note the IP Addresses of all the important devices, like the XenApp Server and Citrix Receiver.
29Data Collected Network Traces – .pcap Network IP Info CDF Traces - .etlRepro InfoThe CDF Trace come in a etl file along with the repro steps during that collection. Here is the files and Good reproduction steps with times added.
30Data Collected Network Traces – .pcap Network IP Info CDF Traces - .etlRepro InfoEvent Logs - .csvAnd finally include the other important logs like Application and System Event Logs of the appropriate servers.
31Data Collected Network Traces – .pcap Network IP Info CDF Traces - .etlRepro InfoEvent Logs - .csvThis is some of the key Diagnostic Data from the Network and Server-side for any ICA Connection issues
32LongCommandLine parameter fails for iOS and Android Case Study #1First Case Study!
33LongCommandLine parameter fails for iOS and Android Case Study #1TroubleshootingOccurs on Receivers for iOS, Android and Mac not WindowsOccurs only when session sharingHappens from Local, External, Web Interface or StorefrontICA FILE…[IE]Address= :1494InitialProgram=#IELongCommandLine=http://www.citrix.com/lang/English/home.aspClientAudio=OnAudioBandwidthLimit=1In this Case, the Long Commmand Line Parameter which allows you to send an argument, like an http page or file to the published application was failing intermittently from the iOS Receiver. So we started Troubleshooting by isolating the issue. It turns out that the issue occurred for all non-windows Receivers that they tested like Android and Mac. Also we noticed that it worked on the first launch but when launching additional sessions which we determines the issue only occurs when session sharing. Also we determined that it occurs from any method of launching the session, Internal, External, Web Interface or StoreFront.
34LongCommandLine parameter fails for iOS and Android Case Study #1DebuggingObtained CDF Traces with successful and failed launchFound launch attempts with Enter:HostLaunchRequest()Successful launchIt was pretty clear that this was not a Network issue, so we went right to the CDF Traces. We also collected client side logs which I will show you how to do in the next sections, but they were not useful in this case. We gathered a CDF Trace with both a Successful and Failed launch and found the Host Launch Request marking the launching of the session. A few messages later in the successful trace, we could see the long command parameter being sent, which was a URL for Internet Explorer.
35LongCommandLine parameter fails for iOS and Android Case Study #1DebuggingObtained CDF Traces with successful and failed launchFound launch attempts with Enter:HostLaunchRequest()Failed launchIn the bad launch of the trace, we were able to locate the Host Launch Request and then noticed that the Long Command Parameters was NULL therefore not getting sent into the session.
36LongCommandLine parameter fails for iOS and Android Case Study #1ResultsDiscovered defect in all non-windows ReceiversFixed for iOS, Android, Linux and MacICA FILE…[IE]Address= :1494InitialProgram=#IELongCommandLine=http://www.citrix.com/lang/English/home.aspClientAudio=OnAudioBandwidthLimit=1With this data, the developer found a defect in all non-windows Receivers. We fixed the problem in each of these platforms and the Long Command Line parameter now gets properly sent into the session during every launch.
37Advanced Logs for Receiver for iOS Advanced Logging for the Citrix Receiver for iOS
38Introduction to Advanced Logs on iOS Advanced Logs introduced in Receiver for iOS 5.7AeTracing – Advanced Extensible TracingPlain Text Log FileTime and Date Stamp - dd-mm-yyyy hh:mm:ssMessage Types- INFO, WARN, VERBOSE, ERRORCitrix introduced Advanced Logs to the Receiver for iOS in version 5.7. This is a first edition of this tracing so there are improvements to come. Advanced Logs are based of AeTracing or Advanced Extensible Tracing. It produces an interpreted plain text log file that you can look at with any text editor. Each log entry includes a Time and Date stamp and each message will also be one of the following Types – INFO, WARN, VERBOSE, or ERROR. ERROR messages are clearly something to pay attention to. You may see this particular application Significant Time Change warning whenever there is new activity in the Receiver after some time. So this message appears at the beginning of any logging activity.
39Enabling Advanced Logs Enable Advanced Logs in the Receiver SettingsEnabling the Advanced Logs is done from the Settings of the Receiver.
40To access the Receiver Settings, click on the gear icon in the top right corner. Next Click on the Advanced option and enable or disable the Advanced Logs by toggling the ON/OFF switch. Simply as that.
41Two Ways of Gathering Advanced Logs Send Feedback and Request Help from SupportFrom Synced iTunes under File SharingRun the failing condition on the Receiver for iOS while the Log is enabled, and then collect the logs. The Advanced Logs are stored in the Shared Documents sections of the Citrix Receiver on the iOS device. There are two ways to get those logs from the Receiver. From the Receiver Settings, you can send an that includes a compressed archive of all the Advanced Logs on the device as well as some version information about your device.
42Send Feedback and Request Help from Support From the Settings icon on the Receiver, click on Send Feedback at the bottom and then Request Help from Support.
43Here you can see the that pops up with your device information and the logs attached in a zip.
44From Synced iTunes under File Sharing Or you can get the Advanced Logs from the Shared Documents section of a synced iTunes. Here is a very brief video on what that looks like.<PLAY> Once the device is synced to the PC or Mac, you will see the Receiver in the File Sharing section of the Apps tab. Highlight the Log folder and Save As. Then pull up a Finder window and open the Logs directory and there you will see a series of Advanced Logs files.
45Advanced Logs Advanced Logs disabled after Send Feedback Find Issue within all compressed Advanced LogsKeywords to search for issuesERRORNOTFAILCouple of items to note regarding Advanced Logs. The Advanced Logs will get disabled after you use the Send Feedback feature. So you must re-enable them to collect more. This feature will send all the logs on the device in a compressed archive So it is important to know approximately when the issue has occurred to help find the right log file. There are a couple of common keywords that you can look for that may indicate a problem. ERROR is a popular one, you will see NOT often in errors and FAIL occasionally.
46Supportability for Citrix Receivers See the Citrix Receiver Feature Matrix ents/products/citrix-receiver-feature-matrix.pdfMake sure that you are not trying to use an unsupported feature. You can ALWAYS look at the Citrix Client Feature Matrix located here. This document is frequently updated and it the final word on supportability.
48Supportability for iOS iOS Receiver Admin TroubleshootingWorkspace control feature is not supportedConnecting with a proxy is not supportedApplications might open in different sessionsLimited Support for Session Reliability✗ 2598/CGP ✗ Client Buffer ✔ Session Freeze
50Discover Store config by email Advanced Logs AnalysisVERBOSE: -[CRLaunchPadViewController changeStore:]The user in this case discovered the Store configuration by entering an address. This prompted a ChangeStore message that indicates the Store configuration has been saved on the Receiver.
51Enumerating Apps from Web Interface Advanced Logs AnalysisINFO: -[StoreManager getMobileAppEnumForStoreHere we have a user enumerating application from Web Interface. you may see this Get Mobile App Enum for Store messages duplicated and that is normal, Here you can see some of the metadata contained in that message
52Select Published Desktop icon Advanced Logs AnalysisVERBOSE: -[CRLaunchPadViewController appClicked:]Next we have a user that has selected a Published Desktop icon that was already enumerated from the XenApp Farm. You will see the App Clicked message.
53Published Desktop ICA File Advanced Logs AnalysisINFO: -The ICA: [Encoding]This is how the ICA File appears in the Advanced Logs. You will see a “The ICA” message for that.
54ICA Session begins Advanced Logs Analysis INFO: setSessionViewWasShown These are the messages that you may see when the Session starts to launch, the Set Session View messages.
55ICA Session Display Settings Advanced Logs AnalysisINFO: Session Width:You can find the Session Width in the Advanced Logs if you are dealing with a Display issue.
56User Notification Messages Advanced Logs AnalysisINFO: updateLaunchStatus: statusMessage:This can be very useful because often connection issues occur while the Notifications are running by and the user can tell where it has failed. You will see the series of Launch Status Messages.
57Session successfully loaded Advanced Logs AnalysisINFO: Settings succesfully loaded for session view Here is a message that you hope to see, it is a successful session loaded message and yes that successful typo does appear in the message.
58Receiver returns to main screen Advanced Logs AnalysisINFO: updateVideoOutThis update video out message appears whenever the user changes the view away from the ICA Session into the Receiver main area or some other application.
59User Disconnect Session Advanced Logs AnalysisVERBOSE: closeSession:And finally, this a the session close down messages when a user Disconnects the session.
60iOS Receiver crash dump iOS uses CrashReporter.crash report includes Stack TraceLocated on Synced iTunes machineMac - ~\Library\LogsWin - \AppData\Roaming\Apple computer\Logs\CrashReporter\Another important thing to know is how to get an Application dump if the Receiver crashes. iOS uses CrashReporter to collect crash dumps. The Crash report includes the Stack Trace which is one of the more critical parts of the dump. The crash report is located in the following locations from an iTunes synced PC, Mac or Windows.
61iOS Data Collected Advanced Logs - .zip of .txt Repro timing info To Summarize the data Collected from Receiver for iOS, the Advanced Logs come in a zip of text files. Since this zip includes all the logs files on the device , it is important to get the time and date that the issue occurred in thorough Repro Steps
62iOS Data Collected Advanced Logs - .zip of .txt Repro timing info Crash Reporter - .crash and .logIf a crash occurred provide the .crash and .log file.
63iOS Data Collected Advanced Logs - .zip of .txt Repro timing info Crash Reporter - .crash and .logThis is the key Diagnostic Data from the Receiver for iOS.
64iPad users are unable to connect through Access Gateway Case Study #2Case study 2,Problems connecting through Citrix Access Gateway
65iPad users are unable to connect through Access Gateway Case Study #2TroubleshootingOccurs with iOS but not Windows ReceiversOnly through Access Gateway not for Internal UsersSHA2 Certificates are on the deviceIn this Case, iPad users were able to enumerate their XenDesktops but unable to connect to them through Access Gateway Users from Receiver for Windows were able to access their Desktops through AG The issue only occurred for Access Gateway connections, Internal iPad users were able to connect. On the Netscaler they were using FIPS and the SHA2 certificate was on the iPad.Access Gateway
66iPad users are unable to connect through Access Gateway Case Study #2DebuggingNo connection attempt from VDA, so no CDF TracesAdvanced Logs captured during the failureWhat debug data can we collect in this case? Looking at the State of the VDA from the Console, there was no indication of the connection attempt on the VDA. Therefore a CDF Trace from the VDA would not be useful. So we gathered Advanced Logs from the iPad device.
67iPad users are unable to connect through Access Gateway Case Study #2DebuggingYou have not chosen to trust "Entrust Certification Authority - L1C", the issuer of the server's security certificate.In the Advanced Logs we could see this host error 183 – You have not chosen to trust “Entrust Certification Authority” the issuer of the server’s security certificate. So this tells me that it appears that the certificate is not trusted on the device. We checked the device and noticed that the certificate was trusted on the device
68iPad users are unable to connect through Access Gateway Case Study #2ResultsChecked the Citrix Client Feature MatrixFIPS/SHA2 Security is a Limitationin the Receiver for iOSSo next we checked the Citrix Client Feature Matrix and noticed that FIPS 140/SHA2 is not supported with iOS. FIPS/SHA2 was recently added to the Windows and Mac Receivers and it is on the roadmap for support in the Receiver for iOS later this year.
69iOS Receiver disconnects issues after timeout Case Study #3Case Study 3 Receiver for iOS disconnect issues
70iOS Receiver disconnects issues after timeout Case Study #3TroubleshootingOccurs only on Receivers for iOSOnly happens with Access Gateway connectionsIn this case the iOS Receiver has causing problems reconnecting to a disconnected session that timed out. What we had observed was if you let the session time out on an iPad and then attempt to click on the applications that appears successfully enumerated, we would see the following session expired message. the problem only occurred on iOS, really Android was the only comparable scenario in this case. And it only happened with Access Gateway Connections.
71iOS Receiver disconnects issues after timeout Case Study #3DebuggingObtained Advanced Logs from iOS ReceiverThis app is no longer available from the server or you are no longer permitted to access itFor this issue, we obtained an Advanced Log from the iPad Receiver and it show the App no longer available message.
72iOS Receiver disconnects issues after timeout Case Study #3ResultsDiscovered defect caching the credentials on the ReceiverFixed the code and the user now returns to logon screen after timeoutWe discovered a problem in the way we were caching the users credentials on the Receiver. We fixed this issue in version 5.7 of the iOS Receiver and after authentication times out the user returns to the logon screen instead of getting an error.
73Logcat withReceiver for AndroidReceiver for Android Logging.
74Introduction to LogCat on Android Android uses LogCat to dump system debug outputUsing Android’s Log classAndroid Receiver always sends output to LogCatPlain Text Log FileTime and Date Stamp - dd-mm-yyyy hh:mm:ssProblematic Keywords:ERROR, FATAL EXCEPTION, FAILLogCat is Android’s inherent logging system, which allows for collecting and viewing of system debug output. LogCat uses the Log class. The Receiver for Android always outputs debug messages to LogCat by default. The output is a plain text file readable file. and it does contain a time stamp, although with some logging utilities you must enable time stamps. Some problematic keywords that you may find in a Logcat log are ERROR, FAIL and FATAL EXCEPTION for crashes, which we will talk about more shortly.
75Logcat Message Tags V/ - verbose D/ - debug I/ - informational W/ - warningE/ - errorF/ - fatalS/ - silentThere are several priority tags that are used to indicate the kind of message. These are the tags in priority order.
76Two Ways of Gathering LogCat on Android Send Feedback and Request Help from SupportFrom Third Party UtilityThere are two ways of gathering Logcat logs from an Android device. we have made it very simply to collect and send just the Logcat regarding Citrix by Clicking on the Settings dots in the top right corner. The second way is a bit more cumbersome and will also include Logcat messages for all products running on the Android device and that is with a third party utility.
77Collect LogCat from Receiver for Android Send Feedback and Request Help from SupportSending LogCat logs from the Receiver is from the Settings -> Send Feedback button. Click on Request help from Support.
78Collect LogCat from Receiver for Android Request Help from SupportThat will popup an with the single Logfile included as an attachment
79Request Help from Support Email Send FeedbackThis Send Feedback feature will also collect information about the Android device that it was sent from
80Request Help from Support Email Send FeedbackYou can see it will provide versioning information including that of the Citrix Receiver
81Two Ways of Gathering LogCat on Android From LogCat utilityaLogcatThe second way to gather LogCat logs from Android is with a third party utility like aLogcat.
82aLogcat on Android Logcat utility aLogcat is a third party app for collecting LogCat logsRegular expression filteringcom.citrix&E/Citrix Receiver filtercom.citrixSend logs from aLogcat, ShareFile and moreYou can use aLogcat for collecting LogCat logs from an Android device. It uses Regular Expression filtering with ANDs and ORs. A filter for Citrix Receiver issues is simply com.citrix. and you can also send the logs directly from aLogcat via or ShareFile or more.
83Supportability of Receiver for Android Android Receiver Admin TroubleshootingColor depth limitation for sessionsWorkspace control feature is not supportedConnecting with a proxy is not supportedFull Support for Session Reliability✔ 2598/CGP ✔ Client Buffer ✔ Session Freeze
84LogCat MessagesCitrix Receiver in an LogCat log.
85Discover StoreFront LogCat Analysis Discovery document URL= Here a user discovers a StoreFront configuation via so you see the Discovery document URL.
86Successful Logon from Services Site LogCat AnalysisAuthentication successfulNext a user successfully logging on to a Services Site. You will see a Authentication successful message.
87Web Interface Site Loading LogCat AnalysisonLoadResourceNext these onLoadResource messages is what you will see in the LogCat when a Web Interface Site is loading on a Receiver for Android
88Begin ICA Launch from StoreFront legacy LogCat AnalysisDownloadIcaFileAndLaunchEngineTaskNext you will see the Download ICA File and Launch Engine Task message at the beginning of the ICA session launching from StoreFront
89Begin ICA Launch from Services Site LogCat AnalysisDownloadIcaFileAndLaunchEngineTaskHere is the ICA session launch from a Service Site and you will see the common Download ICA File and Launch Engine Task message followed by the URL and in this case you can see it is a PNAgent or Services Site URL
90User Disconnects ICA Session LogCat AnalysisProcess com.citrix.Receiver:wficaThis message can me a little misleading but this Process Citrix Receiver wfica has died message does appear on a graceful user disconnect.
91Android Receiver crash dump Android dump Stack Trace in LogCat - /EFinally, unlike iOS the Stack Trace is included in the LogCat if the Receiver does crash. We are also working on improving the log messaging from the Android Receiver so we will see more relevant messages in the future.
92Android Data Collected LogCat logRepro timing infoData Collected from Receiver for Android, the LogCat log. And again Repro Steps with the time and date that the issue occurred. The stack trace of any crashes will be included in that log.
93Unknown Error from Android connecting through AG the second time Case Study #3The last Case Study – Unknown error connecting from Android through an Access Gateway site.
94Unknown Error from Android connecting through AG the second time Case Study #3TroubleshootingOccurs only on Receivers for AndroidOccurs after one successful connectionThe user is able to launch a session successfully the first time, but the second attempt failed with the following Access Gateway error message. The problem only occurred on Android Receiver and only after the first successful connection.Access Gateway
95Unknown Error from Android connecting through AG the second time Case Study #3DebuggingNetwork Traces checked outObtained LogCat from Android ReceiverReceiver 403 response from gateway…First we verified with network with a network trace and nothing out of the ordinary appeared. Then we gathered aLogcat log while this issue occurred. and noticed the is Receiver 403 response from gateway authentication error
96Unknown Error from Android connecting through AG the second time Case Study #3ResultsDefect discovered in Android ReceiverResolved in Receiver for Android 3.1.2We had discovered a defect in the handling of the authentication in the Receiver for Android. This issue was fixed in the version of the Receiver and the user no longer experienced the issueAccess Gateway
98Citrix Connection Troubleshooting Isolate Reproduction for Data CollectionSeparate failing componentsGather and Investigate Diagnostic DataEvent Logs, Network TracesCitrix CDF TracingNote the IP info during Network TracesFocus on Working vs. Non-working DataFor common Citrix Connection issues, Isolate the reproduction, Separate the failing components and gather the appropriate data. Don’t forget to note the important metadata, like IP Addresses for Network traces. Focus on diagnostic data from a working and non-working scenario.
99Logging for iOS and Android Mobile Receiver logging is quick and easyReadable text messagesSearch logs for ICA Session Starting PointiOS- VERBOSE & CRLaunchPadViewControllerAndroid- CTX|CITRIX|RECEIVER.COMGreat new Logging feature have been added to the Citrix Mobile Receivers that have made it quick and easy. They output readable messages. Find for the start of the ICA Session by looking for these messages
100Logging for iOS and Android Search logs for problematic keywordsiOS- ERROR, NOT, FAILAndroid- ERROR, FAIL, FATAL EXCEPTIONSearch questionable messages in working logsProvide Concise Repro StepsCollect details and data for Citrix Technical SupportSearch for some of the more problematic keywords. And then search the same questionable messages in working logs to determine if they are normal messages. Take note of the concise and thorough steps taken to reproduce the issue and include timing markers when collecting data. And Finally if you need more help, zip up the network traces, CDF Traces, Receiver Logs and Repro info and send it into Citrix Technical Support. We this data in hand, we will certainly have a huge head start in getting to the bottom of your issue.
101ResourcesTroubleshooting Citrix Receiver for Mobile Devices How to Record a Network Packet Trace on a NetScaler Appliance Case Study: Troubleshooting ICA Session Disconnection with CDF and Network Traces How to Enable and Collect Advanced Logs for Receiver for iOS Case Study: Unable to Launch Applications from Android DeviceAll Resources:Troubleshooting Citrix Receiver for Mobile DevicesHow to Record a Network Packet Trace on a NetScaler ApplianceCase Study: Troubleshooting ICA Session Disconnection with CDF and Network TracesHow to Enable and Collect Advanced Logs for Receiver for iOSCase Study: Unable to Launch Applications from Android DeviceReceiver for Android TroubleshootingReceiver for iOS TroubleshootingEnable STA LoggingWeb Interface tracingHow to Decrypt SSL and TLS Traffic using WiresharkHow to Take a Network Trace on a Netscaler or Citrix Access Gateway Enterprise Edition ApplianceHow to Capture a Nstrace from the Command Line Interface in Release 9.2 and 9.3How to Record a Network Packet Trace on a Netscaler Appliance (GUI driven)How to Decrypt Traces Recorded on a Netscaler ApplianceHow to Export and use SSL Session Keys to Decrypt SSL Trace Without Sharing the SSL Private KeyCDFControlCitrix Scout
102Before you leave… Recommended related breakout sessions: SUM212: How to create a fabulous user experience with Citrix ReceiverSUM604: Enterprise mobility planning and design workshopConference surveys are available online at starting Friday, May 24 at 9:00 a.m. PTProvide your feedback by 4:00 p.m. PT that day and you’ll receive a $30 Amazon.com gift card viaDownload presentations starting Monday, June 3, from your My Conference Planning tool located within the My Account section
103Tweet about this session with #SUM405 and #CitrixSynergy