|
Last modified: 28 Dec 2007
WARNING: This documentation covers Parallels H-Sphere versions up to 3.1. For the latest up-to-date Parallels H-Sphere documentation, please proceed to the
official Parallels site.
Understanding Winbox Crash Reporting
H-Sphere Winbox writes unhandled exceptions to files
iis.log and hssvc.log that are located in the
<H-Sphere dir>\logs\crash directory.
The messages written to these logs aren't very informative
and are barely helpful in debugging unless you install the pdb
package that complements error logs with detailed debug information.
To install the pdb package, see how to update Winbox to the
latest stable version.
The pdb package can send crash reports to Positive Software support - the installer will prompt you for the
SMTP server.
Crash Record File Structure
Each crash record file is of the following structure:
- the 1st line contains a crash date and crash description;
- the rest of the lines contain a crash stack.
Example:
[26.07.2004 / 16:36:33] Thread: 27904; Access violation occurred in module inetinfo (image )
at RtlAllocateHeap() in :line 0 (in module ntdll)
at () in :line 0 (in module htaccess)
at () in :line 0 (in module htaccess)
at () in :line 0 (in module htaccess)
at ?BuildURLMovedResponse@HTTP_REQ_BASE@@QAEHPAVBUFFER@@PAVSTR@@KH@Z() in :line 0 (in module w3svc)
at ?BuildURLMovedResponse@HTTP_REQ_BASE@@QAEHPAVBUFFER@@PAVSTR@@KH@Z() in :line 0 (in module w3svc)
at ?ResetSSLInfo@W3_SERVER_INSTANCE@@SGXPAX@Z() in :line 0 (in module w3svc)
at ?Disconnect@CLIENT_CONN@@QAEXPAVHTTP_REQ_BASE@@KKHPAH@Z() in :line 0 (in module w3svc)
at ?ScanForTerminator@@YGPAEPBD@Z() in :line 0 (in module w3svc)
at ?Copy@STR@@QAEHPBDK@Z() in :line 0 (in module w3svc)
at ?RemoveEntry@CDirMonitor@@QAE?AW4LK_RETCODE@@PAVCDirMonitorEntry@@@Z() in :line 0 (in module ISATQ)
at () in :line 0 (in module )
Each crash stack line may contain:
- information about the function being executed when the crash occurred;
- source information, such as a source file's name and line's number
* Note: to record H-Sphere module's source information
the pdb package is required (see how to update Winbox to the
latest stable version).
- module name containing crashed function
Detecting Crashes in H-Sphere and non H-Sphere Modules
The name of the module in the crash stack line indicates
which module the crash occurred in. In the example above
(in module htaccess) indicates that the crash occurred in H-Sphere module.
An empty module file's name, for example (in module) indicates that
the crash occurred in the main module.
When a crash occurs in any module, the crash report framework
generates an exception containing information about the crash.
A crash in H-Sphere module will trigger
the exception and a record with H-Sphere module name will be written to the report file,
for example (in module htaccess).
As non H-Sphere modules can't catch the exception generated
by the crash report framework, it will return back
to crash report as "C++ exception" and will be registered
in the crash report file immediately after the initial crash record.
In this case two records will be written into the report file:
the initial crash record and the "C++ exception" record
as shown in the following example:
[26.07.2004 / 16:36:33] Thread: 3432; Access violation occured in module w3wp (image )
at () in :line 0 (in module )
[26.07.2004 / 16:36:33] Thread: 3432; C++ exception occured in module w3wp (image )
at RaiseException() in :line 0 (in module kernel32)
at () in :line 0 (in module htaccess)
at () in :line 0 (in module htaccess)
at UnhandledExceptionFilter() in :line 0 (in module kernel32)
at FlsSetValue() in :line 0 (in module kernel32)
Two records with the same crash date, time and crash description
indicate that the crash occurred in a non H-Sphere module.
* Note: the time for the second record can differ by several seconds.
|