Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging

The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.

Check out The OSR Learning Library at:

Service hang with Critical section lock

parsaparsa Member Posts: 67
edited April 2021 in WINDBG

Hi All,

I am debugging a service hang issue where critical section is being used as synchronization object between threads. I have taken the service memory dump file after it hangs.
When I run the !locks command in the dump file, it lists one CS having Lock count 7 as shown below. When I want to see the stack of the thread that is holding the CS, I see only one function in the stack and that thread is also waiting for an object. How can get full call stack of this thread to check what it is waiting for?

95 Id: af8.3aa8 Suspend: -1 Teb: 000007ffffee8000 Unfrozen # Child-SP RetAddr : Args to Child : Call Site 00 0000000017caf958 0000000000000000 : 000000004ea4718c 0000000077591b06 0000000000000000 00000000`00000000 : ntdll!ZwWaitForSingleObject+0xa

CritSec lib!g_critsec+0 at 000007fecda9bcb8
WaiterWoken No
LockCount 7
RecursionCount 1
OwningThread 3aa8
EntryCount 0
ContentionCount 31010
*** Locked



Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Internals & Software Drivers 19-23 June 2023 Live, Online
Writing WDF Drivers 10-14 July 2023 Live, Online
Kernel Debugging 16-20 October 2023 Live, Online
Developing Minifilters 13-17 November 2023 Live, Online