MustGather information for web server crashes (Windows)


System preparation

If you have not previously setup the Dr.Watson tool to save information about program crashes then refer to 'MustGather setup of error reporting tools for Windows' for information on performing this setup. This setup step must be performed prior to recreating the crash. Make sure you are aware of the directory into which the tool will save the log and dump data.

Remove any existing Dr.Watson log and crash files from its output directory (after backing up as appropriate).


Obtaining information after the crash occurs

These steps must be performed after the crash occurs.

  1. Gather general system and web server information.

    This information is gathered by running the ihsdiag ServerDoc DescribeConfig tool as described by the instructions in the System and web server information tool documentation.
    This will result in a directory of information named 'ServerConfig.timestamp'.
    That directory should be zipped and sent to IBM using the provided instructions after completing the following steps for obtaining additional information.

  2. Crash information

    Copy the data saved by the Windows error reporting tool (i.e. Dr.Watson), if it exists, into the 'ServerConfig.timestamp' directory.
    These files should be located in the Dr.Watson output directory(s) that were configured in the System preparation section above.
    The data files will usually be named drwtsn32.log and user.dmp.

  3. Any additional error or access log files that might be available.

    The access.log and error.log files will be automatically gathered by the ServerDoc DescribeConfig tool used above, but if the configuration file has been changed to specify differently named log files then you should copy these log files from the IHS_install_root\logs\ directory to the 'ServerConfig.timestamp\files\logs' directory.

  4. WebSphere plug-in trace file

    The actual location is specified in plugin-cfg.xml and is generated by configuring LogLevel="Trace".
    Example:

          c:\WebSphere\AppServer\logs\http_plugin.log
          
  5. Event Viewer information

Recap of information to send to IBM support:

Create a zip file of the 'ServerConfig.timestamp' directory as described in the System and web server information tool documentation. Send this ServerConfig.timestamp.zip containing the following to IBM support for analysis:

Instructions to send diagnostic information to IBM support.


Known Windows crashes:

drwtsn32.log crashes:

In order to identify a known crash from drwtsn32.log, first open the log file in a text editor, e.g. notepad.exe. Move to the bottom of the file, then select Edit/Find, check Match-case, select Direction-Up, and enter the Find-what text "FAULT" (do not include the quotes).

Known crashes can be identified by looking for the text indicated below. It will be either close to the FAULT pointer or in the Function Name of the Stack Back Trace just below the FAULT pointer.

Search text Problem Resolution
ap_die IHS 2.0.42.2: Fixed in APAR PQ85834
IHS 2.0.47: Fixed in IHS 2.0.47.1
gsk_attribute_get_data Fixed in mod_ibm_ssl (not GSKit) at current recommended service levels
In theory could happen on other platforms but so far the crash has only been seen on Windows
gsk_attribute_get_cert_info FPK59158, fixed in Plugin 6.1.0.17 and later
mod_ibm_ssl!updateLibpath PK91197 (IHS 6.0 and 6.1 only)

Other Known Windows crashes:

IHS fails to start when LDAPCodepageDir is configured

If there is a copy of the IBM LDAP Client or Server library already installed on the same machine as IHS it may have configured the TISDIR variable in the Windows environment. This conflicts with the IHS LDAPCodepageDir directive and may cause IHS to crash without any error or Windows event being logged. If if it is an older version which is no longer required, it is recommended that the IBM LDAP libraries be uninstalled in order to delete the TISDIR environment variable. If that is not possible then the LDAPCodePageDir directive must be removed and the default IHS LDAP codepage directory used.

IHS crashes on startup, or on restart when MaxRequestsPerChild is reached

Certain third party software may add a Winsock Service Provider layer which sits between IHS and the TCP/IP network. If this software does not implement some of the Microsoft advanced Winsock functions correctly, such as AcceptEx, it may cause IHS to crash on startup or restart. A possible fix is to add the "Win32DisableAcceptEx" directive to the IHS configuration file. Setting "MaxRequestsPerChild 0" (the recommended default) may also eliminate the crashes. This crash may be accompanied by the following message in the error log:

[warn] (OS 10038)An operation was attempted on something that is not a socket.  
: setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed.