Critical section over released or corrupted |
Application Verifier break message
Critical section over-released or corrupted
There are several messages that you may receive when hitting this stop. Locks violation detected:
-
The lock <lock address> has been release more often than necessary: actual lock count <count>, expected <count>
-
Thread not supposed to be owning a lock. Number of locks owned is <count>
-
The owner of the lock is invalid, owner <owner> was expected
-
The recursion count is invalid : actual recursion count <count> - expected <count>
-
The lock had been released more that it should: actual lock count -<count> - expected <count>
Probable cause
This break is generated if a critical section is released more times than the current thread acquired it.
Information displayed by Application Verifier
Parameter1 - Critical section address. Run !cs �s address to get more information.
Parameter2 - Lock count
Parameter3 - Expected lock count
Parameter4 - Critical section debug information address
Description - Critical section over-released or corrupted
Additional information
Verifier stop code 0209.
Call Stack � current call stack where lock is being used.
Frequency of this error is high.
To debug this stop:
!cs �s parameter1 - dump information about this critical section.
!cs �s �d parameter4 - dump information about this critical section.
ln parameter1 � to show symbols near the address of the critical section. This should help identify the critical section.