slide 2 session description this breakout session will cover troubleshooting techniques that we...
TRANSCRIPT
© 2012 Invensys. All Rights Reserved. The names, logos, and taglines identifying the products and services of Invensys are proprietary marks of Invensys or its subsidiaries. All third party trademarks and service marks are the proprietary marks of their respective owners.
WW TSS-14InTouch 2012 & Advanced Troubleshooting
Bindya ShahOctober, 2012
© Invensys 00/00/00
Invensys proprietary & confidential
Slide 3
Slide 4
Overview
• New Features in InTouch 2012
• Mind Map View 100% CPU Issue
• Process Explorer
• View Crash Causes and Solutions
Slide 5
New Features in InTouch 2012
• Smart Card• Show/ Hide Graphics• Tag Viewer• WWHeap Setting • Windows Memory Caching• CPU Affinity• Lock Window Size – Scale For Resolution• GetWindowName Script Function
Slide 6
Smart Card
InTouch utilizes the following smart card related APIs exposed by Microsoft.
Note: The AppServer xxSecurity also utilizes these APIs to support smart card authentication for the Galaxy OS authentication using smart card.
Windows Smart Card APIs will be used to detect the presence of the smart card
in the system. Refer to the following link for details:
http://go.microsoft.com/fwlink/?LinkId=93347
Microsoft Cryptographic services will be leveraged to read certificates that are
stored in the smart card. Refer to following link for details:
http://msdn.microsoft.com/en-us/library/ms925963.aspx
Slide 7
Smart Card Hardware
• C2-40 Mini Driver Smart Card
• OK 3021 USB Smart Card Readers
Slide 8
Show/Hide Graphics
• The Show/Hide Graphic script functions allow you to write ArchestrA Graphics scripts to display a symbol as a pop-up window and close the pop-up window.
• The HideGraphic script function allows you to close any ArchestrA symbol, displayed through the ShowGraphic script function.
• The HideSelf script function allows you to close the symbol, displayed by either the ShowGraphic script function or the ShowSymbol animation.
Slide 9
Show Graphic Function Structure
Dim graphicInfo as aaGraphic.GraphicInfo;
graphicInfo.Identity = "<Identity>";
graphicInfo.GraphicName = "<SymbolName>";
ShowGraphic( graphicInfo );
Slide 10
Show/Hide Graphic Script Tips and Examples
The Show/Hide Graphic script functions allow for a wide range of
scripted uses:
• Using Predefined and Named Scripts
• Working with Modal Windows
• Using Hierarchical References and Containment Relationships
• Scripting the Owning Object
• Scripting Multiple Symbols
Slide 11
Important Note on ShowGraphic Function
• The ShowGraphic function can be used in a symbol’s action script, named script and pre-defined script. Although the system allows you to include it in a server script, such as Start Up, On Scan, OffScan, Shut Down and Execute, you will not be able to execute the function at run time.
• Detailed Examples are on Tech Note 815
Slide 12
Tag Viewer
• You can start Tag Viewer only if WindowViewer is running, and Tag Viewer has been enabled at design time.
• You can launch Tag Viewer from the WindowViewer menu or from a script calling the LaunchTagViewer() function.
• The above function can be executed from any script type, except application scripts: OnStartup and OnShutdown.
• If Tag Viewer is not enabled, calling the function will not start Tag Viewer and a warning message will be logged in the logger.
• You must have adequate security privileges to run Tag Viewer
Slide 13
Tag Viewer
Slide 14
WWHEAP Memory Settings
• You can configure the wwHeap Memory settings by specifying the wwHeap size and start location. The default size, default start location, and allowable location range vary by operating system.
• The default sizes are described in the following table:
Operating System Default Size
32 – bit 1519 MB
32 – bit with /3GB switch enabled
2048 MB
64 – bit 2048 MB
Slide 15
WWHEAP Memory Settings
• The default locations and allowable location ranges are described in the following table:
Operating System Default Start Location
Allowable Range
32 –bit 0x21000000 0x00010000 to0x7FFEFFFF
32-bit with the /3GBswitch enabled
0x40000000 0x00010000 to0xBFFEFFFF
64-bit 0x80000000 0x00010000 to0xFFFEFFFF
Slide 16
WWHEAP Memory Settings Example
Slide 17
Memory Caching for WindowViewer Windows
• You can configure how WindowViewer uses memory for Windows to improve performance at run time.
• Windows can be kept in memory at run time in certain conditions to allow for fast retrieval.
• You can also specify the interval for a periodic memory health check and settings for the heap memory segment.
Slide 18
Viewer Memory Caching
• In-Memory Window Caching• Memory Limit for In-Memory Windows
• The default memory limit is 70% of process memory.
• In-Memory Window Expiration Time
• The default value is 0 hours, which designates no time limit.
• You can enter a value between 0 and 8760 hours (365 days)
• High Priority Window Caching• Enable High Priority Window Caching
This allows some windows to be marked as high priority.
• Memory Limit for High Priority Windows
• The default memory limit is 90%.
Slide 19
Viewer Memory Screen Shot
Slide 20
Core Processor Affinity for WindowViewer
Slide 21
Lock Window Size
Slide 22
Expose Window Name Property
• GetWindowName script function enables the user to retrieve the name of the window under which the function has been called.
• The syntax of the script function is as follows:
Resultcode = GetWindowName(tagname);
• Resultcode indicates the success or failure of the script function. The resultcode can be a Discrete/Integer/Real data type.
• Resultcode will be 1 or 0, based on the success or failure of the script function: • Resultcode is 1 when the script function is called from window context.
• Resultcode is 0 when the script function is called from non-window context.
Slide 23
Advanced Troubleshooting Techniques
Slide 24
Issue 1: View %100 CPU
Does WindowViewer seem like it is running in an infinite loop?
Slide 25
Issue 1: View 100% CPU
SR 44210117 – Happens several times a day on all InTouch Deployed Apps.
Slide 26
Issue 1 - Mind Map for View 100% CPU issue
Slide 27
Issue 1 - Mind Map a way to share the history of a complicated issue
Let’s compare
Call Tracking Database
Text Summary
Mind Map
Slide 28
28 Pages long!
Issue 1 - Mind Map a way to share the history of a complicated issue
Slide 29
Issue 1 - Mind Map a way to share the history of a complicated issue
Can use this to share the history of a case with:• Colleagues• Development• System Integrator• Distributor• Customer• Management• OR use for training a new Engineer
Slide 30
Issue 1: Tools/Techniques used in this SR
• Increase WWHeap – Must use GUI for InTouch 10.5 not the old Registry settings
• Process Explorer
• Log Viewer
• ArchestrA Symbol Analysis and Repair Tool for SP 2012 – not posted on WDN; has not helped any customers as far as we know; use older version of tool before migration to SP 2012
• Performance Monitor - Tech Note 868
• Event Viewer
• Galaxy Backup to view InTouch app
• Rebuild App with Tech Note 570
• Qslice
• Dump
Slide 31
Issue 1: Options to Create Dump
• Tech Note 726 Capturing a Memory Dump File Using the Microsoft® Debug Diagnostic Tool (32bit)
• Tech Note 793 Capturing a Memory Dump File Using the Microsoft® Debug Diagnostic Tool (64bit)
• Process Explorer version 15.13 or later. Right click on the process and select Dump.
Slide 32
Issue 1: Which View Thread is consuming the most CPU?
Option 1 – Use Qslice
Option 2 – Use Process Explorer
Slide 33
Issue 1: QSliceCPU Stress – an internal utility Qslice – free download from Microsoft
Double click the process to show the threads
Slide 34
Issue 1: Process Explorer• Right click on the Process• Select Properties• Click on the Threads tab
Slide 35
Issue 1: Process Explorer Demo
• Free download from Microsoft
• Show how to identify AppEngine name
Slide 36
Issue 2: View freezes
Is View frozen?
Slide 37
Issue 2: View freezes when Alarm occurs
Use WindowMaker File/Print to print all scripts to file
Caused by Application While Running Script
PlaySound( "C:\Windows\Media\Afternoon\Windows Notify.wav", 0 );
Slide 38
Issue 2: Print Scripts to File
Slide 39
Issue 3: Suitelink Suspends and Resumes
Usually caused by high CPU
One customer – due to PlaySound playing a wave file
One customer - caused by the aaflexlic dll for a hardware key
Slide 40
Issue 4: View crashes
Slide 41
Issue 4: Event Viewer for View Crash and Hang
Slide 42
Issue 4: View Crash Causes / Solutions
Cause #1: WWHeap conflict or Out of Memory. Look for WWHeap messages in Log Viewer or Event Viewer
Solution #1: Increase WWHeap Memory (Tech Note 768) or in Node Properties for InTouch 10.5
Cause #2: Not having the latest InTouch Service Pack and patch installed.
Cause #3: Running View on a non-supported OS / Service Pack.
Solution #3: Check the InTouch Readme for supported OS
Cause #4: View out of memory
Solution #4: Verify with Performance Monitor. Isolate to individual windows or window combinations
Slide 43
Issue 4: View Crash Causes / SolutionsCause #5: Scripting. Application While Running script causing resource
issue or an individual script causing a crash.
Solution #5: Isolate down to individual script. Print scripts to file for analysis.
Cause #6: View caused an invalid page fault in module CBTREENT.dll.
Solution #6: Corrupt InTouch History Files. Isolate to individual day causing the problem.
Cause #7: Corrupt window or InTouch App
Solution #7: Recompile the app OR rebuild the app (Tech Note 570 for Managed Apps, Tech Note 774 for Standalone apps)
Use Crash Dump if still unresolved
Slide 44
Issue 5: Handle Leaks
What can happen when there is a handle leak?
Slide 45
Issue 5: aaGR Handle Leak causes View Crash
• Various SP 2012 customers reporting View crash due to aaGR Handle Leak (34657 handles in one case)
• The scenario is that the ArchestrA Galaxy Repository is installed, but the node is just being used as an InTouch Runtime.
• Hotfix CR L00121244
• Number of Handles used by process. Seen with Task Manager, Process Explorer or Wonderware Tech Support Info Tool
• Demo of Wonderware Tech Support Info Tool and Performance Monitor in session “TSS 10 – WAS Advanced Troubleshooting”
Slide 46
Questions ?
THANK YOU