|
iPlanet Application Server 6.x: Context Roots and Servlet Mappings
Printer Friendly Version
Analyzing Deadlocks Using the Solaris[tm] Operating Environment CAT
by Anshul Sarin
(April, 2003)
We want to hear from you! Please send us your
FEEDBACK.
The following article may contain actual software programs in source code form. This source code is made available for
developers to use as needed, pursuant to the terms and conditions of this
license.
Table of Contents
Overview
Example 1: mutex Deadlock
Thread Summary
Threads on mutex
mutex Details
Deadlock Detection
Broad Steps
Example 2: Deadlock on
a Single Reader/Writer Lock
Sleeping
Threads and System Memory
Process Details
Memory Instructions and Arguments
vnode and rnode Structures
rwlock details
Broad Steps
Example 3: Reader/Writer
Lock and mutex Deadlock
Thread
Summary
mutex and Its Owner
rwlock and the Threads
Current rwlock Lock Holder
Deadlock Detection
Broad Steps
Overview
Sun recently released the Solaris[tm] Operating Environment (OE) Crash Analysis Tool
(CAT) to
help analyze Solaris OE system core files. This tool can be downloaded from:
http://www.sun.com/software/download/products/Solaris_Crash_Analysis_Tool.html.
The purpose of this document is to explain how CAT can be
used to analyze deadlock-related system crash dumps. We will discuss Solaris OE
CAT macros for retrieving information from system crash dumps, such as
values of structure members, details about threads, locks,
their owners, etc. This document will also discuss how to correlate the information retrieved
from Solaris OE CAT macros to analyze the cause of system crashes/hangs.
Some basic knowledge about Solaris OE internals would help the reader understand
the topics presented in this document. To get a good overview of Solaris OE
internals, refer to Solaris Internals Core Kernel Architecture,
by Jim Mauro and Richard Mc Dougall, found at http://www.sun.com/books/catalog/mauro/
.
Next
DOC ID 1831
|