---
title: "Deadlock detectors"
url: "https://osherove.com/blog/2008/8/2/deadlock-detectors.md"
canonical: "https://osherove.com/blog/2008/8/2/deadlock-detectors.html"
published: "2008-08-02T10:12:00"
updated: "2008-08-02T10:12:00"
tags: [".NET", ".Net 2.0", "Cool Tools", "Threading"]
author: "Roy Osherove"
description: "This is a pretty interesting approach to a deadlock detector: It uses sos (son of strike debugger) and automates it under the covers and parses its output to discover runtime deadlocks on processes. At the comments…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Deadlock detectors

By Roy Osherove August 2, 2008 In [.NET](https://osherove.com/blog/category/net), [.Net 2.0](https://osherove.com/blog/category/net-2-0), [Cool Tools](https://osherove.com/blog/category/cool-tools), [Threading](https://osherove.com/blog/category/threading)

**Historical article** · Originally published August 2, 2008; technical details may be outdated.

[This is a pretty interesting approach](http://www.acorns.com.au/blog/?p=129) to a deadlock detector: It uses [sos](http://msdn.microsoft.com/en-us/magazine/cc164138.aspx)  (son of strike debugger) and automates it under the covers and parses its output to discover runtime deadlocks on processes. At the comments there is a [reference to something similar](http://www.stevestechspot.com/SOSEXANewDebuggingExtensionForManagedCode.aspx).

Unlike the [upcoming Typemock racer](http://weblogs.asp.net/rosherove/archive/2008/07/08/a-sneak-preview-of-typemock-racer.aspx) (which should be out around mid august), these tools only find deadlocks that occur at runtime, but will not provoke the code into creating deadlocks. that is, the possibility of finding a deadlock that only happens about once in two days in an application using these tools is just about … every couple of days, since it is using the standard process of the application (as far as I can see from the code).

The idea in [racer](http://weblogs.asp.net/rosherove/archive/2008/07/08/a-sneak-preview-of-typemock-racer.aspx) is that it will run all permutations of thread race conditions until it finds a deadlock. so either it finds it, or there isn’t one.

## More in .NET

[All posts in .NET](https://osherove.com/blog/category/net)

- Aug 3, 2008

    ### [Before testing an addin - Reset Visual Studio’s previous addin knowledge](https://osherove.com/blog/2008/8/3/before-testing-an-addin-reset-visual-studios-previous-addin.html)

- Aug 2, 2008

    ### [Declarative Visual Studio addin buttons with icons](https://osherove.com/blog/2008/8/2/declarative-visual-studio-addin-buttons-with-icons.html)

- Aug 2, 2008

    ### [Howto: Set custom Visual Studio Addin menu icons without a satellite dll](https://osherove.com/blog/2008/8/2/howto-set-custom-visual-studio-addin-menu-icons-without-a-sa.html)

- Jul 15, 2008

    ### [Configuration via Typemock Interception](https://osherove.com/blog/2008/7/15/configuration-via-typemock-interception.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
