Product: TIBCO Spotfire®
How to set up automatic dump capture from an unresponsive Web Player with IIS Process Orphaning.
Product: TIBCO Spotfire Web Player (incl. Consumer and Business Author)
Version: 7.5 and earlier
OS: All Supported Operating Systems
--------------------
You can automatically trigger the creation of a dump file of the Web Player using Internet Information Services (IIS) Process Orphaning in order to capture a dump file at the exact moment when an intermittent or infrequent hang or crash occurs. Example scenarios where this is useful are when you try investigating a Web Player crash or hang and a dump file is required for the investigation to determine a root cause.
Introduction
If a Web Player hangs, it would be useful to capture a dump while it's hung/unresponsive to analyze the state of all threads. It is not easy to do this manually, but can be achieved using IIS Process Orphaning. Below are the steps to set this.
Install the standard Windows Debugger
1. Go to https://msdn.microsoft.com/sv-SE/windows/desktop/bg162891 or search for "Windows Software Development Kit (SDK) for Windows" and click on "Install and download".
2. Run the installer and select the "Debugging Tools for Windows" box and clear all the other boxes. The installed debuggers will be located here (or similar path): "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64". Or search for "cdb.exe".
Setup Result Folder and Scripts
1. Create a new folder, for example: "c:\autodump\". Inside this folder, create folders "dumps" and "bin" . Be sure that there is enough free disk space.
2. Make sure that the IIS App Pool user can access the new folder structure.
3. Create the bat script "dump.bat" with the following content and save it into the "bin" folder.
@if "%_echo%"=="" echo off
setlocal
set TIMESTAMP=%DATE:~-9%_%
TIME% set TIMESTAMP=%TIMESTAMP:/=_%
set TIMESTAMP=%TIMESTAMP::=_%
set TIMESTAMP=%TIMESTAMP:.=_%
set TIMESTAMP=%TIMESTAMP: =_%
set FILENAME=c:\autodump\dumps\dump_PID_%1_%TIMESTAMP%.dmp
set LOG=c:\autodump\log.txt
set COMMAND="C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\cdb.exe" -c ".dump /mhtpFidcu /o %FILENAME%;q" -p %1
echo %DATE% %TIME% %COMMAND% >> %LOG%
echo tasklist /fi "PID eq %1" >> %LOG%
tasklist /fi "PID eq %1" >> %LOG%
%COMMAND% >> %LOG%
echo %DATE% %TIME% End dump >> %LOG%
endlocal
4. Adjust the cdb.exe path if needed.
5. Test the script in a command prompt. "c:\autodump\bin\dump.bat ", is the process ID for a Web Player process.
The result should be that a dump file is created in the folder c:\autodump\dumps\.
===================================================
Setting up the IIS to use the script
1. Open the IIS Manager.
2. Click "Advanced Settings" for the Application Pool used by Web Player.
3. Make sure that "Ping Enabled" is True and "Ping Maximum Response Time (seconds)" and "Ping Period (seconds)" are set to the values you want.
4. Enable "Process Orphaning" and point out the script like in the attached screenshot. (Filename: SENGR-HowToSetupAutomaticDumpCapturefromaNonRespondingWebPlayer-190215-1304-30.pdf) Do not forget the "Executable Parameters" field.
5. If the Web Player worker process does not respond to a ping within the ping maximum response time, the script will be called and a dump will be created. This can be tested by setting a very low ping maximum response time. Verify in the Exent Viewer, System log. There should be an event.
If all steps work, this configuration can be used to get automatic dumps for a Web Player that sometimes hangs.
Dump Configuration
The parameter "/mhtpFidcu" in the script defines what to include. Changing the parameter will give different contents to the dumps.
1. /mhtpFidcu . An attempt to include most information that may be useful when analyzing the dump, but the full memory content is not included to keep the size down.
2. /ma Include all optional content, including the full memory data.
3. If the /m___ parameter is removed, a standard minidump is generated, with more or less only the thread information included.
Note that this script generates minidumps, but a minidump captured with the /ma flag will actually contain more information than a full dump. For details, go here: https://msdn.microsoft.com/en-us/library/windows/hardware/ff552212(v=vs.85).aspx
See the attached document (Filename: SENGR-HowToSetupAutomaticDumpCapturefromaNonRespondingWebPlayer-190215-1304-30.pdf) for the procedure with screenshots.
https://msdn.microsoft.com/en-us/library/windows/hardware/ff552212(v=vs.85).aspx
Dump file, IIS crash, Web Player hang
Comments
0 comments
Article is closed for comments.